-
Notifications
You must be signed in to change notification settings - Fork 0
API integration test list
KimGyuBek edited this page Nov 15, 2025
·
1 revision
| 테스트 메서드 | 시나리오 |
|---|---|
cancelFollowRequest_shouldSuccess_01 |
팔로우 요청 취소 API 테스트 |
cancelFollowRequest_shouldFaile_01 |
실패 |
cancelFollowRequest_shouldFaile_02 |
2, 존재하지 않는 팔로우 관계에 대해서 요청 취로를 할 경우 실패 검증 |
cancelFollowRequest_shouldFail_03 |
3. 이미 취소 처리된 팔로우 요청에 대해서 취소 요청을 할 경우 실패 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
changePasswordApiTest_shouldSuccess |
사용자 비밀번호 변경 관련 API 테스트 |
changePasswordApiTest_shouldReturn400BadRequest_whenChangePasswordWithout2FA |
실패 |
| 테스트 메서드 | 시나리오 |
|---|---|
setUserProfile_shouldCreateOrUpdateProfile_whenAuthenticatedUserRequests |
사용자 프로필 생성 테스트 |
setUserProfile_shouldReturn409Conflict_whenUserProfileExists |
실패 |
setUserProfile_shouldReturn409Conflict_whenNicknameAlreadyExists |
2. 중복된 닉네임으로 수정 요청을 보냈을 경우 409 Conflict |
login_shouldReturn403_whenUserProfileNotSet |
사용자 프로필을 설정하지 않은 상태에서 인증을 필요로한 경로에 접속 할 경우 403 Forbidden |
| 테스트 메서드 | 시나리오 |
|---|---|
createPost_shouldCreatedContent_whenCreatePostWithValidInput |
게시글 생성 테스트 |
createPost_shouldReturnBadRequest_whenContentIsBlank |
실패 |
createPost_shouldReturnBadRequest_whenContentExceedsMaxLength |
2. 게시글 내용이 최대 길이를 초과할 경우 400 BadRequest |
| 테스트 메서드 | 시나리오 |
|---|---|
createPostComment_shouldSucceed_whenPostIsActive |
게시글 댓글 생성 테스트 |
createPostComment_shouldReturnBadRequest_whenPostIsDeleted |
실패 |
createPostComment_shouldReturnBadRequest_whenPostIsBlocked |
2. BLOCKED 상태의 게시글에 댓글 작성 요청을 하는 경우 400 Bad Request |
createPostComment_shouldReturnBadRequest_whenPostIsArchived |
3. ARCHIVE 상태의 게시글에 댓글 작성 요청을 하는 경우 400 Bad Request |
createPostComment_shouldReturnBadRequest_whenContentIsEmpty |
4. 비어있는 content로 요청을 보낼 경우 400 Bad Request |
createPostComment_shouldReturnBadRequest_whenContentExceedsMaxLength |
5. 댓글이 최대 길이를 초과할 경우 400 Bad Request |
| 테스트 메서드 | 시나리오 |
|---|---|
likePostComment_shouldReturnCreated_whenUserLikesActiveComment |
게시글 댓글 좋아요 테스트 |
likePostComment_shouldAccumulateLikeCount_whenMultipleUserLike |
2. 여러 사용자가 댓글에 좋아요를 눌렀을 경우 응답 검증 |
likePostComment_shouldBeIdempotent_whenUserLikesSameCommentMultipleTimes |
3. 동일한 사용자가 여러번 요청을 보내도 멱등하는지 검증 |
likePostComment_shouldReturnBadRequest_whenCommentIsDeleted |
실패 |
likePostComment_shouldReturnBadRequest_whenCommentIsBlocked |
2. BLOCKED 상태의 댓글에 좋아요 요청 시 400 BadRequest |
| 테스트 메서드 | 시나리오 |
|---|---|
createPostWithImages_shouldSucceed_whenUploadOneImage |
성공 |
| 테스트 메서드 | 시나리오 |
|---|---|
deactivateMyAccount_shouldSuccess_whenUserIdExists |
내 계정 비활성화 테스트 |
deactivateMyAccount_shouldReturn403Forbidden_whenUserRequestAuthorizedEndPointAfterWithdraw |
실패 |
deactivateMyAccount_shouldReturn400BadRequest_whenAccessAuthorizedPathAfterUserDeactivate |
2. 계정 비활성화 후 인증을 필요로한 경로로 접근이 불가능한지 검증 |
deactivateMyAccount_shouldReturn400BadRequest_whenDeactivateWithout2FA |
3. 이중인증 없이 비활성화를 요청 할 경우 불가능한지 검증 |
deactivateMyAccount_shouldReturn_whenReissueAccessTokenAfterUserDeactivate |
4. 계정 비활성화 후 토큰 재발급 불가능한지 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
deletePostWithImage_shouldSucceed_whenHasImage |
성공 |
deletePostWithImage_shouldSucceed_whenHasNotImage |
2. 이미지가 없는 게시글 삭제 요청 시 DELETED 상태 검증 |
deletePostWithImage_shouldSucceed_whenHasAllActivities |
3. 모든 활동이 있는 게시글을에 대한 삭제 요청 시 데이터 검증 |
deletePostWithImage_shouldReturnNotFound_whenPostIdNotFound |
1. 존재하지 않는 postId로 삭제 요청 시 404 Not Found |
deletePostWithImage_shouldReturnBadRequest_whenPostAlreadyDeleted |
2. 이미 삭제된 게시글에 대해 삭제 요청 시 400 Bad Request |
deletePostWithImage_shouldReturnBadRequest_whenPostBlocked |
3. 차단된 게시글을 삭제 요청 시 400 Bad Request |
deletePostWithImage_shouldReturnForBidden_whenPostWriterNotEqualsRequester |
4. 게시글 작성자와 삭제 요청자가 일치 하지 않는 경우 403 Forbidden |
| 테스트 메서드 | 시나리오 |
|---|---|
cancelPostCommentLike_shouldCancelLikeAndDecreaseLikeCountWhenAlreadyLiked |
게시글 댓글 좋아요 취소 테스트 |
cancelPostCommentLike_shouldBeIdempotentWhenCancelLikeMultipleTimes |
2. 사용자가 여러번 좋아요 취소 요청을 보내도 멱등한지 검증 |
cancelPostCommentLike_shouldNotFailWhenUserDidNotLikeBefore |
3. 사용자가 좋아요를 누르지 않은 상태에서 취소 요청 시 멱등한지 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
cancelPostLike_shouldReturnCreated_whenUserLikedPost |
게시글 좋아요 취소 테스트 |
cancelPostLike_shouldBeIdempotent_whenUserMultipleRequest |
2. 사용자가 좋아요를 누른 게시글에 좋아요 취소 요청을 여러번 보내도 멱등하는지 검증 |
cancelPostLike_shouldIdempotent_whenUserLikedPostMultipleRequest |
3. 사용자가 좋아요를 누르지 않은 게시글에 좋아요 취소 요청을 보내면 멱등하는지 검증 |
cancelPostLike_shouldReturnBadRequest_whenPostDeleted |
실패 |
cancelPostLike_shouldReturnBadRequest_whenPostBlocked |
2. BLOCKED 상태의 게시글에 좋아요 취소 요청을 보내면 BadRequest |
cancelPostLike_shouldReturnBadRequest_whenPostArchive |
3. ARCHIVE 상태의 게시글에 좋아요 취소 요청을 보내면 BadRequest |
| 테스트 메서드 | 시나리오 |
|---|---|
followUser_shouldSuccess_01 |
사용자 팔로우 요청 관련 API 테스트 |
followUser_shouldSuccess_02 |
2. 비공개 계정을 팔로우 요청하는 경우 검증 |
followUser_shouldFail_01 |
실패 |
followUser_shouldFail_02 |
2. 탈퇴 처리된 사용자를 팔로우 요청하는 경우 실패 검증 |
followUser_shouldFail_03 |
3. 비활성화 처리 된 사용자를 팔로우 요청하는 경우 실패 검증 |
followUser_shouldFail_04 |
4. 자신에게 팔로우 요청을 하는 경우 실패 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
getFollowRequests_shouldSuccess_01 |
팔로우 요청 목록 조회 API 테스트 |
getFollowRequests_shouldSuccess_02 |
2. 팔로우 요청 목록 전체 조회 검증 |
getFollowRequests_shouldSuccess_03 |
3. 비공개 계정에 팔로우 요청 시 팔로우 요청 목록에 추가 되는지 검증 |
getFollowRequests_shouldSuccess_04 |
4. 공개 계정에 팔로우 요청 시 팔로우 요청 목록에 추가 되지 않는지 검증 |
getFollowRequests_shouldSuccess_05 |
5. 팔로우 요청 취소 시 팔로우 요청 목록에 불포함되어 있는지 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
getUserFollowStats_shouldSuccess_01 |
사용자 팔로워, 팔로잉 수 조회 API 테스트 |
getUserFollowStats_shouldSuccess_02 |
2. 정상적인 팔로워, 팔로잉 수 조회 요청 응답 검증 |
getUserFollowStats_shouldSuccess_03 |
3. 팔로워 및 팔로잉 사용자 탈퇴 후 조회 시 각각 수가 감소되는지 검증 |
getUserFollowStats_shouldSuccess_04 |
4. 팔로워 및 팔로잉 사용자 비활성화 후 조회 시 각각 수가 감소되는지 검증 |
getUserFollowStats_shouldSuccess_05 |
5. PENDING 상태의 팔로우가 포함 되지 않는지 검증 |
getUserFollowStats_shouldFail_01 |
실패 |
getUserFollowStats_shouldFail_02 |
2. 탈퇴 처리된 사용자에 대한 요청 응답 검증 |
getUserFollowStats_shouldFail_03 |
3. 비활성화 처리된 사용자에 대한 요청 응답 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
getFollowers_shouldSuccess_01 |
팔로워 조회 요청 관련 API Test |
getFollowers_shouldSuccess_02 |
2. 팔로우 요청 후 해당 사용자가 팔로워 목록에 포함되는지 검증 |
getFollowers_shouldSuccess_03 |
3. 팔로우 요청 수락 대기중인 사용자가 팔로워 목록에 포함되는지 검증 |
getFollowers_shouldSuccess_04 |
4. 언팔로우 후 상대방의 팔로워 목록에서 제거되는지 검증 |
getFollowers_shouldSuccess_05 |
5. 팔로워 삭제 후 상대방이 팔로워 목록에서 제거되는지 검증 |
getFollowers_shouldSuccess_06 |
6.팔로워가 있는 사용자의 팔로워 목록 전제 조회 검증 |
getFollowers_shouldSuccess_07 |
7. 팔로워 목록에서 비활성화 된 사용자가 포함되는지 검증 |
getFollowers_shouldSuccess_08 |
8. 팔로워 목록에서 탈퇴처리 된 사용자가 포함되는지 검증 |
getFollowers_shouldSuccess_09 |
9. 다른 사용자의 팔로워 목록 전체 조회 검증 |
getFollowers_shouldSuccess_10 |
10. 비공개 계정이면서 팔로우 상태인 사용자의 팔로워 목록 전제 조회 검증 |
getFollowers_shouldFail_01 |
실패 |
| 테스트 메서드 | 시나리오 |
|---|---|
getFollowings_shouldSuccess_01 |
팔로잉 조회 요청 관련 API Test |
getFollowings_shouldSuccess_02 |
2. 팔로우 요청 후 해당 사용자가 팔로잉 목록에 포함되는지 검증 |
getFollowings_shouldSuccess_03 |
3. 팔로우 요청 수락 대기중인 사용자가 팔로잉 목록에 포함되는지 않는지 검증 |
getFollowings_shouldSuccess_04 |
4. 언팔로우 후 팔로잉 목록에서 제거되는지 검증 |
getFollowings_shouldSuccess_05 |
5. 팔로워 삭제 후 상대방의 팔로잉 목록에서 제거되는지 검증 |
getFollowings_shouldSuccess_06 |
6.팔로잉 하는 사용자가 있는 사용자의 팔로워 목록 전제 조회 검증 |
getFollowings_shouldSuccess_07 |
7. 팔로잉 목록에서 비활성화 된 사용자가 포함되는지 검증 |
getFollowings_shouldSuccess_08 |
8. 팔로잉 목록에서 탈퇴처리 된 사용자가 포함되는지 검증 |
getFollowings_shouldSuccess_09 |
9. 공개 계정인 다른 사용자의 팔로워 목록 전체 조회 검증 |
getFollowings_shouldSuccess_10 |
10. 비공개 계정이면서 팔로우 상태인 사용자의 팔로잉 목록 전제 조회 검증 |
getFollowings_shouldFail_01 |
실패 |
| 테스트 메서드 | 시나리오 |
|---|---|
getMyProfileDetails_shouldSuccess |
내 프로필 조회 관련 API 테스트 |
| 테스트 메서드 | 시나리오 |
|---|---|
getPost_shouldReturnOk_whenGetExistingPost |
게시글 조회 테스트 |
getPost_shouldReturnSameContentAndId_whenGetPostAfterCreation |
2. 게시글 작성 후 조회 시 작성한 내용과 postId가 동일한지 검증 |
getPost_shouldReturnSameContentAndId_whenGetPostAfterUpdate |
3. 게시글 작성 후 수정 시, 조회하면 수정된 내용이 조회되는지 검증 |
getPost_shouldReturnNotFound_whenGetNotExistingPost |
실패 |
getPostList_shouldReturnOk_whenGetExistingPost |
게시글 목록 조회 테스트 |
getPostList_shouldIterateAllPages_usingCursorPagination |
2. 커서 기반 페이징으로 전체 게시글 마지막 페이지까지 순회하며 조회 |
getPostEngagement_shouldNotFound_whenPostNotExists |
실패 |
| 테스트 메서드 | 시나리오 |
|---|---|
getPostCommentList_shouldReturnNextCursor_whenFirstPageRequested |
게시글 댓글 목록 커서 기반 조회 |
getPostCommentList_shouldReturnAllComments |
2. 게시글 댓글 목록 전체 조회 검증 |
getPostCommentList_shouldReflectLikedField_whenLikeRequest |
3. 게시글 댓글 좋아요 요청 후 댓글 목록 조회 시 해당 댓글의 liked 필드가 true로 변하는지 검증 |
getPostCommentList_shouldReturnBadRequest_whenPostIsDeleted |
실패 |
getPostCommentList_shouldReturnBadRequest_whenPostIsArchive |
2. ARCHIVE 상태의 게시글 댓글 목록 조회 시 400 Bad Request |
getPostCommentList_shouldReturnBadRequest_whenPostIsBlocked |
3. BLOCKED 상태의 게시글 댓글 목록 조회 시 400 Bad Request |
getPostCommentList_shouldReturnBadRequest_whenPostNotExists |
4. 존재하지 않는 게시글의 댓글 목록 요청 시 400 Not Found |
| 테스트 메서드 | 시나리오 |
|---|---|
getPostCommentLikers_shouldReturnFirstPage |
게시글 댓글 좋아요 목록 조회 테스트 |
getPostLikers_shouldReturnEmptyList_whenPostCommentHasNotLikes |
2. 좋아요가 없는 댓글에 요청 시 빈 리스트가 반환되는지 검증 |
getPostLikers_shouldIteratorAllPages_whenUsingCursorPagination |
3. 전체 좋아요 목록 조회 시 마지막 페이지까지 순회 조회 되는지 검증 |
getPostLikers_shouldReturnNotFound_whenPostCommentLNotExists |
실패 |
getPostLikers_shouldReturnBadRequest_whenPostCommentIsDeleted |
2. DELETED 상태의 댓글에 대한 요청 시 400 BadRequest |
| 테스트 메서드 | 시나리오 |
|---|---|
getPostLikers_shouldReturnLikers_whenPostHasLikers |
게시글 좋아요 목록 조회 테스트 |
getPostLikers_shouldReturnEmptyList_whenPostHasNotLikes |
2. 좋아요가 없는 게시글에 요청 시 빈 리스트가 반환되는지 검증 |
getPostLikers_shouldReturnNotFound_whenPostNotFound |
실패 |
getPostEngagement_shouldReturnCorrectLikeCount_whenPostHasLikes |
게시글 좋아요 요약 조회 테스트 |
| 테스트 메서드 | 시나리오 |
|---|---|
getUserProfile_shouldSuccess_01 |
성공 |
getUserProfile_shouldSuccess_02 |
2. 공개 계정을 팔로우한 상태에서 APPROVED 상태로 프로필 조회 가능 |
getUserProfile_shouldSuccess_03 |
3. 비공개 계정을 팔로우 승인받은 상태에서 APPROVED 상태로 프로필 조회 가능 |
getUserProfile_shouldSuccess_04 |
4. 본인 프로필 조회 시 SELF 상태로 조회 가능 |
getUserProfile_shouldSuccess_05 |
5. 비공개 계정을 팔로우하지 않은 상태에서 NONE 상태로 기본 프로필 조회 가능 |
getUserProfile_shouldSuccess_06 |
6. 비공개 계정에 팔로우 요청 대기중인 상태에서 PENDING 상태로 기본 프로필 조회 가능 |
getUserProfile_shouldFail_01 |
실패 |
getUserProfile_shouldFail_03 |
2. 사용자는 존재하지만 profile이 없는 경우 404 Not Found |
getUserProfile_shouldFail_04 |
3. 탈퇴 처리된 사용자의 프로필을 조회할 경우 403 Forbidden |
getUserProfile_shouldFail_05 |
4. 비활성화 된 사용자를 조회하는 경우 403 Forbidden |
| 테스트 메서드 | 시나리오 |
|---|---|
approveFollowRequest_shouldSuccess_01 |
팔로우 요청 수락 및 거절 API 테스트 |
approveFollowRequest_shouldFail_01 |
실패 |
approveFollowRequest_shouldFail_02 |
2. 내가 받은 팔로우 요청이 아닌 경우 실패 검증 |
approveFollowRequest_shouldFail_03 |
3. 이미 수락한 팔로우 요청에 대한 수락 요청 시 실패 검증 |
rejectFollowRequest_shouldSuccess_01 |
팔로우 요청 거절 테스트 |
rejectFollowRequest_shouldFail_01 |
실패 |
rejectFollowRequest_shouldFail_02 |
2. 내가 받은 팔로우 요청이 아닌 경우 실패 검증 |
rejectFollowRequest_shouldFail_03 |
3. 이미 거절한 팔로우 요청에 대한 요청 시 실패 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
increaseViewCount_shouldIncrease_whenUserGetPost |
게시글 조회 수 증가 테스트 |
increaseViewCount_shouldIdempotent_whenUserMultipleRequest |
2. 사용자가 게시글을 여러번 조회 시 멱등한지 검증 |
increaseViewCount_shouldIncreaseViewCount_whenUserRequestAfterFewTimes |
3. 사용자가 게시글을 조회 후 시간이 지난 후 다시 조회 시 조회 수가 증가하는지 검증 |
increaseViewCount_shouldIncreaseViewCount_whenMultipleUserRequest |
4. 여러 사용자가 게시글 조회 시 조회 수가 증가하는지 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
userProfileCompleteTest_shouldSuccess_whenUserSetProfile |
Jwt 인증 관련 API 테스트 |
userProfileCompleteTest_shouldSuccess_whenUserSetProfile |
실패 |
| 테스트 메서드 | 시나리오 |
|---|---|
likePost_shouldReturnCreated_whenUserLikesActivePost |
게시글 좋아요 테스트 |
likePost_shouldBeIdempotent_whenUserLikesSamePostMultipleTimes |
2. 동일 사용자가 중복 좋아요 요청 시 멱등하게 처리되는지 검증 |
likePost_shouldAccumulateLikeCount_whenMultipleUserLike |
2. 여러 사용자가 게시글에 좋아요를 누를 경우 likeCount 누적되는지 검증 |
likePost_shouldReturnBadRequest_whenPostDeleted |
실패 |
likePost_shouldReturnBadRequest_whenPostBlocked |
2. BLOCKED 상태의 게시글에 좋아요 요청 시 400 Bad Reqeust |
likePost_shouldReturnBadRequest_whenPostArchive |
3. ARCHIVE 상태의 게시글에 좋아요 요청 시 400 Bad Reqeust |
| 테스트 메서드 | 시나리오 |
|---|---|
upsertLoginAttempt_shouldReturnTrue_whenLoginAttemptLessThanFive |
loginAttempt가 존재하지 않을 경우 - true 리턴 |
upsertLoginAttempt_shouldReturnTrue_whenLoginAttemptReachThanFive |
loginAttempt가 5이상일 경우 - false 리턴 |
upsertLoginAttempt_shouldReturnThree_whenLoginAttemptReachCallThree |
userId에 해당하는 값이 존재하지 않는 상황에서 3번 호출된 후 조회 시 3이 나와야 한다 |
upsertLoginAttempt_shouldReturnFive_andFalse_whenLoginAttemptReachCallSix |
6번 호출된 후 조회 시 5가 나와야 하고 false가 return 되어야 한다 |
incrementLoginAttempt_shouldReturnOne_whenLoginAttemptNotExists |
loginAttempt가 존재하지 않는 경우, 실행시 1이 더해져야 함 |
incrementLoginAttempt_shouldReturnFive_whenLoginAttemptIsFive |
loginAttempt가 5인 경우, 더 이상 업데이트 되지 않고 5로 유지되어야 함 |
deleteLoginAttempt_shouldReturnNull |
login attempt를 삽입한 후 실행, 이후 조회시 null이 나와야한다 |
| 테스트 메서드 | 시나리오 |
|---|---|
accessProtectedResource_shouldSucceed_whenLoggedIn |
로그인 시나리오 테스트 |
accessProtectedResource_sholudReturnUnAuthorized_whenAccessTokenNotExists |
성공-2. 로그인 후 만료된 accessToken으로 접속'/' -> TLY3000 -> 재접속 |
accessProtectedResource_shouldSucceed_afterAccessTokenExpired_whenReissueAccessToken |
성공-3. 로그인 후 만료된 accessToken으로 접속'/' -> TLY3000 -> 재발급 후 재 접속 |
verifyLoginTokens_shouldBeUnique_whenForEachLogin |
성공-4. 여러 번 로그인 시 매번 새로운 accessToken, refreshToken 발급 |
checkLoginAttempt_shouldAllowLogin_whenTtlExpires |
성공-5. 로그인 제한 후 시간이 지나면 초기화, 이후 로그인 시도 |
checkLoginAttempt_shouldFail_whenExceededMaxAttempts |
실패-1. 잘못된 비밀번호로 5회 이상 로그인 시도 할 경우 |
checkLoginAttempt_shouldResetAndBlock_whenSuccessAndExceeded |
실패-2. 정상 로그인시 시도 횟수가 초기화되고 이후 잘못된 비밀번호로 5회 초과시 로그인 제한 |
| 테스트 메서드 | 시나리오 |
|---|---|
login_shouldSucceed_whenUserExistsAndCorrectPassword |
성공 |
login_shouldFail_whenUserNotExists |
실패 |
login_shouldFail_whenPasswordNotCorrect |
2. 비밀번호가 일치하지 않는 경우 |
login_shouldFail_whenEmailNotVerified |
3. 이메일 인증이 되지 않은 경우 |
| 테스트 메서드 | 시나리오 |
|---|---|
accessProtectedResource_shouldFail_afterLogout |
로그아웃 시나리오 테스트 |
| 테스트 메서드 | 시나리오 |
|---|---|
logout_shouldSucceed_whenLoginSucceed |
성공 |
logout_shouldFailed_whenLoginSucceed_andTokenInvalid |
실패 |
logout_shouldFailed_whenLoginSucceed_andTokenExpired |
실패-2. 만료된 accessToken으로 요청 |
verifyPassword_shouldReturnVerificationToken_whenValidPassword |
이중 인증 테스트 |
passwordVerificationToken_shouldFailed_whenInValidPassword |
실패-1. 비밀번호가 일치하지 않는 경우 |
| 테스트 메서드 | 시나리오 |
|---|---|
accessProtectedResource_shouldSucceed_afterPasswordVerification |
사용자 이중 인증 시라니오 테스트 |
accessProtectedResource_shouldFail_afterXVerificationTokenExpired |
실패-1. X-Verification-token 만료후 접속 |
| 테스트 메서드 | 시나리오 |
|---|---|
searchPost_shouldReturnSingleResult_whenSearchWithUniqueKeyword |
성공 |
searchPost_shouldReturnMultipleResults_whenSearchWithCommonKeyword |
2. keyword 검색 후 검색 결과 리스트 검증 |
searchPost_shouldReturnEmptyList_whenSearchWithNonExistentKeyword |
3. 존재하지 않는 데이터에 대한 검색 결과 검증 |
searchPost_shouldIncludePublicUserPost_whenNotFollowing |
4. 팔로우 상태가 아니면서 공개 계정의 사용자가 올린 게시글이 검색되는지 검증 |
searchPost_shouldIncludePrivateUserPost_whenFollowing |
5. 팔로우 상태이면서 비공개 계정인 사용자가 올린 게시글이 검색되는지 검증 |
searchPost_shouldIncludeMyPost_whenSearchingOwnContent |
6. 내가 올린 게시글이 검색되는지 검증 |
searchPost_shouldReturnSortedByRecent_whenSortTypeIsRecent |
7. sortType = RECENT인 경우 응답 검증 |
searchPost_shouldReturnSortedByPopular_whenSortTypeIsPopular |
8. sortType = POPULAR인 경우 응답 검증 |
searchPost_shouldIterateAllPages_usingCursorPagination |
9. 커서 기반 페이징으로 전체 검색 결과를 마지막 페이지까지 순회하며 조회 |
searchPost_shouldReturnAllPosts_whenKeywordIsNull |
실패 |
searchPost_shouldNotIncludePrivateUserPost_whenNotFollowing |
2. 팔로우 상태가 아니면서 비공개 계정의 사용자가 올린 게시글이 검색되지 않는지 검증 |
searchPost_shouldReturnError_whenSortTypeIsInvalid |
3. 유효하지 않은 sortType(RELEVANCE) 사용 시 적절한 에러 반환 |
| 테스트 메서드 | 시나리오 |
|---|---|
removeFollower_shouldSuccess_01 |
팔로워 삭제 API 테스트 |
removeFollower_shouldFail_01 |
실패 |
removeFollower_shouldSuccess_01 |
2. PENDING 상태의 사용자를 팔로워 삭제 요청 시 실패 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
test |
- |
| 테스트 메서드 | 시나리오 |
|---|---|
unfollowUser_shouldSuccess_01 |
사용자 언팔로우 API 테스트 |
unfollowUser_shouldFail_01 |
실패 |
unfollowUser_shouldSuccess_01 |
2. PENDING 상태의 사용자를 언팔로우 요청 시 실패 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
updateMyProfile_shouldDeleteExistingProfileImage_whenProfileImageIdIsNull |
성공 |
updateMyProfile_shouldUpdateProfileImage_whenProfileImageIdIsDifferent |
2. 기존 프로필 이미지가 존재하고 새로운 프로필 이미지를 설정하는 경우 검증 |
updateMyProfile_shouldKeepExistingProfileImage_whenImageIdIsSame |
3. 기존 프로필 이미지가 존재하고 기존 프로필 이미지를 유지하는 경우 검증 |
updateMyProfile_shouldSetNewProfileImage_whenNoExistingProfileImageAndProfileImageIdIsGiven |
4. 기존 프로필 이미지가 존재하지 않고 새로운 프로필 이미지를 설정하는 경우 검증 |
updateMyProfile_shouldDoNotingToProfileImage_whenNoExistingImageAndImageIdIsNull |
5. 기존 프로필 이미지가 존재하지 않고 새 프로필을 설정하지 않는 경우 검증 |
updateUserProfile_shouldReturn409Conflict_whenRequestNicknameAlreadyExists |
실패 |
updateMyProfile_shouldFail_whenProfileImageIdIsInvalid |
2. 존재하지 않는 profileImageId로 업데이트 요청 시 404 Not Found |
updateMyProfile_shouldReturn404NotFound_whenProfileImageIdStatusIsDeleted |
3. DELETED 상태의 profileImageId로 업데이트 요청 시 404 Not Found |
| 테스트 메서드 | 시나리오 |
|---|---|
updatePost_shouldUpdatePostSuccessfully_whenWriterRequestsUpdate |
게시글 업데이트 테스트 |
updatePost_shouldReturnForbidden_whenNonWriterTriesToUpdatePost |
실패 |
updatePost_shouldReturnNotFound_whenRequestNotExistsPostId |
2. 작성자가 존재하지 않는 postId로 수정 요청 할 경우 |
updatePost_shouldReturnBadRequest_whenContentIsBlank |
3. 작성자가 비어있는 content로 요청 할 경우 |
updatePost_shouldReturnBadRequest_whenContentExceedsMaxLength |
4. 게시글 수정 내용이 최대 길이를 초과할 경우 400 BadRequest |
| 테스트 메서드 | 시나리오 |
|---|---|
deletePostComment_shouldReturn204_whenCommentIsActive |
게시글 댓글 삭제 테스트 |
deletePostComment_shouldReturnBadRequest_whenPostIsBlocked |
실패 |
deletePostComment_shouldReturnForbidden_whenCommentWriterNotEqualsUser |
2. 댓글 작성자가 아닌 사용자가 삭제 요청 시 403 Forbidden |
deletePostComment_shouldReturn400_whenCommentIsDeleted |
3. 이미 삭제된 댓글 삭제 요청 시 400 Bad Request |
| 테스트 메서드 | 시나리오 |
|---|---|
deletePost_shouldExcludePostFromPostList_afterSuccessfulDeletion |
게시글 삭제 테스트 |
deletePost_shouldReturnBadRequest_whenAlreadyDeleted |
실패 |
deletePost_shouldReturnForbidden_whenNonOwnerRequest |
2. 게시글 작성자가 아닌 사용자가 삭제 요청 시 403 Forbidden |
| 테스트 메서드 | 시나리오 |
|---|---|
uploadImage_shouldSucceed_whenValidImageUpload |
성공 |
uploadImage_shouldSucceed_whenUploadMaxCount |
2. 정상적인 이미지를 최대 허용 수 만큼 업로드 시 응답 검증 |
uploadImage_shouldReturnBadRequest_whenImageIsEmpty |
실패 |
uploadImage_shouldReturnBadRequest_whenImageIsNull |
2. 이미지가 null인 상태에서 요청시 400 Bad Request |
uploadImage_shouldReturnBadRequest_whenUploadOverMaxCount |
3. 최대 허용 수를 초과하는 이미지 요청 시 400 Bad Request |
uploadImage_shouldReturnBadRequest_whenUploadOverMaxSize |
4. 최대 허용 용량 이상이 이미지 요청 시 400 Bad Request |
uploadImage_shouldReturnBadRequest_whenUploadFileExtensionNotSupported |
5. 지원하지 않는 확장자의 파일을 요청 시 400 Bad Request |
| 테스트 메서드 | 시나리오 |
|---|---|
uploadMyProfileImage_shouldSuccess |
성공 |
| 테스트 메서드 | 시나리오 |
|---|---|
verifyPassword_shouldReturnVerificationToken_whenValidPassword |
성공 |
passwordVerificationToken_shouldFailed_whenInValidPassword |
실패 |
| 테스트 메서드 | 시나리오 |
|---|---|
searchUser_shouldReturnSingleResult_whenSearchWithUniqueKeyword |
성공 |
searchUser_shouldReturnMultipleResults_whenSearchWithCommonKeyword |
2. keyword 검색 후 검색 결과 리스트 검증 |
searchUser_shouldReturnEmptyList_whenSearchWithNonExistentKeyword |
3. 존재하지 않는 닉네임에 대한 검색 결과 검증 |
searchUser_shouldReturnApprovedStatus_whenSearchingFollowingUser |
4. 팔로잉하는 사용자 검색 시 응답의 followStatus가 APPROVED인지 검증 |
searchUser_shouldReturnNoneStatus_whenSearchingNotFollowingUser |
5. 팔로잉하지 않는 사용자 검색 시 응답의 followStatus가 NONE인지 검증 |
searchUser_shouldReturnSelfStatus_whenSearchingMyProfile |
6. 내 프로필 검색 시 응답의 followStatus가 SELF인지 검증 |
searchUser_shouldIterateAllPages_usingCursorPagination |
7. 커서 기반 페이징으로 전체 검색 결과를 마지막 페이지까지 순회하며 조회 |
searchUser_shouldReturnAllUsers_whenKeywordIsNull |
실패 |
| 테스트 메서드 | 시나리오 |
|---|---|
checkNickname_shouldSuccess_whenNicknameIsUnique |
성공 |
checkNickname_should409Conflict_whenNicknameAlreadyExists |
실패 |
| 테스트 메서드 | 시나리오 |
|---|---|
withdrawUser_shouldSuccess_whenUserIdExists |
내 계정 탈퇴 테스트 |
withdrawUser_shouldReturn400BadRequest_whenUserWithdraw |
실패 |
withdrawUser_shouldReturn400BadRequest_whenXVerifyTokenMissing |
2. 이중인증 없이 회원 탈퇴 요청 시 400 BadRequest |
withdrawUser_shouldReturn400BadRequest_whenReissueAccessTokenAfterWithdraw |
3. 회원 탈퇴 후 토큰 재발급이 불가능한지 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
deleteAllNotifications_WithMultipleNotifications_ShouldReturnSuccess |
1. 여러 알림 전체 삭제 - 성공 |
deleteAllNotifications_WithNoNotifications_ShouldReturnSuccess |
2. 알림이 없는 상태에서 전체 삭제 - 성공 (Idempotent) |
deleteAllNotifications_ShouldNotDeleteOtherUsersNotifications |
3. 다른 사용자의 알림은 삭제되지 않음 - 성공 |
deleteAllNotifications_WithoutAuthentication_ShouldReturnBadRequest |
4. 인증 없이 전체 알림 삭제 - 400 Bad Request |
deleteAllNotifications_WithExpiredToken_ShouldReturnUnauthorized |
5. 만료된 토큰으로 전체 알림 삭제 - 401 Unauthorized |
deleteAllNotifications_WithPartialNotifications_ShouldDeleteAll |
6. 부분적으로 알림이 있는 상태에서 전체 삭제 - 성공 |
deleteAllNotifications_AfterAlreadyDeleted_ShouldReturnSuccess |
7. 전체 삭제 후 다시 전체 삭제 - 성공 (Idempotent) |
deleteAllNotifications_WithLargeAmountOfNotifications_ShouldReturnSuccess |
8. 대량의 알림 전체 삭제 - 성공 |
deleteAllNotifications_WithMixedNotificationTypes_ShouldDeleteAll |
9. 혼합된 알림 타입의 전체 삭제 - 성공 |
deleteAllNotifications_PerformanceAndStabilityTest |
10. 전체 삭제 성능 및 안정성 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
deleteNotification_ExistingNotification_ShouldReturnSuccess |
1. 존재하는 알림 삭제 - 성공 |
deleteNotification_NonExistentNotification_ShouldReturnNotFound |
2. 존재하지 않는 알림 삭제 - 404 Not Found |
deleteNotification_OtherUserNotification_ShouldReturnNotFound |
3. 다른 사용자의 알림 삭제 - 404 NotFound |
deleteNotification_WithoutAuthentication_ShouldReturnBadRequest |
4. 인증 없이 알림 삭제 - 400 Bad Request |
deleteNotification_WithExpiredToken_ShouldReturnUnauthorized |
5. 만료된 토큰으로 알림 삭제 - 401 Unauthorized |
deleteNotification_WithSpecialCharacterEventId_ShouldReturnNotFound |
6. 특수 문자가 포함된 eventId로 알림 삭제 - 404 Not Found |
deleteNotification_MultipleNotificationsExist_ShouldDeleteOnlyTargetOne |
7. 여러 알림 중 특정 알림만 삭제 - 성공 |
deleteNotification_AlreadyDeletedNotification_ShouldReturnNotFound |
8. 이미 삭제된 알림 재삭제 시도 - 404 Not Found |
deleteNotification_AuthorizedUser_ShouldCompletelyRemoveData |
9. 권한이 있는 사용자의 알림 삭제 후 데이터 완전 제거 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
getNotificationDetail_ExistingNotification_ShouldReturnSuccess |
1. 존재하는 알림 조회 - 성공 |
getNotificationDetail_NonExistentNotification_ShouldReturnNotFound |
2. 존재하지 않는 알림 조회 - 404 Not Found |
getNotificationDetail_OtherUserNotification_ShouldReturnForbidden |
3. 다른 사용자의 알림 조회 - 403 Forbidden |
getNotificationDetail_WithoutAuthentication_ShouldReturnBadRequest |
4. 인증 없이 알림 조회 - 400 Bad Request |
getNotificationDetail_WithExpiredToken_ShouldReturnUnauthorized |
5. 만료된 토큰으로 알림 조회 - 401 Unauthorized |
getNotificationDetail_WithSpecialCharacterEventId_ShouldReturnNotFound |
6. 특수 문자가 포함된 eventId로 알림 조회 - 404 Not Found |
getNotificationDetail_MultipleNotificationsExist_ShouldReturnCorrectOne |
7. 여러 알림 중 특정 알림 조회 - 성공 |
getNotificationDetail_DifferentNotificationTypes_ShouldReturnSuccess |
8. 다양한 알림 타입 조회 - 성공 |
getNotificationDetail_WithMetadata_ShouldReturnCorrectMetadata |
9. 정상적인 메타데이터 조회 - 성공 |
getNotificationDetail_WithDifferentActorProfile_ShouldReturnCorrectProfile |
10. 다양한 ActorProfile 정보가 포함된 알림 조회 - 성공 |
getNotificationDetail_WithNullActorProfile_ShouldHandleGracefully |
11. null ActorProfile로 알림 조회 - ActorProfile 필드 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
getNotifications_WithoutParams_ShouldReturnSuccess |
1. 기본 알림 목록 조회 (파라미터 없음) - 성공 |
getNotifications_WithLimit_ShouldReturnLimitedResults |
2. limit 파라미터로 알림 목록 조회 - 성공 |
getNotifications_WithCursor_ShouldReturnNextPage |
3. 커서 기반 페이지네이션 조회 - 성공 |
getNotifications_ShouldNotReturnOtherUsersNotifications |
4. 다른 사용자의 알림은 조회되지 않음 - 성공 |
getNotifications_WithNoNotifications_ShouldReturnEmptyList |
5. 빈 결과 조회 - 성공 |
getNotifications_WithoutAuthentication_ShouldReturnBadRequest |
6. 인증 없이 알림 목록 조회 - 400 Bad Request |
getNotifications_WithExpiredToken_ShouldReturnUnauthorized |
7. 만료된 토큰으로 알림 목록 조회 - 401 Unauthorized |
getNotifications_WithLargeLimit_ShouldReturnSuccess |
8. 큰 limit 값으로 조회 - 성공 |
getNotifications_WithActorProfile_ShouldReturnCorrectProfile |
9. ActorProfile 정보가 포함된 알림 목록 조회 - 성공 |
getNotifications_ShouldReturnInTimeOrder |
10. 시간순 정렬 검증 - 성공 |
| 테스트 메서드 | 시나리오 |
|---|---|
getUnreadNotifications_WithoutParams_ShouldReturnSuccess |
1. 기본 읽지 않은 알림 목록 조회 (파라미터 없음) - 성공 |
getUnreadNotifications_WithLimit_ShouldReturnLimitedResults |
2. limit 파라미터로 읽지 않은 알림 목록 조회 - 성공 |
getUnreadNotifications_WithCursor_ShouldReturnNextPage |
3. 커서 기반 페이지네이션으로 읽지 않은 알림 조회 - 성공 |
getUnreadNotifications_ShouldNotReturnOtherUsersNotifications |
4. 다른 사용자의 읽지 않은 알림은 조회되지 않음 - 성공 |
getUnreadNotifications_WithNoUnreadNotifications_ShouldReturnEmptyList |
5. 읽지 않은 알림이 없는 경우 - 빈 결과 반환 |
getUnreadNotifications_WithNoNotifications_ShouldReturnEmptyList |
6. 알림이 전혀 없는 경우 - 빈 결과 반환 |
getUnreadNotifications_WithoutAuthentication_ShouldReturnBadRequest |
7. 인증 없이 읽지 않은 알림 목록 조회 - 400 Bad Request |
getUnreadNotifications_WithExpiredToken_ShouldReturnUnauthorized |
8. 만료된 토큰으로 읽지 않은 알림 목록 조회 - 401 Unauthorized |
getUnreadNotifications_WithMixedReadStatus_ShouldReturnOnlyUnread |
9. 읽음 상태 혼재 시 읽지 않은 알림만 조회 - 성공 |
getUnreadNotifications_ShouldReturnInTimeOrder |
10. 시간순 정렬 검증 - 읽지 않은 알림만 최신순으로 정렬 |
getUnreadNotifications_WithActorProfile_ShouldReturnCorrectProfile |
11. ActorProfile 정보가 포함된 읽지 않은 알림 조회 - 성공 |
| 테스트 메서드 | 시나리오 |
|---|---|
markAllAsReadNotifications_WithUnreadNotifications_ShouldReturnSuccess |
1. 여러 읽지 않은 알림 전체 읽음 처리 - 성공 |
markAllAsReadNotifications_WithNoNotifications_ShouldReturnSuccess |
2. 알림이 없는 상태에서 전체 읽음 처리 - 성공 (Idempotent) |
markAllAsReadNotifications_WithAllReadNotifications_ShouldReturnSuccess |
3. 이미 모든 알림이 읽음 상태에서 전체 읽음 처리 - 성공 (Idempotent) |
markAllAsReadNotifications_ShouldNotMarkOtherUsersNotifications |
4. 다른 사용자의 알림은 읽음 처리되지 않음 - 성공 |
markAllAsReadNotifications_WithoutAuthentication_ShouldReturnBadRequest |
5. 인증 없이 전체 읽음 처리 - 400 Bad Request |
markAllAsReadNotifications_WithExpiredToken_ShouldReturnUnauthorized |
6. 만료된 토큰으로 전체 읽음 처리 - 401 Unauthorized |
markAllAsReadNotifications_WithMixedReadStatus_ShouldMarkAllAsRead |
7. 혼합된 읽음 상태의 알림들 전체 읽음 처리 - 성공 |
markAllAsReadNotifications_WithLargeAmountOfNotifications_ShouldReturnSuccess |
8. 대량의 알림 전체 읽음 처리 - 성공 |
markAllAsReadNotifications_AfterMarkingAllAsRead_ShouldShowAllReadInList |
9. 전체 읽음 처리 후 목록 조회에서 모든 알림이 읽음 상태 - 성공 |
markAllAsReadNotifications_PerformanceAndStabilityTest |
10. 전체 읽음 처리 성능 및 안정성 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
markAsReadNotification_UnreadNotification_ShouldReturnSuccess |
1. 읽지 않은 알림 읽음 처리 - 성공 |
markAsReadNotification_AlreadyReadNotification_ShouldReturnSuccess |
2. 이미 읽은 알림 읽음 처리 - 성공 (Idempotent) |
markAsReadNotification_NonExistentNotification_ShouldReturnNotFound |
3. 존재하지 않는 알림 읽음 처리 - 404 Not Found |
markAsReadNotification_OtherUserNotification_ShouldReturnNotFound |
4. 다른 사용자의 알림 읽음 처리 - 404 NotFound |
markAsReadNotification_WithoutAuthentication_ShouldReturnBadRequest |
5. 인증 없이 알림 읽음 처리 - 400 Bad Request |
markAsReadNotification_WithExpiredToken_ShouldReturnUnauthorized |
6. 만료된 토큰으로 알림 읽음 처리 - 401 Unauthorized |
markAsReadNotification_MultipleNotificationsExist_ShouldMarkOnlyTargetOne |
7. 여러 알림 중 특정 알림만 읽음 처리 - 성공 |
markAsReadNotification_AfterMarkingAsRead_ShouldPersistReadStatus |
8. 읽음 처리 후 데이터 영속성 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
kafkaIntegration_PostLikeEvent_ShouldSaveToDatabase |
1. POST_LIKE 이벤트 수신 및 DB 저장 - 성공 |
kafkaIntegration_SavedNotificationApiVerification_ShouldReturnCorrectData |
2. 저장된 알림 API 조회로 검증 - 성공 |
kafkaIntegration_MultipleEvents_ShouldSaveAllAndRetrieveIndividually |
3. 다중 이벤트 수신 및 개별 조회 - 성공 |
kafkaIntegration_InvalidEventData_ShouldHandleGracefully |
4. 잘못된 이벤트 데이터 처리 - Kafka 발신 성공하지만 저장 실패 |
kafkaIntegration_DuplicateEventId_ShouldHandleIdempotently |
5. 동일한 eventId 중복 이벤트 처리 - 멱등성 확인 |
kafkaIntegration_BulkEvents_ShouldProcessAllSuccessfully |
6. 대용량 이벤트 처리 - 성능 및 안정성 검증 |
| 테스트 메서드 | 시나리오 |
|---|---|
testPostLikeMetadata |
POST_LIKE 메타데이터 저장 및 조회 테스트 |
testCommentAddedMetadata |
COMMENT_ADDED 메타데이터 저장 및 조회 테스트 |
testCommentLikeMetadata |
COMMENT_LIKE 메타데이터 저장 및 조회 테스트 |
testFollowRequestMetadata |
FOLLOW_REQUEST 메타데이터 저장 및 조회 테스트 |
testFollowMetadata |
FOLLOW 메타데이터 저장 및 조회 테스트 |
testFollowAcceptMetadata |
FOLLOW_ACCEPT 메타데이터 저장 및 조회 테스트 |
| 테스트 메서드 | 시나리오 |
|---|---|
testValidAccessToken |
Security API 인증 테스트 |
testNoAuthorizationHeader |
2. AccessToken이 없는 경우 - 400 Unauthorized |
testInvalidAccessTokenFormat |
3. 잘못된 형식의 AccessToken - 401 Unauthorized |
testTokenWithoutBearer |
4. Bearer 없이 토큰만 전송하는 경우 - 400 BadRequest |
testExpiredAccessToken |
5. 만료된 AccessToken - 401 Unauthorized |
testBlacklistedAccessToken |
6. 블랙리스트에 등록된 AccessToken - 400 BadRequest |
testInvalidSignatureAccessToken |
7. 잘못된 서명을 가진 AccessToken - 400 Bad Request |
testEmptyAccessToken |
8. 빈 문자열 AccessToken - 400 BadRequest |
testMultipleValidRequests |
9. 여러 번의 정상적인 요청 - 성공 |