Skip to content

API integration test list

KimGyuBek edited this page Nov 15, 2025 · 1 revision

API 통합 테스트 목록

threadly-service

테스트 클래스: 46

테스트 메서드: 230개



notification-service

테스트 클래스: 10개

테스트 메서드: 90개



CancelFollowRequestApiTest

테스트 메서드 시나리오
cancelFollowRequest_shouldSuccess_01 팔로우 요청 취소 API 테스트
cancelFollowRequest_shouldFaile_01 실패
cancelFollowRequest_shouldFaile_02 2, 존재하지 않는 팔로우 관계에 대해서 요청 취로를 할 경우 실패 검증
cancelFollowRequest_shouldFail_03 3. 이미 취소 처리된 팔로우 요청에 대해서 취소 요청을 할 경우 실패 검증

ChangePasswordApiTest

테스트 메서드 시나리오
changePasswordApiTest_shouldSuccess 사용자 비밀번호 변경 관련 API 테스트
changePasswordApiTest_shouldReturn400BadRequest_whenChangePasswordWithout2FA 실패

CreateMyProfileApiTest

테스트 메서드 시나리오
setUserProfile_shouldCreateOrUpdateProfile_whenAuthenticatedUserRequests 사용자 프로필 생성 테스트
setUserProfile_shouldReturn409Conflict_whenUserProfileExists 실패
setUserProfile_shouldReturn409Conflict_whenNicknameAlreadyExists 2. 중복된 닉네임으로 수정 요청을 보냈을 경우 409 Conflict
login_shouldReturn403_whenUserProfileNotSet 사용자 프로필을 설정하지 않은 상태에서 인증을 필요로한 경로에 접속 할 경우 403 Forbidden

CreatePostApiTest

테스트 메서드 시나리오
createPost_shouldCreatedContent_whenCreatePostWithValidInput 게시글 생성 테스트
createPost_shouldReturnBadRequest_whenContentIsBlank 실패
createPost_shouldReturnBadRequest_whenContentExceedsMaxLength 2. 게시글 내용이 최대 길이를 초과할 경우 400 BadRequest

CreatePostCommentApiTest

테스트 메서드 시나리오
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

CreatePostCommentLikeApiTest

테스트 메서드 시나리오
likePostComment_shouldReturnCreated_whenUserLikesActiveComment 게시글 댓글 좋아요 테스트
likePostComment_shouldAccumulateLikeCount_whenMultipleUserLike 2. 여러 사용자가 댓글에 좋아요를 눌렀을 경우 응답 검증
likePostComment_shouldBeIdempotent_whenUserLikesSameCommentMultipleTimes 3. 동일한 사용자가 여러번 요청을 보내도 멱등하는지 검증
likePostComment_shouldReturnBadRequest_whenCommentIsDeleted 실패
likePostComment_shouldReturnBadRequest_whenCommentIsBlocked 2. BLOCKED 상태의 댓글에 좋아요 요청 시 400 BadRequest

CreatePostWithImageTest

테스트 메서드 시나리오
createPostWithImages_shouldSucceed_whenUploadOneImage 성공

DeactivateMyAccountApiTest

테스트 메서드 시나리오
deactivateMyAccount_shouldSuccess_whenUserIdExists 내 계정 비활성화 테스트
deactivateMyAccount_shouldReturn403Forbidden_whenUserRequestAuthorizedEndPointAfterWithdraw 실패
deactivateMyAccount_shouldReturn400BadRequest_whenAccessAuthorizedPathAfterUserDeactivate 2. 계정 비활성화 후 인증을 필요로한 경로로 접근이 불가능한지 검증
deactivateMyAccount_shouldReturn400BadRequest_whenDeactivateWithout2FA 3. 이중인증 없이 비활성화를 요청 할 경우 불가능한지 검증
deactivateMyAccount_shouldReturn_whenReissueAccessTokenAfterUserDeactivate 4. 계정 비활성화 후 토큰 재발급 불가능한지 검증

DeletePostApiTest

테스트 메서드 시나리오
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

DeletePostCommentLikeApiTest

