Skip to content

docs: 백엔드 리드미 추가 (#837) #157

docs: 백엔드 리드미 추가 (#837)

docs: 백엔드 리드미 추가 (#837) #157

GitHub Actions / Test Results succeeded Oct 24, 2024 in 0s

All 174 tests pass in 5s

174 tests   174 ✅  5s ⏱️
 47 suites    0 💤
 47 files      0 ❌

Results for commit cc62048.

Annotations

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Test Results

174 tests found

There are 174 tests, see "Raw output" for the full list of tests.
Raw output
com.ody.auth.JwtTokenProviderTest$isAccessTokenUnexpired ‑ 만료된 액세스 토큰이면 False를 반환한다.
com.ody.auth.JwtTokenProviderTest$isAccessTokenUnexpired ‑ 유효하고 만료되지 않은 액세스 토큰이면 True를 반환한다.
com.ody.auth.JwtTokenProviderTest$isAccessTokenUnexpired ‑ 유효하지 않은 액세스 토큰이면 400 예외가 발생한다.
com.ody.auth.JwtTokenProviderTest$isRefreshTokenUnexpired ‑ 만료된 리프레시 토큰이면 False를 반환한다.
com.ody.auth.JwtTokenProviderTest$isRefreshTokenUnexpired ‑ 유효하고 만료되지 않은 리프레시 토큰이면 True를 반환한다.
com.ody.auth.JwtTokenProviderTest$isRefreshTokenUnexpired ‑ 유효하지 않은 리프레시 토큰이면 400 예외가 발생한다.
com.ody.auth.JwtTokenProviderTest$parseAccessToken ‑ 만료되지 않은 액세스 토큰을 파싱한다.
com.ody.auth.JwtTokenProviderTest$parseAccessToken ‑ 만료된 액세스 토큰을 파싱한다.
com.ody.auth.JwtTokenProviderTest$parseAccessToken ‑ 유효하지 않은 액세스 토큰을 파싱하면 400 예외가 발생한다.
com.ody.auth.JwtTokenProviderTest$validateAccessToken ‑ [1] accessToken=com.ody.auth.token.AccessToken@510bd513
com.ody.auth.JwtTokenProviderTest$validateAccessToken ‑ [2] accessToken=com.ody.auth.token.AccessToken@4f94f80d
com.ody.auth.JwtTokenProviderTest$validateAccessToken ‑ 유효하고 만료되지 않은 액세스 토큰이면 예외가 발생하지 않는다.
com.ody.auth.controller.AuthControllerTest$authKakao ‑ [1] authRequest=AuthRequest[deviceToken=null, providerId=pId, nickname=nickname, imageUrl=imageUrl]
com.ody.auth.controller.AuthControllerTest$authKakao ‑ [2] authRequest=AuthRequest[deviceToken=deviceToken, providerId=null, nickname=nickname, imageUrl=imageUrl]
com.ody.auth.controller.AuthControllerTest$authKakao ‑ [3] authRequest=AuthRequest[deviceToken=deviceToken, providerId=pId, nickname=null, imageUrl=imageUrl]
com.ody.auth.controller.AuthControllerTest$authKakao ‑ [4] authRequest=AuthRequest[deviceToken=deviceToken, providerId=pId, nickname=nickname, imageUrl=null]
com.ody.auth.controller.AuthControllerTest$authKakao ‑ 비회원이 로그인하면 200을 반환한다.
com.ody.auth.controller.AuthControllerTest$authKakao ‑ 회원이 로그인하면 200을 반환한다.
com.ody.auth.controller.AuthControllerTest$refreshAccessToken ‑ 만료되지 않은 액세스 토큰으로 액세스 토큰 갱신하면 200을 반환한다.
com.ody.auth.controller.AuthControllerTest$refreshAccessToken ‑ 만료된 액세스 토큰, 유효한 리프레시 토큰으로 액세스 토큰 갱신하면 200을 반환한다.
com.ody.auth.controller.AuthControllerTest$refreshAccessToken ‑ 만료된 액세스, 리프레시 토큰으로 액세스 토큰 갱신하면 401을 반환한다.
com.ody.auth.controller.AuthControllerTest$refreshAccessToken ‑ 유효하지 않은 리프레시 토큰으로 액세스 토큰 갱신하면 400을 반환한다.
com.ody.auth.controller.AuthControllerTest$refreshAccessToken ‑ 유효하지 않은 액세스 토큰으로 액세스 토큰 갱신하면 400을 반환한다.
com.ody.auth.domain.AuthorizationHeaderTest ‑ [1] rawAuthorizationHeader=Bearer access-token=accessToken
com.ody.auth.domain.AuthorizationHeaderTest ‑ [2] rawAuthorizationHeader=access-token=accessToken refresh-token=refreshToken
com.ody.auth.domain.AuthorizationHeaderTest ‑ [3] rawAuthorizationHeader=Bearer access-token=accessToken&refresh-token=refreshToken
com.ody.auth.domain.AuthorizationHeaderTest ‑ [4] rawAuthorizationHeader=Bearer refresh-token=refreshToken
com.ody.auth.domain.AuthorizationHeaderTest ‑ 유효한 AuthorizationHeader를 생성한다.
com.ody.auth.service.AuthServiceTest$LogoutTest ‑ 성공 : 유효한 액세스 토큰
com.ody.auth.service.AuthServiceTest$LogoutTest ‑ 실패 : 만료된 액세스 토큰으로 로그아웃 시도 시 401을 반환한다
com.ody.auth.service.AuthServiceTest$LogoutTest ‑ 회원이 이미 로그아웃 상태더라도 200을 반환한다
com.ody.auth.service.KakaoAuthUnlinkClientTest ‑ 카카오 연결 끊기 성공
com.ody.auth.service.KakaoAuthUnlinkClientTest ‑ 카카오 연결 끊기 실패
com.ody.auth.service.KakaoAuthUnlinkClientTest ‑ 카카오 연결 끊기 재시도
com.ody.common.mapper.TimeSerializerTest ‑ LocalTime은 나노초를 절삭하여 직렬화된다
com.ody.common.validator.FutureOrPresentDateTimeValidatorTest ‑ [1] date=2024-10-25, time=01:05:52.347142442, expected=false
com.ody.common.validator.FutureOrPresentDateTimeValidatorTest ‑ [2] date=2024-10-25, time=02:05:52.347189310, expected=true
com.ody.common.validator.FutureOrPresentDateTimeValidatorTest ‑ [3] date=2024-10-25, time=00:05:52.347173891, expected=false
com.ody.common.validator.FutureOrPresentDateTimeValidatorTest ‑ [4] date=2024-10-26, time=01:05:52.347142442, expected=true
com.ody.common.validator.SupportRegionValidatorTest ‑ [1] latitude=37.505713, longitude=127.050691, expected=true
com.ody.common.validator.SupportRegionValidatorTest ‑ [2] latitude=37.694802, longitude=126.318463, expected=true
com.ody.common.validator.SupportRegionValidatorTest ‑ [3] latitude=37.291015, longitude=127.724058, expected=true
com.ody.common.validator.SupportRegionValidatorTest ‑ [4] latitude=36.747167, longitude=127.418673, expected=false
com.ody.common.validator.SupportRegionValidatorTest ‑ [5] latitude=38.099416, longitude=127.979525, expected=false
com.ody.common.validator.SupportRegionValidatorTest ‑ [6] latitude=39.031896, longitude=125.769334, expected=false
com.ody.common.validator.SupportRegionValidatorTest ‑ 행방불명 좌표(0.0)는 true를 반환한다
com.ody.eta.domain.EtaStatusTest ‑ ARRIVAL_SOON: 현재시간 < 약속시간  & 도착예정시간 <= 약속시간
com.ody.eta.domain.EtaStatusTest ‑ ARRIVED : isArrived == true
com.ody.eta.domain.EtaStatusTest ‑ LATE : 현재시간 >= 약속시간  & 도착예정시간 > 약속시간
com.ody.eta.domain.EtaStatusTest ‑ LATE_WARNING : 현재시간 < 약속시간  & 도착예정시간 > 약속시간
com.ody.eta.domain.EtaStatusTest ‑ MISSING : 위치추적 불가여부가 true
com.ody.eta.domain.EtaTest ‑ Eta의 소요시간이 수정되었다면 true를 반환한다.
com.ody.eta.domain.EtaTest ‑ Eta의 소요시간이 수정되었지 않았다면 false 반환한다.
com.ody.eta.domain.EtaTest ‑ 남은 시간을 카운트 다운 한다.
com.ody.eta.domain.EtaTest ‑ 지각할 예정이 아니라면 false를 반환한다.
com.ody.eta.domain.EtaTest ‑ 지각할 예정이라면 true를 반환한다.
com.ody.eta.repository.EtaRepositoryTest ‑ Eta를 삭제(soft delete)한다.
com.ody.eta.repository.EtaRepositoryTest ‑ 삭제된 Eta는 조회하지 않는다.
com.ody.eta.repository.EtaRepositoryTest ‑ 특정 약속 참여자들의 Eta 목록을 반환한다
com.ody.eta.service.EtaServiceTest ‑ 현재 시간 <= 약속 시간 && 직선거리가 300m 이내 일 경우 도착 상태로 업데이트한다.
com.ody.eta.service.EtaServiceTest$OdsayCallTest ‑ 약속 시간 30분 전에 첫번째 오디세이 호출이 시작된다
com.ody.eta.service.EtaServiceTest$OdsayCallTest ‑ 오디세이를 호출한지 10분이 지나지 않았다면 오디세이를 호출하지 않는다.
com.ody.eta.service.EtaServiceTest$OdsayCallTest ‑ 오디세이를 호출한지 10분이 지났다면 새로운 소요시간을 오디세이로부터 응답받는다
com.ody.mate.repository.MateRepositoryTest ‑ 멤버가 참여하고 있는 모든 mate를 찾는다.
com.ody.mate.repository.MateRepositoryTest ‑ 모임 ID로 모임 참여자를 찾는다
com.ody.mate.repository.MateRepositoryTest ‑ 약속 아이디로 약속 인원 수를 찾는다.
com.ody.mate.repository.MateRepositoryTest ‑ 약속 아이디와 멤버 아이디로 메이트를 찾는다.
com.ody.mate.repository.MateRepositoryTest ‑ 참여자를 삭제(soft delete)한다.
com.ody.mate.service.MateServiceTest ‑ 약속에 참여하고 있는 mate를 약속 방에서 삭제한다.
com.ody.mate.service.MateServiceTest ‑ 약속에 참여하고 있는 회원이 아니면 예외가 발생한다.
com.ody.mate.service.MateServiceTest ‑ 참여자 삭제 시, 구독하고 있는 fcmTopic 취소힌다.
com.ody.mate.service.MateServiceTest ‑ 회원 삭제 시, 구독하고 있는 모든 fcmTopic을 취소한다.
com.ody.mate.service.MateServiceTest ‑ 회원이 참여하고 있는 특정 약속의 참여자 리스트를 조회한다.
com.ody.mate.service.MateServiceTest$NudgeTest ‑ 3분 뒤 약속에 약속장소에 도착하여 Eta상태가 도착인 mate를 재촉하면 예외가 발생한다
com.ody.mate.service.MateServiceTest$NudgeTest ‑ 같은 약속 참여자가 아니라면 재촉할 수 없다
com.ody.mate.service.MateServiceTest$NudgeTest ‑ 약속 30분 이후까지 mate를 재촉할 수 있다
com.ody.mate.service.MateServiceTest$NudgeTest ‑ 약속 30분 이후에는 mate를 재촉할 수 없다
com.ody.mate.service.MateServiceTest$NudgeTest ‑ 약속이 1분 뒤이고 소요시간이 2분으로 Eta상태가 지각 위기인 mate를 재촉할 수 있다
com.ody.mate.service.MateServiceTest$NudgeTest ‑ 약속이 3분 뒤이고 소요시간이 2분으로 Eta상태가 도착 예정인 mate를 재촉하면 예외가 발생한다
com.ody.mate.service.MateServiceTest$NudgeTest ‑ 약속이 지금이고 소요시간이 2분으로 Eta상태가 지각인 mate를 재촉할 수 있다
com.ody.mate.service.MateServiceTest$saveAndSendNotifications ‑ 하나의 약속에 동일한 닉네임을 가진 참여자가 존재할 수 있다.
com.ody.mate.service.MateServiceTest$saveAndSendNotifications ‑ 하나의 약속에 동일한 회원이 존재할 수 없다.
com.ody.meeting.controller.MeetingControllerTest ‑ 로그 목록 조회에 성공하면 200응답 반환한다
com.ody.meeting.controller.MeetingControllerTest ‑ 모임 개설 성공 시, 201을 응답한다
com.ody.meeting.controller.MeetingControllerTest ‑ 유효하지 않은 초대 코드일 경우 404 에러를 반환한다.
com.ody.meeting.controller.MeetingControllerTest ‑ 특정 멤버의 참여 모임 목록 조회에 성공하면 200응답 반환한다
com.ody.meeting.controller.MeetingControllerTest$EtaTest ‑ MISSING 상태인 참여자만 MISSING 상태를 반환한다.
com.ody.meeting.controller.MeetingControllerTest$EtaTest ‑ 위치 권한을 껐을 때는 MISSING, 다시 켰을 때는 정상 상태와 소요시간을 반환한다
com.ody.meeting.controller.MeetingControllerTest$EtaTest ‑ 참여자들의 위치 현황 목록 성공하면 200응답 반환한다
com.ody.meeting.domain.CoordinatesTest ‑ [1] rawCoordinate=
com.ody.meeting.domain.CoordinatesTest ‑ [2] rawCoordinate=   
com.ody.meeting.domain.CoordinatesTest ‑ [3] rawCoordinate=abc
com.ody.meeting.domain.CoordinatesTest ‑ [4] rawCoordinate=1a2.456
com.ody.meeting.repository.MeetingRepositoryTest ‑ 약속 기한이 지나지 않은 모임방을 조회한다.
com.ody.meeting.repository.MeetingRepositoryTest ‑ 약속 날짜가 오늘 이전인 약속들의 overdue 상태를 true로 변경한다
com.ody.meeting.repository.MeetingRepositoryTest ‑ 오늘 약속의 기한이 지난 약속 리스트들을 조회한다
com.ody.meeting.repository.MeetingRepositoryTest ‑ 존재하는 초대코드인지 확인한다.
com.ody.meeting.repository.MeetingRepositoryTest ‑ 초대코드로 약속을 조회한다.
com.ody.meeting.repository.MeetingRepositoryTest ‑ 특정 멤버의 약속 목록을 반환한다.
com.ody.meeting.service.MeetingServiceTest ‑ 내 약속 목록 조회 시 약속 시간이 현재 시간으로부터 24시간 포함 이내인 약속부터 미래의 약속까지만 조회된다.
com.ody.meeting.service.MeetingServiceTest ‑ 내 약속 목록 조회 시 오름차순 정렬한다.
com.ody.meeting.service.MeetingServiceTest ‑ 약속 생성 후 약속 시간 30분 전에 ETA 공지 알림이 예약된다.
com.ody.meeting.service.MeetingServiceTest ‑ 약속 저장에 성공한다
com.ody.meeting.service.MeetingServiceTest ‑ 약속 조회 시, 약속이 존재하지 않으면 예외가 발생한다.
com.ody.meeting.service.MeetingServiceTest ‑ 약속과 참여자들 정보를 조회한다.
com.ody.meeting.service.MeetingServiceTest ‑ 오전 4시 마다 약속 시간이 지난 약속들의 상태를 기간 지남으로 변경하고 구독한 topic을 취소한다.
com.ody.meeting.service.MeetingServiceTest ‑ 이미 참여한 회원이 초대코드 검증을 요구하면 400을 반환한다
com.ody.meeting.service.MeetingServiceTest ‑ 지나지 않은 약속에 참여가 가능하다
com.ody.meeting.service.MeetingServiceTest ‑ 지난 약속에 참여가 불가하다
com.ody.meeting.service.MeetingServiceTest ‑ 초대코드를 가진 약속을 찾을 수 없으면 404를 반환한다
com.ody.member.controller.MemberControllerTest ‑ 이미 삭제한 회원에 대한 회원 삭제 요청 시 204를 반환한다.
com.ody.member.repository.MemberRepositoryTest ‑ 기기 토큰으로 회원을 조회한다
com.ody.member.repository.MemberRepositoryTest ‑ 임의의 providerType, providerId를 가진 회원이 존재하는지 조회한다.
com.ody.member.repository.MemberRepositoryTest ‑ 회원을 삭제(soft delete)한다.
com.ody.member.service.MemberServiceTest ‑ 삭제 회원을 조회할 수 없다.
com.ody.member.service.MemberServiceTest ‑ 회원을 삭제한다.
com.ody.member.service.MemberServiceTest$saveMember ‑ 로그인 이력이 없는 기기로 비회원이 회원 생성을 시도하면 회원을 생성한다.
com.ody.member.service.MemberServiceTest$saveMember ‑ 로그인 이력이 없는 기기로 회원이 회원 생성을 시도하면 기기 이력을 변경한다.
com.ody.member.service.MemberServiceTest$saveMember ‑ 로그인 이력이 있는 기기로 동일 회원이 회원 생성을 시도하면 회원을 생성하지 않는다.
com.ody.member.service.MemberServiceTest$saveMember ‑ 로그인 이력이 있는 기기로 비회원이 회원 생성을 시도하면 기기 이력을 삭제하고 회원을 생성한다.
com.ody.member.service.MemberServiceTest$saveMember ‑ 로그인 이력이 있는 기기로 타 회원이 회원 생성을 시도하면 기기 이력을 이전한다.
com.ody.member.service.MemberServiceTest$saveMember ‑ 특정 회원의 리프레시 토큰을 삭제할 수 있다
com.ody.notification.repository.NotificationRepositoryTest ‑ 알림 타입과 알림 상태 조건을 가진 알림 리스트를 조회한다
com.ody.notification.repository.NotificationRepositoryTest ‑ 약속 ID와 알림 타입으로 알림 리스트를 조회한다
com.ody.notification.repository.NotificationRepositoryTest ‑ 특정 모임의 알림 발송 시간이 지나지 않은 알림 전송 시간을 기준하여 오름차순으로 반환한다.
com.ody.notification.repository.NotificationRepositoryTest ‑ 현재 시간 이전의 모임 notification만 가져온다
com.ody.notification.service.FcmPushSenderTest ‑ DISMISSED 상태이면 푸시 알림을 보내지 않는다.
com.ody.notification.service.FcmPushSenderTest ‑ 출발 알림이 DISMISSED 상태가 아니면 이면 푸시 알림을 보내고, DONE 상태로 변경한다.
com.ody.notification.service.NotificationServiceTest ‑ DISMISSED 상태의 알림은 조회되지 않는다.
com.ody.notification.service.NotificationServiceTest ‑ PENDING 상태의 알림들을 TaskScheduler로 스케줄링 한다.
com.ody.notification.service.NotificationServiceTest ‑ 모임방에 대한 구독을 취소한다
com.ody.notification.service.NotificationServiceTest ‑ 삭제 회원이 포함된 로그 목록을 조회한다.
com.ody.notification.service.NotificationServiceTest ‑ 재촉하기 메시지가 발송된다
com.ody.notification.service.NotificationServiceTest ‑ 참여자의 출발 시간이 현재 시간보다 전이라면 입장 알림 - 출발 알림 순으로 로그 목록이 조회된다.
com.ody.notification.service.NotificationServiceTest ‑ 출발 알림 생성 시점이 알림 전송 시점보다 늦은 경우 즉시 전송된다
com.ody.notification.service.NotificationServiceTest ‑ 특정 참여자의 전송 전 알람을 모두 DISMISSED 상태로 변경한다.
com.ody.route.controller.ApiCallControllerTest ‑ Google Maps API 호출 횟수 조회에 성공하면 200 응답을 반환한다
com.ody.route.controller.ApiCallControllerTest ‑ ODsay API 호출 횟수 조회에 성공하면 200 응답을 반환한다
com.ody.route.domain.ApiCallTest ‑ [1] enabled=true
com.ody.route.domain.ApiCallTest ‑ [2] enabled=false
com.ody.route.domain.ApiCallTest ‑ enabled가 null일 때 isEnabled는 true이다.
com.ody.route.domain.ApiCallTest ‑ 처음 enabled를 업데이트하면 false이다.
com.ody.route.mapper.OdsayResponseMapperTest ‑ response가 null인 경우 OdyServerErrorException을 던진다
com.ody.route.mapper.OdsayResponseMapperTest ‑ 소요시간을 반환한다
com.ody.route.mapper.OdsayResponseMapperTest ‑ 예외 응답 : 500 에러 코드는 OdyServerErrorException을 던진다
com.ody.route.mapper.OdsayResponseMapperTest ‑ 예외 응답 : 그 외 에러 코드는 OdyBadRequestException을 던진다
com.ody.route.mapper.OdsayResponseMapperTest ‑ 예외 응답 : 에러 코드와 소요시간이 모두 없는 경우 OdyServerException을 던진다
com.ody.route.mapper.OdsayResponseMapperTest ‑ 출, 도착지가 700m 이내일 때 -1분을 반환한다
com.ody.route.repository.ApiCallRepositoryTest ‑ 특정 기간 내의 ClientType인 가장 이른 ApiCall을 조회한다.
com.ody.route.repository.ApiCallRepositoryTest ‑ 특정 기간 내의 ClientType인 모든 ApiCall을 조회한다.
com.ody.route.repository.ApiCallRepositoryTest ‑ 특정 날짜와 ClientType이 일치하는 데이터를 조회한다
com.ody.route.service.ApiCallServiceTest ‑ 오늘 Odsay API 호출 횟수가 없으면 0을 반환한다.
com.ody.route.service.ApiCallServiceTest ‑ 오늘 Odsay API 호출 횟수를 조회한다.
com.ody.route.service.ApiCallServiceTest ‑ 오늘 처음 Odsay API 호출이 아니면 count+1 한다.
com.ody.route.service.ApiCallServiceTest ‑ 이번 달 처음 Google API 호출이면 count=1 저장한다.
com.ody.route.service.ApiCallServiceTest ‑ 이번달 Google API 호출 횟수를 조회한다.
com.ody.route.service.ApiCallServiceTest ‑ 이번달 Odsay API 호출 횟수가 없으면 0을 반환한다.
com.ody.route.service.GoogleRouteClientTest ‑ 버스, 지하철을 이용한 소요시간 계산 요청 성공 시, 가장 빠른 소요 시간을 분으로 변환하여 반환한다.
com.ody.route.service.GoogleRouteClientTest ‑ 서비스의 상태가 OK가 아니라면 서버 에러가 발생한다.
com.ody.route.service.GoogleRouteClientTest ‑ 응답 요소의 상태가 OK가 아니라면 클라이언트 에러가 발생한다.
com.ody.route.service.OdsayRouteClientTest ‑ 길찾기 api 요청 성공 시, 올바른 소요시간을 반환한다
com.ody.route.service.OdsayRouteClientTest ‑ 도착지 정류장이 없으면, 클라이언트 에러가 발생한다
com.ody.route.service.OdsayRouteClientTest ‑ 도착지와 출발지가 700m 이내일 때, 소요시간 -1분을 반환한다
com.ody.route.service.OdsayRouteClientTest ‑ 잘못된 api-key 요청 시, 서버 에러가 발생한다
com.ody.route.service.RouteServiceTest ‑ OdsayRouteClient를 비활성화하면 Odsay API를 사용해 소요시간을 반환하지 않는다.
com.ody.route.service.RouteServiceTest ‑ OdsayRouteClient를 재활성화하면 Odsay API를 사용해 소요시간을 반환한다.
com.ody.route.service.RouteServiceTest ‑ OdsayRouteClient에 에러가 발생하면 그 다음 요소인 Google API를 사용해 소요시간을 반환한다.
com.ody.route.service.RouteServiceTest ‑ OdsayRouteClient에 에러가 발생하지 않으면 첫 번째 외부 API를 사용해 소요시간을 반환한다.
com.ody.route.service.RouteServiceTest ‑ OdsayRouteClient에서 700m 이내라 소요시간 -1을 반환하면 10분으로 소요시간이 전환된다
com.ody.util.DistanceCalculatorTest ‑ 계산된 직선 거리가 네이버 지도에서 실제 계산된 거리와 오차가 50미터 이내이다.
com.ody.util.InviteCodeGeneratorTest ‑ 8자리의 초대코드를 생성한다.
com.ody.util.TimeUtilTest ‑ 초/나노초가 제거된 LocalDateTime을 반환한다
com.ody.util.TimeUtilTest ‑ 초/나노초가 제거된 LocalTime을 반환한다
com.ody.util.TimeUtilTest ‑ 초/나노초가 제거된 현재시간을 반환한다