From 9ccd4d35908ba12058b61ccc620fe25057062b70 Mon Sep 17 00:00:00 2001 From: sjhjack Date: Sat, 8 Feb 2025 16:46:08 +0900 Subject: [PATCH 1/5] =?UTF-8?q?Remove(#71):=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20=ED=8C=8C=EC=9D=BC=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/service/AuthServiceImpl.java | 14 --- domain/auth-domain/build.gradle | 12 -- .../main/java/com/wypl/authdomain/.gitkeep | 0 .../auth/exception/AuthErrorCode.java | 22 ---- .../auth/exception/AuthException.java | 9 -- .../auth/service/AuthDomainServiceImpl.java | 18 --- .../test/java/com/wypl/authdomain/.gitkeep | 0 .../service/AuthDomainServiceImplTest.java | 111 ------------------ .../auth/service/fixture/MemberFixture.java | 55 --------- 9 files changed, 241 deletions(-) delete mode 100644 application/wypl-core/src/main/java/com/wypl/wyplcore/auth/service/AuthServiceImpl.java delete mode 100644 domain/auth-domain/build.gradle delete mode 100644 domain/auth-domain/src/main/java/com/wypl/authdomain/.gitkeep delete mode 100644 domain/auth-domain/src/main/java/com/wypl/authdomain/auth/exception/AuthErrorCode.java delete mode 100644 domain/auth-domain/src/main/java/com/wypl/authdomain/auth/exception/AuthException.java delete mode 100644 domain/auth-domain/src/main/java/com/wypl/authdomain/auth/service/AuthDomainServiceImpl.java delete mode 100644 domain/auth-domain/src/test/java/com/wypl/authdomain/.gitkeep delete mode 100644 domain/auth-domain/src/test/java/com/wypl/authdomain/auth/service/AuthDomainServiceImplTest.java delete mode 100644 domain/auth-domain/src/test/java/com/wypl/authdomain/auth/service/fixture/MemberFixture.java diff --git a/application/wypl-core/src/main/java/com/wypl/wyplcore/auth/service/AuthServiceImpl.java b/application/wypl-core/src/main/java/com/wypl/wyplcore/auth/service/AuthServiceImpl.java deleted file mode 100644 index 2000128..0000000 --- a/application/wypl-core/src/main/java/com/wypl/wyplcore/auth/service/AuthServiceImpl.java +++ /dev/null @@ -1,14 +0,0 @@ -// package com.wypl.wyplcore.auth.service; -// -// import org.springframework.stereotype.Service; -// import org.springframework.transaction.annotation.Transactional; -// -// import lombok.RequiredArgsConstructor; -// -// @Transactional(readOnly = true) -// @RequiredArgsConstructor -// @Service -// public class AuthServiceImpl { -// -// } -// diff --git a/domain/auth-domain/build.gradle b/domain/auth-domain/build.gradle deleted file mode 100644 index 6a1c31b..0000000 --- a/domain/auth-domain/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } -} - -dependencies { - implementation project(':common') - implementation project(':domain:jpa-common') - implementation project(':domain:jpa-member-domain') - implementation project(':domain:redis-token-domain') -} diff --git a/domain/auth-domain/src/main/java/com/wypl/authdomain/.gitkeep b/domain/auth-domain/src/main/java/com/wypl/authdomain/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/domain/auth-domain/src/main/java/com/wypl/authdomain/auth/exception/AuthErrorCode.java b/domain/auth-domain/src/main/java/com/wypl/authdomain/auth/exception/AuthErrorCode.java deleted file mode 100644 index ab8ffe6..0000000 --- a/domain/auth-domain/src/main/java/com/wypl/authdomain/auth/exception/AuthErrorCode.java +++ /dev/null @@ -1,22 +0,0 @@ -// package com.wypl.authdomain.auth.exception; -// -// import com.wypl.common.exception.ServerErrorCode; -// -// import lombok.Getter; -// -// @Getter -// public enum AuthErrorCode implements ServerErrorCode { -// INVALID_TOKEN(400, "AUTH_001", "올바르지 않은 토큰입니다."), -// EXPIRED_TOKEN(401, "AUTH_002", "만료된 토큰입니다.") -// ; -// -// private final int statusCode; -// private final String errorCode; -// private final String message; -// -// AuthErrorCode(int statusCode, String errorCode, String message) { -// this.statusCode = statusCode; -// this.errorCode = errorCode; -// this.message = message; -// } -// } \ No newline at end of file diff --git a/domain/auth-domain/src/main/java/com/wypl/authdomain/auth/exception/AuthException.java b/domain/auth-domain/src/main/java/com/wypl/authdomain/auth/exception/AuthException.java deleted file mode 100644 index 21dceba..0000000 --- a/domain/auth-domain/src/main/java/com/wypl/authdomain/auth/exception/AuthException.java +++ /dev/null @@ -1,9 +0,0 @@ -// package com.wypl.authdomain.auth.exception; -// -// import com.wypl.common.exception.WyplException; -// -// public class AuthException extends WyplException { -// public AuthException(AuthErrorCode serverErrorCode) { -// super(serverErrorCode); -// } -// } \ No newline at end of file diff --git a/domain/auth-domain/src/main/java/com/wypl/authdomain/auth/service/AuthDomainServiceImpl.java b/domain/auth-domain/src/main/java/com/wypl/authdomain/auth/service/AuthDomainServiceImpl.java deleted file mode 100644 index 0cb55ff..0000000 --- a/domain/auth-domain/src/main/java/com/wypl/authdomain/auth/service/AuthDomainServiceImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -// package com.wypl.authdomain.auth.service; -// -// import org.springframework.stereotype.Service; -// import org.springframework.transaction.annotation.Transactional; -// -// import com.wypl.jpamemberdomain.member.repository.MemberRepository; -// import com.wypl.jpamemberdomain.member.repository.SocialMemberRepository; -// -// import lombok.RequiredArgsConstructor; -// -// @Transactional(readOnly = true) -// @RequiredArgsConstructor -// @Service -// public class AuthDomainServiceImpl { -// private final MemberRepository memberRepository; -// private final SocialMemberRepository socialMemberRepository; -// -// } diff --git a/domain/auth-domain/src/test/java/com/wypl/authdomain/.gitkeep b/domain/auth-domain/src/test/java/com/wypl/authdomain/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/domain/auth-domain/src/test/java/com/wypl/authdomain/auth/service/AuthDomainServiceImplTest.java b/domain/auth-domain/src/test/java/com/wypl/authdomain/auth/service/AuthDomainServiceImplTest.java deleted file mode 100644 index aebabc3..0000000 --- a/domain/auth-domain/src/test/java/com/wypl/authdomain/auth/service/AuthDomainServiceImplTest.java +++ /dev/null @@ -1,111 +0,0 @@ -// package com.wypl.authdomain.auth.service; -// -// import static org.assertj.core.api.Assertions.*; -// import static org.mockito.BDDMockito.*; -// -// import java.time.LocalDate; -// -// import org.junit.jupiter.api.DisplayName; -// import org.junit.jupiter.api.Test; -// import org.junit.jupiter.api.extension.ExtendWith; -// import org.junit.jupiter.params.ParameterizedTest; -// import org.junit.jupiter.params.provider.EnumSource; -// import org.mockito.InjectMocks; -// import org.mockito.Mock; -// import org.mockito.junit.jupiter.MockitoExtension; -// -// import com.wypl.authdomain.auth.service.fixture.MemberFixture; -// import com.wypl.jpamemberdomain.member.OauthProvider; -// import com.wypl.jpamemberdomain.member.data.MemberSaveDto; -// import com.wypl.jpamemberdomain.member.data.SocialMemberSaveDto; -// import com.wypl.jpamemberdomain.member.domain.Member; -// import com.wypl.jpamemberdomain.member.domain.SocialMember; -// import com.wypl.jpamemberdomain.member.repository.MemberRepository; -// import com.wypl.jpamemberdomain.member.repository.SocialMemberRepository; -// import com.wypl.redistokendomain.TokenRepository; -// -// @ExtendWith(MockitoExtension.class) -// class AuthDomainServiceImplTest { -// @InjectMocks -// private AuthDomainServiceImpl authDomainService; -// @Mock -// private MemberRepository memberRepository; -// @Mock -// private SocialMemberRepository socialMemberRepository; -// @Mock -// private TokenRepository tokenRepository; -// -// @DisplayName("유저의 Auth 데이터를 저장한다.") -// @ParameterizedTest -// @EnumSource -// void saveAuthDateTest(MemberFixture fixture) { -// // Given -// MemberSaveDto memberSaveDtoMock = MemberSaveDto.builder() -// .email("email") -// .nickname("nickname") -// .birthday(LocalDate.of(1999, 1, 15)) -// .profileImage("profileImage") -// .build(); -// -// SocialMemberSaveDto socialMemberSaveDtoMock = SocialMemberSaveDto.builder() -// .oauthProvider(OauthProvider.GOOGLE) -// .oauthId("oauthId") -// .build(); -// -// Member memberMock = fixture.toMember(); -// -// SocialMember socialMemberMock = fixture.toSocialMember(); -// -// given(memberRepository.save(any(Member.class))) -// .willReturn(memberMock); -// -// given(socialMemberRepository.save(any(SocialMember.class))) -// .willReturn(socialMemberMock); -// -// // When -// long result = authDomainService.saveAuthData(memberSaveDtoMock, socialMemberSaveDtoMock); -// -// // Then -// assertThat(result).isEqualTo(socialMemberMock.getId()); -// } -// -// @DisplayName("Redis에 존재하는 토큰인지 확인한다.") -// @Test -// void checkExistsTokenTest() { -// // When -// authDomainService.checkExistsToken(anyString()); -// -// // Then -// verify(tokenRepository).checkExistsToken(anyString()); -// } -// -// @DisplayName("Redis에 토큰을 저장한다.") -// @Test -// void saveTokenTest() { -// // When -// authDomainService.saveToken(anyString(), anyString()); -// -// // Then -// verify(tokenRepository).saveToken(anyString(), anyString()); -// } -// -// @DisplayName("Redis에서 Access Token으로 Refresh Token 값을 가져온다.") -// @Test -// void getRefreshTokenTest() { -// // When -// authDomainService.getRefreshToken(anyString()); -// -// // Then -// verify(tokenRepository).getRefreshToken(anyString()); -// } -// -// @DisplayName("Redis에 저장된 토큰 정보를 삭제한다.") -// @Test -// void deleteToken() { -// // When -// authDomainService.deleteToken(anyString()); -// -// // Then -// verify(tokenRepository).deleteToken(anyString()); -// } -// } \ No newline at end of file diff --git a/domain/auth-domain/src/test/java/com/wypl/authdomain/auth/service/fixture/MemberFixture.java b/domain/auth-domain/src/test/java/com/wypl/authdomain/auth/service/fixture/MemberFixture.java deleted file mode 100644 index 75d15a2..0000000 --- a/domain/auth-domain/src/test/java/com/wypl/authdomain/auth/service/fixture/MemberFixture.java +++ /dev/null @@ -1,55 +0,0 @@ -// package com.wypl.authdomain.auth.service.fixture; -// -// import java.time.LocalDate; -// import java.util.UUID; -// -// import com.wypl.common.Color; -// import com.wypl.jpamemberdomain.member.OauthProvider; -// import com.wypl.jpamemberdomain.member.TimeZone; -// import com.wypl.jpamemberdomain.member.domain.Member; -// import com.wypl.jpamemberdomain.member.domain.SocialMember; -// -// // Todo : Access Level 고민해보자 -// // @AllArgsConstructor -// public enum MemberFixture { -// JEONG_HOON(1L, "biosjh@gmail.com", "sjh", LocalDate.of(1999, 1, 15), "JHprofile", OauthProvider.GOOGLE) -// ; -// -// private final Long memberId; -// private final String email; -// private final String nickname; -// private final LocalDate birthday; -// private final String profileImage; -// private final OauthProvider oauthProvider; -// -// // @AllArgsConstructor 인식 불가로 인해, 명시적으로 생성자 추가 -// MemberFixture(Long memberId, String email, String nickname, LocalDate birthday, String profileImage, OauthProvider oauthProvider) { -// this.memberId = memberId; -// this.email = email; -// this.nickname = nickname; -// this.birthday = birthday; -// this.profileImage = profileImage; -// this.oauthProvider = oauthProvider; -// } -// -// public Member toMember() { -// return Member.builder() -// .memberId(memberId) -// .email(email) -// .nickname(nickname) -// .birthday(birthday) -// .profileImage(profileImage) -// .color(Color.labelBrown) -// .timeZone(TimeZone.KOREA) -// .build(); -// } -// -// public SocialMember toSocialMember() { -// return SocialMember.builder() -// .id(memberId) -// .member(toMember()) -// .oauthProvider(oauthProvider) -// .oauthId(UUID.randomUUID().toString()) -// .build(); -// } -// } From 73d1d4240c622d0fa2596be87c28da4670b02666 Mon Sep 17 00:00:00 2001 From: sjhjack Date: Sat, 8 Feb 2025 18:19:02 +0900 Subject: [PATCH 2/5] =?UTF-8?q?Feat(#71):=20=ED=9A=8C=EC=9B=90=ED=83=88?= =?UTF-8?q?=ED=87=B4=20=EC=8B=9C=20=ED=86=A0=ED=81=B0=20=EC=82=AD=EC=A0=9C?= =?UTF-8?q?=20=EB=A1=9C=EC=A7=81=EC=9D=98=20=EB=B9=84=EB=8F=99=EA=B8=B0=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/wypl/wyplcore/config/AsyncConfig.java | 9 ++++++++ .../wyplcore/member/data/MemberEventDto.java | 6 +++++ .../member/handler/MemberEventHandler.java | 23 +++++++++++++++++++ .../member/service/MemberService.java | 5 ++++ 4 files changed, 43 insertions(+) create mode 100644 application/wypl-core/src/main/java/com/wypl/wyplcore/config/AsyncConfig.java create mode 100644 application/wypl-core/src/main/java/com/wypl/wyplcore/member/data/MemberEventDto.java create mode 100644 application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventHandler.java diff --git a/application/wypl-core/src/main/java/com/wypl/wyplcore/config/AsyncConfig.java b/application/wypl-core/src/main/java/com/wypl/wyplcore/config/AsyncConfig.java new file mode 100644 index 0000000..2a512e4 --- /dev/null +++ b/application/wypl-core/src/main/java/com/wypl/wyplcore/config/AsyncConfig.java @@ -0,0 +1,9 @@ +package com.wypl.wyplcore.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; + +@Configuration +@EnableAsync +public class AsyncConfig { +} diff --git a/application/wypl-core/src/main/java/com/wypl/wyplcore/member/data/MemberEventDto.java b/application/wypl-core/src/main/java/com/wypl/wyplcore/member/data/MemberEventDto.java new file mode 100644 index 0000000..5798765 --- /dev/null +++ b/application/wypl-core/src/main/java/com/wypl/wyplcore/member/data/MemberEventDto.java @@ -0,0 +1,6 @@ +package com.wypl.wyplcore.member.data; + +public record MemberEventDto( + String accessToken +) { +} diff --git a/application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventHandler.java b/application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventHandler.java new file mode 100644 index 0000000..eeb0efd --- /dev/null +++ b/application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventHandler.java @@ -0,0 +1,23 @@ +package com.wypl.wyplcore.member.handler; + +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; +import org.springframework.transaction.event.TransactionPhase; +import org.springframework.transaction.event.TransactionalEventListener; + +import com.wypl.wyplcore.member.data.MemberEventDto; +import com.wypl.wyplcore.token.service.TokenService; + +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +@Component +public class MemberEventHandler { + private final TokenService tokenService; + + @Async + @TransactionalEventListener(phase = TransactionPhase.AFTER_COMPLETION) + public void deleteToken(MemberEventDto memberEventDto) { + tokenService.deleteToken(memberEventDto.accessToken()); + } +} diff --git a/application/wypl-core/src/main/java/com/wypl/wyplcore/member/service/MemberService.java b/application/wypl-core/src/main/java/com/wypl/wyplcore/member/service/MemberService.java index 7245340..1c1361d 100644 --- a/application/wypl-core/src/main/java/com/wypl/wyplcore/member/service/MemberService.java +++ b/application/wypl-core/src/main/java/com/wypl/wyplcore/member/service/MemberService.java @@ -2,6 +2,7 @@ import java.time.LocalDate; +import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -16,6 +17,7 @@ import com.wypl.jpamemberdomain.member.repository.MemberRepository; import com.wypl.jpamemberdomain.member.repository.SocialMemberRepository; import com.wypl.jpamemberdomain.member.utils.SocialMemberRepositoryUtils; +import com.wypl.wyplcore.member.data.MemberEventDto; import lombok.RequiredArgsConstructor; @@ -26,10 +28,13 @@ public class MemberService { private final GoogleOAuthClient googleOAuthClient; private final MemberRepository memberRepository; private final SocialMemberRepository socialMemberRepository; + private final ApplicationEventPublisher applicationEventPublisher; @Transactional public void deleteMember(AuthMember authMember) { + // Todo : 회원 탈퇴 로직 변경 필요 memberRepository.deleteById(authMember.id()); + applicationEventPublisher.publishEvent(new MemberEventDto(authMember.accessToken())); } @Transactional From c833d6a53d8ad3d602db244bd406db022d4691f5 Mon Sep 17 00:00:00 2001 From: sjhjack Date: Sun, 2 Mar 2025 14:06:49 +0900 Subject: [PATCH 3/5] =?UTF-8?q?Rename(#71):=20MemberEventHandler=20?= =?UTF-8?q?=ED=81=B4=EB=9E=98=EC=8A=A4=EB=AA=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{MemberEventHandler.java => MemberEventListener.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/{MemberEventHandler.java => MemberEventListener.java} (95%) diff --git a/application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventHandler.java b/application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventListener.java similarity index 95% rename from application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventHandler.java rename to application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventListener.java index eeb0efd..8d76979 100644 --- a/application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventHandler.java +++ b/application/wypl-core/src/main/java/com/wypl/wyplcore/member/handler/MemberEventListener.java @@ -12,7 +12,7 @@ @RequiredArgsConstructor @Component -public class MemberEventHandler { +public class MemberEventListener { private final TokenService tokenService; @Async From 009ccfcb8be08b27175224815c80e9642e6bcfc0 Mon Sep 17 00:00:00 2001 From: sjhjack Date: Sun, 2 Mar 2025 14:48:00 +0900 Subject: [PATCH 4/5] =?UTF-8?q?Feat(#71):=20=ED=9A=8C=EC=9B=90=20=ED=83=88?= =?UTF-8?q?=ED=87=B4=20=EC=8B=9C=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/service/MemberServiceTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/application/wypl-core/src/test/java/com/wypl/wyplcore/member/service/MemberServiceTest.java b/application/wypl-core/src/test/java/com/wypl/wyplcore/member/service/MemberServiceTest.java index c11e504..924cb55 100644 --- a/application/wypl-core/src/test/java/com/wypl/wyplcore/member/service/MemberServiceTest.java +++ b/application/wypl-core/src/test/java/com/wypl/wyplcore/member/service/MemberServiceTest.java @@ -1,6 +1,7 @@ package com.wypl.wyplcore.member.service; import static org.assertj.core.api.Assertions.*; +import static org.mockito.ArgumentCaptor.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.BDDMockito.*; @@ -14,9 +15,12 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.EnumSource; +import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.test.context.event.RecordApplicationEvents; import com.wypl.googleoauthclient.GoogleOAuthClient; import com.wypl.googleoauthclient.data.response.GoogleUserInfoResponse; @@ -26,8 +30,10 @@ import com.wypl.jpamemberdomain.member.domain.SocialMember; import com.wypl.jpamemberdomain.member.repository.MemberRepository; import com.wypl.jpamemberdomain.member.repository.SocialMemberRepository; +import com.wypl.wyplcore.member.data.MemberEventDto; import com.wypl.wyplcore.member.fixture.MemberFixture; +@RecordApplicationEvents @ExtendWith(MockitoExtension.class) public class MemberServiceTest { @InjectMocks @@ -38,6 +44,8 @@ public class MemberServiceTest { private GoogleOAuthClient googleOAuthClient; @Mock private SocialMemberRepository socialMemberRepository; + @Mock + private ApplicationEventPublisher applicationEventPublisher; @DisplayName("Member를 정상적으로 삭제한다.") @Test @@ -53,6 +61,14 @@ void quitMemberTest() { // Then verify(memberRepository).deleteById(anyLong()); + + // ArgumentCaptor를 사용하여 이벤트 캡처 (파라미터 캡처) + ArgumentCaptor eventCaptor = forClass(MemberEventDto.class); + verify(applicationEventPublisher).publishEvent(eventCaptor.capture()); + + // 캡처된 이벤트 검증 (파라미터 검증) + MemberEventDto capturedEvent = eventCaptor.getValue(); + assertThat(capturedEvent.accessToken()).isEqualTo("accessToken"); } @DisplayName("로그인 및 회원가입 로직을 테스트한다.") From bacfdefb1d101df82c1d93eaef32f7ffd52ce243 Mon Sep 17 00:00:00 2001 From: sjhjack Date: Sun, 2 Mar 2025 15:06:42 +0900 Subject: [PATCH 5/5] =?UTF-8?q?Refactor(#71):=20AuthMemberFacade=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=ED=9A=8C=EC=9B=90=20=ED=83=88=ED=87=B4=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wypl/wyplcore/facade/AuthMemberFacade.java | 1 - .../wyplcore/facade/AuthMemberFacadeImpl.java | 13 ------------- .../auth/service/AuthMemberFacadeImplTest.java | 17 ----------------- 3 files changed, 31 deletions(-) diff --git a/application/wypl-core/src/main/java/com/wypl/wyplcore/facade/AuthMemberFacade.java b/application/wypl-core/src/main/java/com/wypl/wyplcore/facade/AuthMemberFacade.java index 92b8152..d548c68 100644 --- a/application/wypl-core/src/main/java/com/wypl/wyplcore/facade/AuthMemberFacade.java +++ b/application/wypl-core/src/main/java/com/wypl/wyplcore/facade/AuthMemberFacade.java @@ -7,5 +7,4 @@ public interface AuthMemberFacade { AuthTokensResponse generateToken(final String provider, final String code); AuthTokensResponse reissueToken(final String accessToken, final String refreshToken); void logout(final AuthMember authMember); - void quitMember(final AuthMember authMember); } diff --git a/application/wypl-core/src/main/java/com/wypl/wyplcore/facade/AuthMemberFacadeImpl.java b/application/wypl-core/src/main/java/com/wypl/wyplcore/facade/AuthMemberFacadeImpl.java index 9f3b574..75d38be 100644 --- a/application/wypl-core/src/main/java/com/wypl/wyplcore/facade/AuthMemberFacadeImpl.java +++ b/application/wypl-core/src/main/java/com/wypl/wyplcore/facade/AuthMemberFacadeImpl.java @@ -56,19 +56,6 @@ public AuthTokensResponse reissueToken(final String accessToken, final String re @Override @Transactional public void logout(final AuthMember authMember) { - deleteToken(authMember); - } - - @Override - @Transactional - public void quitMember(final AuthMember authMember) { - // Todo : 회원 탈퇴 로직 논의 - // Todo : deleteToken은 스프링에서 비동기 처리하고(토큰이 아니라 멤버 탈퇴가 중요한거다), deleteMember는 Member 쪽으로 옮기자 - deleteToken(authMember); - memberService.deleteMember(authMember); - } - - private void deleteToken(AuthMember authMember) { tokenService.deleteToken(authMember.accessToken()); } diff --git a/application/wypl-core/src/test/java/com/wypl/wyplcore/auth/service/AuthMemberFacadeImplTest.java b/application/wypl-core/src/test/java/com/wypl/wyplcore/auth/service/AuthMemberFacadeImplTest.java index 928b723..4973c64 100644 --- a/application/wypl-core/src/test/java/com/wypl/wyplcore/auth/service/AuthMemberFacadeImplTest.java +++ b/application/wypl-core/src/test/java/com/wypl/wyplcore/auth/service/AuthMemberFacadeImplTest.java @@ -141,21 +141,4 @@ void logoutTest() { // Then verify(tokenService).deleteToken(anyString()); } - - @DisplayName("회원탈퇴 로직이 정상적으로 동작한다.") - @Test - void quitMemberTest() { - // Given - AuthMember mockAuthMember = AuthMember.of( - 1L, - "accessToken" - ); - - // When - authMemberFacade.quitMember(mockAuthMember); - - // Then - verify(tokenService).deleteToken(anyString()); - verify(memberService).deleteMember(any(AuthMember.class)); - } } \ No newline at end of file