테스트 메서드 시나리오
cancelPostCommentLike_shouldCancelLikeAndDecreaseLikeCountWhenAlreadyLiked 게시글 댓글 좋아요 취소 테스트
cancelPostCommentLike_shouldBeIdempotentWhenCancelLikeMultipleTimes 2. 사용자가 여러번 좋아요 취소 요청을 보내도 멱등한지 검증
cancelPostCommentLike_shouldNotFailWhenUserDidNotLikeBefore 3. 사용자가 좋아요를 누르지 않은 상태에서 취소 요청 시 멱등한지 검증

DeletePostLikeApiTest

테스트 메서드 시나리오
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

FollowUserApiTest

테스트 메서드 시나리오
followUser_shouldSuccess_01 사용자 팔로우 요청 관련 API 테스트
followUser_shouldSuccess_02 2. 비공개 계정을 팔로우 요청하는 경우 검증
followUser_shouldFail_01 실패
followUser_shouldFail_02 2. 탈퇴 처리된 사용자를 팔로우 요청하는 경우 실패 검증
followUser_shouldFail_03 3. 비활성화 처리 된 사용자를 팔로우 요청하는 경우 실패 검증
followUser_shouldFail_04 4. 자신에게 팔로우 요청을 하는 경우 실패 검증

GetFollowRequestsApiTest

테스트 메서드 시나리오
getFollowRequests_shouldSuccess_01 팔로우 요청 목록 조회 API 테스트
getFollowRequests_shouldSuccess_02 2. 팔로우 요청 목록 전체 조회 검증
getFollowRequests_shouldSuccess_03 3. 비공개 계정에 팔로우 요청 시 팔로우 요청 목록에 추가 되는지 검증
getFollowRequests_shouldSuccess_04 4. 공개 계정에 팔로우 요청 시 팔로우 요청 목록에 추가 되지 않는지 검증
getFollowRequests_shouldSuccess_05 5. 팔로우 요청 취소 시 팔로우 요청 목록에 불포함되어 있는지 검증

GetFollowStatsApiTest

테스트 메서드 시나리오
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. 비활성화 처리된 사용자에 대한 요청 응답 검증

GetFollowersApiTest

테스트 메서드 시나리오
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 실패

GetFollowingsApiTest

테스트 메서드 시나리오
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 실패

GetMyProfileApiTest

테스트 메서드 시나리오
getMyProfileDetails_shouldSuccess 내 프로필 조회 관련 API 테스트

GetPostApiTest

테스트 메서드 시나리오
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 실패

GetPostCommentApiTest

테스트 메서드 시나리오
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

GetPostCommentLikeApiTest

테스트 메서드 시나리오
getPostCommentLikers_shouldReturnFirstPage 게시글 댓글 좋아요 목록 조회 테스트
getPostLikers_shouldReturnEmptyList_whenPostCommentHasNotLikes 2. 좋아요가 없는 댓글에 요청 시 빈 리스트가 반환되는지 검증
getPostLikers_shouldIteratorAllPages_whenUsingCursorPagination 3. 전체 좋아요 목록 조회 시 마지막 페이지까지 순회 조회 되는지 검증
getPostLikers_shouldReturnNotFound_whenPostCommentLNotExists 실패
getPostLikers_shouldReturnBadRequest_whenPostCommentIsDeleted 2. DELETED 상태의 댓글에 대한 요청 시 400 BadRequest

GetPostLikeApiTest

테스트 메서드 시나리오
getPostLikers_shouldReturnLikers_whenPostHasLikers 게시글 좋아요 목록 조회 테스트
getPostLikers_shouldReturnEmptyList_whenPostHasNotLikes 2. 좋아요가 없는 게시글에 요청 시 빈 리스트가 반환되는지 검증
getPostLikers_shouldReturnNotFound_whenPostNotFound 실패
getPostEngagement_shouldReturnCorrectLikeCount_whenPostHasLikes 게시글 좋아요 요약 조회 테스트

GetUserProfileApiTest

테스트 메서드 시나리오
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

HandleFollowRequestApiTest

테스트 메서드 시나리오
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. 이미 거절한 팔로우 요청에 대한 요청 시 실패 검증

IncreaseViewCountApiTest

