Skip to content

Commit

Permalink
feat: 소셜 로그인 테스트 케이스 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
fakerdeft committed Jan 24, 2025
1 parent 2ffcbf8 commit 2ff588d
Showing 1 changed file with 31 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.tnt.presentation.member;

import static com.tnt.domain.constant.Constant.APPLE;
import static com.tnt.domain.constant.Constant.KAKAO;
import static com.tnt.global.error.model.ErrorMessage.FAILED_TO_FETCH_USER_INFO;
import static com.tnt.global.error.model.ErrorMessage.MEMBER_NOT_FOUND;
import static com.tnt.global.error.model.ErrorMessage.UNSUPPORTED_SOCIAL_TYPE;
Expand Down Expand Up @@ -35,7 +37,7 @@ class AuthenticationControllerTest {
@DisplayName("Kakao 로그인 성공")
void kakao_login_success() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("KAKAO", "fcm", "test-kakao-access-token", null, null);
OAuthLoginRequest request = new OAuthLoginRequest(KAKAO, "fcm", "test-kakao-access-token", null, null);

given(oauthService.oauthLogin(request)).willReturn(
new OAuthLoginResponse("123456789", "", "", null, true));
Expand All @@ -52,7 +54,7 @@ void kakao_login_success() {
@DisplayName("ANDROID - Apple 로그인 성공")
void apple_login_with_android_success() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("APPLE", "fcm", null, null, "test-id-token");
OAuthLoginRequest request = new OAuthLoginRequest(APPLE, "fcm", null, null, "test-id-token");

given(oauthService.oauthLogin(request)).willReturn(new OAuthLoginResponse("123456789", "", "", null, true));

Expand All @@ -68,7 +70,7 @@ void apple_login_with_android_success() {
@DisplayName("iOS - Apple 로그인 성공")
void apple_login_with_ios_success() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("APPLE", "fcm", null, "test-authorization-code", null);
OAuthLoginRequest request = new OAuthLoginRequest(APPLE, "fcm", null, "test-authorization-code", null);

given(oauthService.oauthLogin(request)).willReturn(
new OAuthLoginResponse("123456789", "", "", null, true));
Expand Down Expand Up @@ -99,7 +101,7 @@ void unsupported_social_type_error() {
@DisplayName("OAuth 서버 에러 시 예외 발생")
void oauth_server_error() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("KAKAO", "fcm", "invalid-token", null, null);
OAuthLoginRequest request = new OAuthLoginRequest(KAKAO, "fcm", "invalid-token", null, null);

given(oauthService.oauthLogin(request)).willThrow(new OAuthException(FAILED_TO_FETCH_USER_INFO));

Expand All @@ -113,7 +115,7 @@ void oauth_server_error() {
@DisplayName("신규 회원일 때 예외 발생")
void member_not_found_error() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("KAKAO", "fcm", "test-token", null, null);
OAuthLoginRequest request = new OAuthLoginRequest(KAKAO, "fcm", "test-token", null, null);

given(oauthService.oauthLogin(request)).willThrow(new NotFoundException(MEMBER_NOT_FOUND));

Expand All @@ -131,7 +133,7 @@ class OAuthLoginRequestValidationTest {
@DisplayName("카카오 로그인 시 socialAccessToken이 없으면 실패")
void kakao_login_without_access_token_fail() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("KAKAO", "fcm-token", null, null, null);
OAuthLoginRequest request = new OAuthLoginRequest(KAKAO, "fcm-token", null, null, null);

// when & then
assertThat(request.validateKakaoLogin()).isFalse();
Expand All @@ -141,7 +143,7 @@ void kakao_login_without_access_token_fail() {
@DisplayName("카카오 로그인 시 socialAccessToken이 blank이면 실패")
void kakao_login_with_blank_access_token_fail() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("KAKAO", "fcm-token", " ", null, null);
OAuthLoginRequest request = new OAuthLoginRequest(KAKAO, "fcm-token", " ", null, null);

// when & then
assertThat(request.validateKakaoLogin()).isFalse();
Expand All @@ -151,17 +153,25 @@ void kakao_login_with_blank_access_token_fail() {
@DisplayName("카카오 로그인 시 socialAccessToken이 있으면 성공")
void kakao_login_with_access_token_success() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("KAKAO", "fcm-token", "valid-token", null, null);
OAuthLoginRequest request = new OAuthLoginRequest(KAKAO, "fcm-token", "valid-token", null, null);

// when & then
assertThat(request.validateKakaoLogin()).isTrue();
}

@Test
@DisplayName("카카오 로그인 시 validateAppleLogin은 true 반환")
void kakao_login_with_validateAppleLogin_method_success() {
OAuthLoginRequest request = new OAuthLoginRequest(KAKAO, "fcm-token", "access-token", null, null);

assertThat(request.validateAppleLogin()).isTrue();
}

@Test
@DisplayName("애플 로그인 시 authorizationCode와 idToken이 모두 없으면 실패")
void apple_login_without_code_and_token_fail() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("APPLE", "fcm-token", null, null, null);
OAuthLoginRequest request = new OAuthLoginRequest(APPLE, "fcm-token", null, null, null);

// when & then
assertThat(request.validateAppleLogin()).isFalse();
Expand All @@ -171,7 +181,7 @@ void apple_login_without_code_and_token_fail() {
@DisplayName("애플 로그인 시 authorizationCode만 있어도 성공")
void apple_login_with_authorization_code_success() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("APPLE", "fcm-token", null, "valid-auth-code", null);
OAuthLoginRequest request = new OAuthLoginRequest(APPLE, "fcm-token", null, "valid-auth-code", null);

// when & then
assertThat(request.validateAppleLogin()).isTrue();
Expand All @@ -181,7 +191,7 @@ void apple_login_with_authorization_code_success() {
@DisplayName("애플 로그인 시 idToken만 있어도 성공")
void apple_login_with_id_token_success() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("APPLE", "fcm-token", null, null, "valid-id-token");
OAuthLoginRequest request = new OAuthLoginRequest(APPLE, "fcm-token", null, null, "valid-id-token");

// when & then
assertThat(request.validateAppleLogin()).isTrue();
Expand All @@ -191,7 +201,7 @@ void apple_login_with_id_token_success() {
@DisplayName("애플 로그인 시 authorizationCode와 idToken이 모두 있어도 성공")
void apple_login_with_code_and_token_success() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("APPLE", "fcm-token", null, "valid-auth-code",
OAuthLoginRequest request = new OAuthLoginRequest(APPLE, "fcm-token", null, "valid-auth-code",
"valid-id-token");

// when & then
Expand All @@ -202,10 +212,18 @@ void apple_login_with_code_and_token_success() {
@DisplayName("애플 로그인 시 blank 토큰은 실패")
void apple_login_with_blank_token_fail() {
// given
OAuthLoginRequest request = new OAuthLoginRequest("APPLE", "fcm-token", null, " ", " ");
OAuthLoginRequest request = new OAuthLoginRequest(APPLE, "fcm-token", null, " ", " ");

// when & then
assertThat(request.validateAppleLogin()).isFalse();
}

@Test
@DisplayName("애플 로그인 시 validateKakaoLogin()은 true 반환")
void apple_login_with_validateKakaoLogin_method_success() {
OAuthLoginRequest request = new OAuthLoginRequest(APPLE, "fcm-token", null, "auth-code", null);

assertThat(request.validateKakaoLogin()).isTrue();
}
}
}

0 comments on commit 2ff588d

Please sign in to comment.