SWM-99-degree / jaribean-fastapi

0 stars 1 forks source link

[Refact] Postman test #31

Closed psy-choi closed 1 year ago

psy-choi commented 1 year ago

목표

확인할 API

psy-choi commented 1 year ago

POST /api/matching

image

요청 성공!

psy-choi commented 1 year ago

POST /api/matching/lambda

image

성공!

psy-choi commented 1 year ago

PUT /api/matching/noshow

image

변경 사항 result.status -> result['status']

if result['status'] != "PROCESSING":
        raise HTTPException(status_code=400, detail= "매칭에 대한 처리가 이미 진행되었습니다.")

MongoDB의 데이터를 가져올 때에는 하나의 dict 타입으로 가져오게 된다.

psy-choi commented 1 year ago

PUT /api/matching/complete

image

DB에서 변경되는 것 확인

psy-choi commented 1 year ago

Issue - byte 형태로 가져오는 이슈

Redis 파일을 직접 가져오게 되면 byte 형태로 나타나는 오류를 알게 되었습니다. 그래서 해당 Redis의 파일을 가져오기 위해서 utf-8으로 디코딩 해주는 과정을 추가하였습니다.

image

실제로 터미널에 저렇게 찍혔습니다.

psy-choi commented 1 year ago

POST /api/matching/cafe

카페에 어떤 매칭에 대해서 수락을 누를 경우의 경우이다. 실제로 사용자 firebase에 수락이 되었다고 정보가 들어온 것을 볼 수 있다.

direction : cancel

로 요청이 온 것을 봤을 때 취소도 확실히 된 것을 확인할 수 있었다.

psy-choi commented 1 year ago

시간이 만료되어서 사용자에게 취소 FCM을 보낸 경우

image

"direction" : "cancel"

위 코드를 통해서 취소가 확실히 된 것을 확인할 수 있었다.

psy-choi commented 1 year ago

DELETE /api/matching/before

  1. redisset의 삭제

    image
  2. 카페에게 fcm로 취소 되었음을 알린다. image

psy-choi commented 1 year ago

PUT /api/matching/after

  1. 90초 이내에 취소를 보냈을 경우 image

  2. 90초 이후에 취소를 보냈을 경우 image

  3. DB에서 cancel로 바뀌는 것 확인

    image
  4. issue

    • main.py
      if current_time - matching["matchingTime"]> datetime.timedelta(seconds=10):
      # TODO 결제 모듈
      return MyCustomResponse(1, "매칭 거절에 성공했습니다! 보증금이 환급되지 않습니다.")
      else:
      return MyCustomResponse(1, "매칭 거절에 성공했습니다! 보증금이 환급됩니다.")

      실제로 matching의 matchingTime과 현재 시간은 'datetime'에 해당하는데, 해당 데이터 타입을 연산하는 기본 단위가 datatime.timedelta 라고 한다.

psy-choi commented 1 year ago

DELETE /api/matching/cafe

  1. 실제로 삭제된 것을 볼 수 있다.

    • 원래 2개의 카페의 id가 있어야 하는데 삭제 된 모습을 볼 수 있다. image
  2. 모든 카페에서 해당 api를 눌렀을 경우 image

psy-choi commented 1 year ago

All Clear