테스트 메서드 시나리오
increaseViewCount_shouldIncrease_whenUserGetPost 게시글 조회 수 증가 테스트
increaseViewCount_shouldIdempotent_whenUserMultipleRequest 2. 사용자가 게시글을 여러번 조회 시 멱등한지 검증
increaseViewCount_shouldIncreaseViewCount_whenUserRequestAfterFewTimes 3. 사용자가 게시글을 조회 후 시간이 지난 후 다시 조회 시 조회 수가 증가하는지 검증
increaseViewCount_shouldIncreaseViewCount_whenMultipleUserRequest 4. 여러 사용자가 게시글 조회 시 조회 수가 증가하는지 검증

JwtApiTest

테스트 메서드 시나리오
userProfileCompleteTest_shouldSuccess_whenUserSetProfile Jwt 인증 관련 API 테스트
userProfileCompleteTest_shouldSuccess_whenUserSetProfile 실패

LikePostApiTest

테스트 메서드 시나리오
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

LoginAttemptLimiterTest

테스트 메서드 시나리오
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이 나와야한다

LoginScenarioTest

테스트 메서드 시나리오
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회 초과시 로그인 제한

LoginTest

테스트 메서드 시나리오
login_shouldSucceed_whenUserExistsAndCorrectPassword 성공
login_shouldFail_whenUserNotExists 실패
login_shouldFail_whenPasswordNotCorrect 2. 비밀번호가 일치하지 않는 경우
login_shouldFail_whenEmailNotVerified 3. 이메일 인증이 되지 않은 경우

LogoutScenarioTest

테스트 메서드 시나리오
accessProtectedResource_shouldFail_afterLogout 로그아웃 시나리오 테스트

LogoutTest

테스트 메서드 시나리오
logout_shouldSucceed_whenLoginSucceed 성공
logout_shouldFailed_whenLoginSucceed_andTokenInvalid 실패
logout_shouldFailed_whenLoginSucceed_andTokenExpired 실패-2. 만료된 accessToken으로 요청
verifyPassword_shouldReturnVerificationToken_whenValidPassword 이중 인증 테스트
passwordVerificationToken_shouldFailed_whenInValidPassword 실패-1. 비밀번호가 일치하지 않는 경우

PasswordVerificationScenarioTest

테스트 메서드 시나리오
accessProtectedResource_shouldSucceed_afterPasswordVerification 사용자 이중 인증 시라니오 테스트
accessProtectedResource_shouldFail_afterXVerificationTokenExpired 실패-1. X-Verification-token 만료후 접속

PostSearchApiTest

테스트 메서드 시나리오
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) 사용 시 적절한 에러 반환

RemoveFollowerApiTest

테스트 메서드 시나리오
removeFollower_shouldSuccess_01 팔로워 삭제 API 테스트
removeFollower_shouldFail_01 실패
removeFollower_shouldSuccess_01 2. PENDING 상태의 사용자를 팔로워 삭제 요청 시 실패 검증

SampleTest

테스트 메서드 시나리오
test -

UnfollowApiTest

테스트 메서드 시나리오
unfollowUser_shouldSuccess_01 사용자 언팔로우 API 테스트
unfollowUser_shouldFail_01 실패
unfollowUser_shouldSuccess_01 2. PENDING 상태의 사용자를 언팔로우 요청 시 실패 검증

UpdateMyProfileApiTest

테스트 메서드 시나리오
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

UpdatePostApiTest

테스트 메서드 시나리오
updatePost_shouldUpdatePostSuccessfully_whenWriterRequestsUpdate 게시글 업데이트 테스트
updatePost_shouldReturnForbidden_whenNonWriterTriesToUpdatePost 실패
updatePost_shouldReturnNotFound_whenRequestNotExistsPostId 2. 작성자가 존재하지 않는 postId로 수정 요청 할 경우
updatePost_shouldReturnBadRequest_whenContentIsBlank 3. 작성자가 비어있는 content로 요청 할 경우
updatePost_shouldReturnBadRequest_whenContentExceedsMaxLength 4. 게시글 수정 내용이 최대 길이를 초과할 경우 400 BadRequest

