From 60e972184f9a3839f8cd586845cd6c7b7d8dee0c Mon Sep 17 00:00:00 2001 From: jsy3831 Date: Sat, 18 Sep 2021 22:05:16 +0900 Subject: [PATCH] =?UTF-8?q?#2=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EC=BD=94=EB=93=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/UserServiceImplTest.java | 75 ++++++++++++------- .../photobook/utils/PasswordEncoderTest.java | 1 + 2 files changed, 48 insertions(+), 28 deletions(-) diff --git a/src/test/java/com/photobook/service/impl/UserServiceImplTest.java b/src/test/java/com/photobook/service/impl/UserServiceImplTest.java index 89c0e50..4d045f7 100644 --- a/src/test/java/com/photobook/service/impl/UserServiceImplTest.java +++ b/src/test/java/com/photobook/service/impl/UserServiceImplTest.java @@ -8,6 +8,8 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.security.authentication.BadCredentialsException; +import org.springframework.security.authentication.InternalAuthenticationServiceException; import org.springframework.security.crypto.password.PasswordEncoder; import java.time.LocalDate; @@ -32,7 +34,7 @@ public UserDto userInfo() { UserDto userInfo = new UserDto(); userInfo.setUserId(1); userInfo.setId("admin"); - userInfo.setPassword("1234"); + userInfo.setPassword(passwordEncoder.encode("1234")); userInfo.setName("관리자"); userInfo.setEmail("admin@gmail.com"); userInfo.setBirth(LocalDate.of(1993, 10, 28)); @@ -43,31 +45,48 @@ public UserDto userInfo() { return userInfo; } -// @Test -// @DisplayName("사용자 정보가 존재하면 성공") -// public void successGetUserInfoByIdAndPassword() { -// //given -// UserDto userInfo = userInfo(); -// when(userMapper.getUserInfoByIdAndPassword("admin", "1234")).thenReturn(userInfo); -// -// //when -// UserDto result = userServiceImpl.getUserInfoByIdAndPassword("admin", "1234"); -// -// //then -// assertEquals(result, userInfo); -// } -// -// @Test -// @DisplayName("사용자 정보가 존재하지 않으면 성공") -// public void failureGetUserInfoByIdAndPassword() { -// //given -// when(userMapper.getUserInfoByIdAndPassword("notExistId", "notExistPassword")).thenReturn(null); -// -// //then -// assertThrows(IllegalArgumentException.class, () -> { -// //when -// userServiceImpl.getUserInfoByIdAndPassword("notExistId", "notExistPassword"); -// }); -// -// } + @Test + @DisplayName("로그인 검증 성공") + public void successValidateLogin() { + //given + UserDto userInfo = userInfo(); + when(userMapper.getUserInfoById("admin")).thenReturn(userInfo); + when(passwordEncoder.matches("1234", userInfo.getPassword())).thenReturn(true); + + //when + UserDto result = userServiceImpl.validateLogin("admin", "1234"); + + //then + assertEquals(result, userInfo); + } + + @Test + @DisplayName("로그인 검증 실패_존재하지 않는 아이디") + public void failureValidateLoginId() { + //given + when(userMapper.getUserInfoById("admin")).thenReturn(null); + + //then + assertThrows(InternalAuthenticationServiceException.class, () -> { + //when + userServiceImpl.validateLogin("admin", "1234"); + }); + + } + + @Test + @DisplayName("로그인 검증 실패_비밀번호 불일치") + public void failureValidateLoginPwd() { + //given + UserDto userInfo = userInfo(); + when(userMapper.getUserInfoById("admin")).thenReturn(userInfo); + when(passwordEncoder.matches("1234", userInfo.getPassword())).thenReturn(false); + + //then + assertThrows(BadCredentialsException.class, () -> { + //when + userServiceImpl.validateLogin("admin", "1234"); + }); + } + } \ No newline at end of file diff --git a/src/test/java/com/photobook/utils/PasswordEncoderTest.java b/src/test/java/com/photobook/utils/PasswordEncoderTest.java index 698c761..267966d 100644 --- a/src/test/java/com/photobook/utils/PasswordEncoderTest.java +++ b/src/test/java/com/photobook/utils/PasswordEncoderTest.java @@ -22,6 +22,7 @@ void passwordEncode() { //when String encodedPwd = passwordEncoder.encode(rawPwd); + System.out.println(encodedPwd); //then assertAll(