UpdatePostCommentApiTest

테스트 메서드 시나리오
deletePostComment_shouldReturn204_whenCommentIsActive 게시글 댓글 삭제 테스트
deletePostComment_shouldReturnBadRequest_whenPostIsBlocked 실패
deletePostComment_shouldReturnForbidden_whenCommentWriterNotEqualsUser 2. 댓글 작성자가 아닌 사용자가 삭제 요청 시 403 Forbidden
deletePostComment_shouldReturn400_whenCommentIsDeleted 3. 이미 삭제된 댓글 삭제 요청 시 400 Bad Request

UpdatePostStatusApiTest

테스트 메서드 시나리오
deletePost_shouldExcludePostFromPostList_afterSuccessfulDeletion 게시글 삭제 테스트
deletePost_shouldReturnBadRequest_whenAlreadyDeleted 실패
deletePost_shouldReturnForbidden_whenNonOwnerRequest 2. 게시글 작성자가 아닌 사용자가 삭제 요청 시 403 Forbidden

UploadPostImageValidateApiTest

테스트 메서드 시나리오
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

UploadProfileImageApiTest

테스트 메서드 시나리오
uploadMyProfileImage_shouldSuccess 성공

User2FATest

테스트 메서드 시나리오
verifyPassword_shouldReturnVerificationToken_whenValidPassword 성공
passwordVerificationToken_shouldFailed_whenInValidPassword 실패

UserSearchApiTest

테스트 메서드 시나리오
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 실패

ValidateMyProfileApiTest

테스트 메서드 시나리오
checkNickname_shouldSuccess_whenNicknameIsUnique 성공
checkNickname_should409Conflict_whenNicknameAlreadyExists 실패

WithdrawMyAccountApiTest

테스트 메서드 시나리오
withdrawUser_shouldSuccess_whenUserIdExists 내 계정 탈퇴 테스트
withdrawUser_shouldReturn400BadRequest_whenUserWithdraw 실패
withdrawUser_shouldReturn400BadRequest_whenXVerifyTokenMissing 2. 이중인증 없이 회원 탈퇴 요청 시 400 BadRequest
withdrawUser_shouldReturn400BadRequest_whenReissueAccessTokenAfterWithdraw 3. 회원 탈퇴 후 토큰 재발급이 불가능한지 검증

DeleteAllNotificationsApiTest

테스트 메서드 시나리오
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. 전체 삭제 성능 및 안정성 검증

DeleteNotificationApiTest

테스트 메서드 시나리오
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. 권한이 있는 사용자의 알림 삭제 후 데이터 완전 제거 검증

GetNotificationApiTest

테스트 메서드 시나리오
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 필드 검증

GetNotificationsByCursorApiTest

테스트 메서드 시나리오
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. 시간순 정렬 검증 - 성공

GetUnreadNotificationsByCursorApiTest

테스트 메서드 시나리오
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 정보가 포함된 읽지 않은 알림 조회 - 성공

MarkAllAsReadNotificationsApiTest

테스트 메서드 시나리오
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. 전체 읽음 처리 성능 및 안정성 검증

MarkAsReadNotificationApiTest

테스트 메서드 시나리오
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. 읽음 처리 후 데이터 영속성 검증

NotificationKafkaIntegrationTest

테스트 메서드 시나리오
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. 대용량 이벤트 처리 - 성능 및 안정성 검증

NotificationMetadataSerializationTest

테스트 메서드 시나리오
testPostLikeMetadata POST_LIKE 메타데이터 저장 및 조회 테스트
testCommentAddedMetadata COMMENT_ADDED 메타데이터 저장 및 조회 테스트
testCommentLikeMetadata COMMENT_LIKE 메타데이터 저장 및 조회 테스트
testFollowRequestMetadata FOLLOW_REQUEST 메타데이터 저장 및 조회 테스트
testFollowMetadata FOLLOW 메타데이터 저장 및 조회 테스트
testFollowAcceptMetadata FOLLOW_ACCEPT 메타데이터 저장 및 조회 테스트

SecurityApiTest

테스트 메서드 시나리오
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. 여러 번의 정상적인 요청 - 성공

Clone this wiki locally