From 99d472a75b59021daf39f1a37c4da1eef9019778 Mon Sep 17 00:00:00 2001 From: Hyun_Gwang Date: Wed, 26 Jan 2022 23:50:19 +0900 Subject: [PATCH 1/3] =?UTF-8?q?TestCode=EC=9E=91=EC=84=B1=20-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ProductService test code 작성 시작 --- backend/build.gradle | 1 + .../com/modimoa/backend/domain/Product.java | 12 ++++++-- .../backend/repository/ProductRepository.java | 3 ++ .../backend/service/ProductService.java | 10 +++++-- .../backend/service/ProductServiceTest.java | 28 +++++++++++++++++-- 5 files changed, 46 insertions(+), 8 deletions(-) diff --git a/backend/build.gradle b/backend/build.gradle index bc67aa9..2aa5808 100644 --- a/backend/build.gradle +++ b/backend/build.gradle @@ -29,6 +29,7 @@ dependencies { implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0' implementation 'io.springfox:springfox-swagger2:2.9.2' implementation 'io.springfox:springfox-swagger-ui:2.9.2' + implementation 'junit:junit:4.13.1' compileOnly 'org.projectlombok:lombok' runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' annotationProcessor 'org.projectlombok:lombok' diff --git a/backend/src/main/java/com/modimoa/backend/domain/Product.java b/backend/src/main/java/com/modimoa/backend/domain/Product.java index 1ef9005..80b0847 100644 --- a/backend/src/main/java/com/modimoa/backend/domain/Product.java +++ b/backend/src/main/java/com/modimoa/backend/domain/Product.java @@ -1,6 +1,7 @@ package com.modimoa.backend.domain; import lombok.Getter; +import lombok.RequiredArgsConstructor; import javax.persistence.*; import java.io.Serializable; @@ -8,6 +9,7 @@ @Entity @Getter +@RequiredArgsConstructor public class Product extends BaseTimeEntity implements Serializable { public static final long serialVersionUID = -6184044926029805156L; @@ -52,10 +54,14 @@ public class Product extends BaseTimeEntity implements Serializable { @Column(name = "gift_price") private Integer giftPrice; - public Product() { + public Product(long productId, String productName) { + this.productId = productId; + this.productName = productName; } - public Product(Mart martName, String productName, Integer originalPrice, SaleCategory saleCategory) { + + public void Product(long productId, Mart martName, String productName, Integer originalPrice, SaleCategory saleCategory) { + this.productId = productId; this.martName = martName; this.productName = productName; this.originalPrice = originalPrice; @@ -64,7 +70,7 @@ public Product(Mart martName, String productName, Integer originalPrice, SaleCat @Override public String toString() { - return String.format("%d번 %s 할인: %s에서 %s을 %d원에 팝니다", productId, saleCategory.getKrname(), martName, productName, originalPrice); + return String.format("%d번 %s 할인: %s에서 %s을 %d원에 팝니다", productId, saleCategory, martName, productName, originalPrice); } public long getProductId() { diff --git a/backend/src/main/java/com/modimoa/backend/repository/ProductRepository.java b/backend/src/main/java/com/modimoa/backend/repository/ProductRepository.java index 5a88465..04e3364 100644 --- a/backend/src/main/java/com/modimoa/backend/repository/ProductRepository.java +++ b/backend/src/main/java/com/modimoa/backend/repository/ProductRepository.java @@ -11,4 +11,7 @@ public interface ProductRepository extends JpaRepository { List findByMartNameAndProductNameContaining(Mart mart, String q); + + + } diff --git a/backend/src/main/java/com/modimoa/backend/service/ProductService.java b/backend/src/main/java/com/modimoa/backend/service/ProductService.java index 43d84db..3e5991e 100644 --- a/backend/src/main/java/com/modimoa/backend/service/ProductService.java +++ b/backend/src/main/java/com/modimoa/backend/service/ProductService.java @@ -17,9 +17,15 @@ @Service public class ProductService { - @Autowired - ProductRepository productRepository; +// @Autowired +// ProductRepository productRepository; + private final ProductRepository productRepository; + + public ProductService(ProductRepository productRepository){ + this.productRepository = productRepository; + } + // Dao를 통해 모든 물품을 가져와서 반환하는 page형 함수 public Page getAllProducts(Pageable pageable) { return productRepository.findAll(pageable); diff --git a/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java b/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java index 17f09b0..1f3fe30 100644 --- a/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java +++ b/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java @@ -1,9 +1,31 @@ package com.modimoa.backend.service; import com.modimoa.backend.domain.Product; -import org.junit.jupiter.api.Test; +import com.modimoa.backend.repository.ProductRepository; +import org.junit.*; -class ProductServiceTest { +import org.mockito.Mockito; -} \ No newline at end of file +import java.util.Optional; + +import static junit.framework.TestCase.assertEquals; + + +public class ProductServiceTest { + + @Test + public void 조회(){ + //setUp + ProductRepository repo = Mockito.mock(ProductRepository.class); + Mockito.when(repo.findById(11L)) + .thenReturn(Optional.of((new Product(11L, "aa")))); + + ProductService productService = new ProductService(repo); + //when + Optional actualProduct = productService.getProductById(11L); + + //then + assertEquals(11L, actualProduct.get().getProductId()); + } +} From e3edc86a6caded33b101acc1b80570466f8709e3 Mon Sep 17 00:00:00 2001 From: Hyun_Gwang Date: Sun, 30 Jan 2022 14:34:00 +0900 Subject: [PATCH 2/3] =?UTF-8?q?userService=20TestCode=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit userService TestCode 작성 -signUP -login -logout -withdrawal -getUserInfo -getAllUsers TestCode작성 완료 --- .../backend/repository/UserRepository.java | 3 + .../modimoa/backend/service/UserService.java | 22 +- .../backend/service/MyBagServiceTest.java | 4 + .../backend/service/ProductServiceTest.java | 2 +- .../backend/service/UserServiceTest.java | 209 ++++++++++++++++++ 5 files changed, 231 insertions(+), 9 deletions(-) create mode 100644 backend/src/test/java/com/modimoa/backend/service/MyBagServiceTest.java create mode 100644 backend/src/test/java/com/modimoa/backend/service/UserServiceTest.java diff --git a/backend/src/main/java/com/modimoa/backend/repository/UserRepository.java b/backend/src/main/java/com/modimoa/backend/repository/UserRepository.java index 1f4ec49..bbefb78 100644 --- a/backend/src/main/java/com/modimoa/backend/repository/UserRepository.java +++ b/backend/src/main/java/com/modimoa/backend/repository/UserRepository.java @@ -18,4 +18,7 @@ public interface UserRepository extends JpaRepository { Optional findByAccessToken(String token); + + + } diff --git a/backend/src/main/java/com/modimoa/backend/service/UserService.java b/backend/src/main/java/com/modimoa/backend/service/UserService.java index 6a584c8..b191501 100644 --- a/backend/src/main/java/com/modimoa/backend/service/UserService.java +++ b/backend/src/main/java/com/modimoa/backend/service/UserService.java @@ -3,11 +3,12 @@ import com.modimoa.backend.domain.User; import com.modimoa.backend.errorhandling.CustomException; import com.modimoa.backend.repository.UserRepository; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.transaction.Transactional; import java.security.NoSuchAlgorithmException; +import java.time.LocalDate; +import java.time.LocalTime; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -20,26 +21,31 @@ @Service public class UserService { - @Autowired - private UserRepository userRepository; + private final UserRepository userRepository; - public void signUp(String userImage, String userEmail, String oauthCookie) { + public UserService(UserRepository userRepository) {this.userRepository = userRepository; + } + + public String signUp(String userImage, String userEmail, String oauthCookie) { Optional user = userRepository.findByUserEmail(userEmail); if(user.isPresent()){ throw new CustomException(MEMBER_CONFLICT_ERROR); - }else{ + }else{ user.orElseGet(() ->userRepository.save(new User(userEmail,userImage,oauthCookie,"new"))); + return "새로운 유저 생성"; } + } - public String login(String userEmail) throws NoSuchAlgorithmException { + public String login(String userEmail){ Optional user = userRepository.findByUserEmail(userEmail); user.orElseThrow(()->new CustomException(OBJECT_NOTFOUND_ERROR)); - String userId=user.get().getUserEmail(); - String accessToken = EncryptionUtils.encryptSHA256(userEmail+userId+"access"); + LocalTime time = LocalTime.now(); + String hourPlusMinute = String.valueOf(time.getHour()+ time.getMinute()); + String accessToken = EncryptionUtils.encryptSHA256(userEmail+hourPlusMinute+"access"); user.get().updateTokens(accessToken); return accessToken; diff --git a/backend/src/test/java/com/modimoa/backend/service/MyBagServiceTest.java b/backend/src/test/java/com/modimoa/backend/service/MyBagServiceTest.java new file mode 100644 index 0000000..7070320 --- /dev/null +++ b/backend/src/test/java/com/modimoa/backend/service/MyBagServiceTest.java @@ -0,0 +1,4 @@ +package com.modimoa.backend.service; + +public class MyBagServiceTest { +} diff --git a/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java b/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java index 1f3fe30..7c0d468 100644 --- a/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java +++ b/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java @@ -15,7 +15,7 @@ public class ProductServiceTest { @Test - public void 조회(){ + public void getProductByIdTest(){ //setUp ProductRepository repo = Mockito.mock(ProductRepository.class); Mockito.when(repo.findById(11L)) diff --git a/backend/src/test/java/com/modimoa/backend/service/UserServiceTest.java b/backend/src/test/java/com/modimoa/backend/service/UserServiceTest.java new file mode 100644 index 0000000..c35c4b0 --- /dev/null +++ b/backend/src/test/java/com/modimoa/backend/service/UserServiceTest.java @@ -0,0 +1,209 @@ +package com.modimoa.backend.service; + + +import com.modimoa.backend.domain.User; +import com.modimoa.backend.errorhandling.CustomException; +import com.modimoa.backend.repository.UserRepository; +import org.junit.Test; +import org.mockito.Mockito; + +import java.security.NoSuchAlgorithmException; +import java.time.LocalTime; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import static junit.framework.TestCase.*; + + +public class UserServiceTest { + + @Test(expected = CustomException.class) + public void signUpTest존재_할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByUserEmail("userEmail")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); + + //when + String activeSignUp = userService.signUp("userImage","userEmail","oauthCookie"); + + //then + assertEquals("이미 존재하는 유저입니다.",activeSignUp); + } + @Test + public void signUpTest존재_안할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByUserEmail("UserEamil")) + .thenReturn(null); + UserService userService = new UserService(repo); + + //when + String activeSignUp = userService.signUp("userImage","userEmail","oauthCookie"); + + //then + assertEquals("새로운 유저 생성",activeSignUp); + } + + @Test(expected = CustomException.class) + public void loginTest존재_안할때() throws NoSuchAlgorithmException { + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByUserEmail("userEmail")) + .thenReturn(Optional.empty()); + UserService userService = new UserService(repo); + + //when + String activateLogin = userService.login("userEmail"); + + LocalTime time = LocalTime.now(); + String hourPlusMinute = String.valueOf(time.getHour()+ time.getMinute()); + String expectAccessToken = EncryptionUtils.encryptSHA256("userEmail"+hourPlusMinute+"access"); + + //then + assertEquals(expectAccessToken,activateLogin); + } + + @Test + public void loginTest존재_할때() throws NoSuchAlgorithmException { + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByUserEmail("userEmail")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); + + //when + String activateLogin = userService.login("userEmail"); + + LocalTime time = LocalTime.now(); + String hourPlusMinute = String.valueOf(time.getHour()+ time.getMinute()); + String expectAccessToken = EncryptionUtils.encryptSHA256("userEmail"+hourPlusMinute+"access"); + + //then + assertEquals(expectAccessToken,activateLogin); + } + + @Test + public void getAllUsersTest(){ + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findAll()) + .thenReturn(Collections.singletonList(new User("userEmail", "userImage", "accessToken", "oauthToken"))); + UserService userService = new UserService(repo); + + //when + List userList = userService.getAllUsers(); + + //then + assertEquals("userEmail",userList.get(0).getUserEmail()); + } + + @Test(expected = CustomException.class) + public void logoutTest존재_안할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.empty()); + UserService userService = new UserService(repo); + + //when + String activateLogin = userService.logout("accessToken"); + + + //then + assertEquals(Optional.empty(),activateLogin); + } + + @Test + public void logoutTest존재_할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); + + //when + String activateLogin = userService.logout("accessToken"); + + + //then + assertEquals("userEmail",activateLogin); + } + + @Test(expected = CustomException.class) + public void withdrawalTest존재_안할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.empty()); + UserService userService = new UserService(repo); + + //when + String activateLogin = userService.withdrawal("accessToken"); + + + //then + assertEquals(Optional.empty(),activateLogin); + } + + @Test + public void withdrawal존재_할때() throws NoSuchAlgorithmException { + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); + + //when + String activateLogin = userService.withdrawal("accessToken"); + + + //then + assertEquals("userEmail",activateLogin); + } + + @Test(expected = CustomException.class) + public void getUserInfoTest존재_안할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.empty()); + UserService userService = new UserService(repo); + + //when + Map activateLogin = userService.getUserInfo("accessToken"); + + + //then + assertEquals("userEmail",activateLogin.get("user_email")); + assertEquals("userImage",activateLogin.get("user_image")); + + } + + @Test + public void getUserInfo존재_할때() throws NoSuchAlgorithmException { + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); + + //when + Map activateLogin = userService.getUserInfo("accessToken"); + + + //then + assertEquals("userEmail",activateLogin.get("user_email")); + assertEquals("userImage",activateLogin.get("user_image")); + + } + + + + + + + +} From 2998a12870ebe92399f8e120ab9f1595bed01b7e Mon Sep 17 00:00:00 2001 From: Hyun_Gwang Date: Sun, 30 Jan 2022 15:34:07 +0900 Subject: [PATCH 3/3] =?UTF-8?q?ProductService=20TestCode=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ProductService TestCode 작성 Did -ProductById --- .../com/modimoa/backend/domain/Product.java | 7 +- .../backend/repository/ProductRepository.java | 1 - .../backend/service/ProductServiceTest.java | 48 +++- .../backend/service/UserServiceTest.java | 267 +++++++++--------- 4 files changed, 182 insertions(+), 141 deletions(-) diff --git a/backend/src/main/java/com/modimoa/backend/domain/Product.java b/backend/src/main/java/com/modimoa/backend/domain/Product.java index 80b0847..075b65a 100644 --- a/backend/src/main/java/com/modimoa/backend/domain/Product.java +++ b/backend/src/main/java/com/modimoa/backend/domain/Product.java @@ -54,13 +54,8 @@ public class Product extends BaseTimeEntity implements Serializable { @Column(name = "gift_price") private Integer giftPrice; - public Product(long productId, String productName) { - this.productId = productId; - this.productName = productName; - } - - public void Product(long productId, Mart martName, String productName, Integer originalPrice, SaleCategory saleCategory) { + public Product(long productId, Mart martName, String productName, Integer originalPrice, SaleCategory saleCategory) { this.productId = productId; this.martName = martName; this.productName = productName; diff --git a/backend/src/main/java/com/modimoa/backend/repository/ProductRepository.java b/backend/src/main/java/com/modimoa/backend/repository/ProductRepository.java index 04e3364..532195a 100644 --- a/backend/src/main/java/com/modimoa/backend/repository/ProductRepository.java +++ b/backend/src/main/java/com/modimoa/backend/repository/ProductRepository.java @@ -13,5 +13,4 @@ public interface ProductRepository extends JpaRepository { List findByMartNameAndProductNameContaining(Mart mart, String q); - } diff --git a/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java b/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java index 7c0d468..f273c21 100644 --- a/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java +++ b/backend/src/test/java/com/modimoa/backend/service/ProductServiceTest.java @@ -1,12 +1,19 @@ package com.modimoa.backend.service; +import com.modimoa.backend.domain.Mart; import com.modimoa.backend.domain.Product; +import com.modimoa.backend.domain.SaleCategory; +import com.modimoa.backend.errorhandling.CustomException; import com.modimoa.backend.repository.ProductRepository; import org.junit.*; import org.mockito.Mockito; +import org.springframework.data.domain.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import java.util.Optional; import static junit.framework.TestCase.assertEquals; @@ -15,17 +22,54 @@ public class ProductServiceTest { @Test - public void getProductByIdTest(){ + public void getProductByIdTest존재_할때(){ //setUp ProductRepository repo = Mockito.mock(ProductRepository.class); Mockito.when(repo.findById(11L)) - .thenReturn(Optional.of((new Product(11L, "aa")))); + .thenReturn(Optional.of((new Product(11L, Mart.EMART24, "productName",4000, SaleCategory.OnePlusOne)))); + ProductService productService = new ProductService(repo); + + //when + Optional actualProduct = productService.getProductById(11L); + + //then + assertEquals(11L, actualProduct.get().getProductId()); + } + @Test(expected = CustomException.class) + public void getProductByIdTest존재_안할때(){ + //setUp + ProductRepository repo = Mockito.mock(ProductRepository.class); + Mockito.when(repo.findById(11L)) + .thenReturn(Optional.empty()); ProductService productService = new ProductService(repo); + //when Optional actualProduct = productService.getProductById(11L); //then assertEquals(11L, actualProduct.get().getProductId()); } + + + @Test + public void getAllProductTest존재_할때(){ + //setUp + ProductRepository repo = Mockito.mock(ProductRepository.class); + Pageable pageable = PageRequest.of(0, 15, Sort.by("productName").ascending()); + List productList = new ArrayList<>(); + productList.add(new Product(11L, Mart.EMART24, "productName1", 4000, SaleCategory.OnePlusOne)); + productList.add(new Product(11L, Mart.CU, "productName2", 3000, SaleCategory.ThreePlusOne)); + Page productListPage = new PageImpl(productList); + Mockito.when(repo.findAll(pageable)) + .thenReturn(productListPage); + ProductService productService = new ProductService(repo); + + //when + Page actualProduct = productService.getAllProducts(pageable); + + //then + assertEquals(2, actualProduct.getTotalElements()); + } + } diff --git a/backend/src/test/java/com/modimoa/backend/service/UserServiceTest.java b/backend/src/test/java/com/modimoa/backend/service/UserServiceTest.java index c35c4b0..b883b4b 100644 --- a/backend/src/test/java/com/modimoa/backend/service/UserServiceTest.java +++ b/backend/src/test/java/com/modimoa/backend/service/UserServiceTest.java @@ -19,72 +19,79 @@ public class UserServiceTest { - @Test(expected = CustomException.class) - public void signUpTest존재_할때(){ - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByUserEmail("userEmail")) - .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); - UserService userService = new UserService(repo); - //when - String activeSignUp = userService.signUp("userImage","userEmail","oauthCookie"); + @Test(expected = CustomException.class) + public void signUpTest존재_할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByUserEmail("userEmail")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); - //then - assertEquals("이미 존재하는 유저입니다.",activeSignUp); - } - @Test - public void signUpTest존재_안할때(){ - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByUserEmail("UserEamil")) - .thenReturn(null); - UserService userService = new UserService(repo); + //when + String activeSignUp = userService.signUp("userImage","userEmail","oauthCookie"); - //when - String activeSignUp = userService.signUp("userImage","userEmail","oauthCookie"); + //then + assertEquals("이미 존재하는 유저입니다.",activeSignUp); + } + @Test + public void signUpTest존재_안할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByUserEmail("UserEamil")) + .thenReturn(null); + UserService userService = new UserService(repo); - //then - assertEquals("새로운 유저 생성",activeSignUp); - } + //when + String activeSignUp = userService.signUp("userImage","userEmail","oauthCookie"); - @Test(expected = CustomException.class) - public void loginTest존재_안할때() throws NoSuchAlgorithmException { - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByUserEmail("userEmail")) - .thenReturn(Optional.empty()); - UserService userService = new UserService(repo); + //then + assertEquals("새로운 유저 생성",activeSignUp); + } - //when - String activateLogin = userService.login("userEmail"); - LocalTime time = LocalTime.now(); - String hourPlusMinute = String.valueOf(time.getHour()+ time.getMinute()); - String expectAccessToken = EncryptionUtils.encryptSHA256("userEmail"+hourPlusMinute+"access"); - //then - assertEquals(expectAccessToken,activateLogin); - } - @Test - public void loginTest존재_할때() throws NoSuchAlgorithmException { - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByUserEmail("userEmail")) - .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); - UserService userService = new UserService(repo); - //when - String activateLogin = userService.login("userEmail"); + @Test(expected = CustomException.class) + public void loginTest존재_안할때() throws NoSuchAlgorithmException { + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByUserEmail("userEmail")) + .thenReturn(Optional.empty()); + UserService userService = new UserService(repo); + + //when + String activateLogin = userService.login("userEmail"); + + LocalTime time = LocalTime.now(); + String hourPlusMinute = String.valueOf(time.getHour()+ time.getMinute()); + String expectAccessToken = EncryptionUtils.encryptSHA256("userEmail"+hourPlusMinute+"access"); + + //then + assertEquals(expectAccessToken,activateLogin); + } + + @Test + public void loginTest존재_할때() throws NoSuchAlgorithmException { + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByUserEmail("userEmail")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); + + //when + String activateLogin = userService.login("userEmail"); + + LocalTime time = LocalTime.now(); + String hourPlusMinute = String.valueOf(time.getHour()+ time.getMinute()); + String expectAccessToken = EncryptionUtils.encryptSHA256("userEmail"+hourPlusMinute+"access"); + + //then + assertEquals(expectAccessToken,activateLogin); + } - LocalTime time = LocalTime.now(); - String hourPlusMinute = String.valueOf(time.getHour()+ time.getMinute()); - String expectAccessToken = EncryptionUtils.encryptSHA256("userEmail"+hourPlusMinute+"access"); - //then - assertEquals(expectAccessToken,activateLogin); - } @Test public void getAllUsersTest(){ @@ -100,110 +107,106 @@ public void getAllUsersTest(){ assertEquals("userEmail",userList.get(0).getUserEmail()); } - @Test(expected = CustomException.class) - public void logoutTest존재_안할때(){ - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByAccessToken("accessToken")) - .thenReturn(Optional.empty()); - UserService userService = new UserService(repo); - - //when - String activateLogin = userService.logout("accessToken"); - - - //then - assertEquals(Optional.empty(),activateLogin); - } - - @Test - public void logoutTest존재_할때(){ - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByAccessToken("accessToken")) - .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); - UserService userService = new UserService(repo); - //when - String activateLogin = userService.logout("accessToken"); + @Test(expected = CustomException.class) + public void logoutTest존재_안할때() { + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.empty()); + UserService userService = new UserService(repo); + //when + String activateLogin = userService.logout("accessToken"); - //then - assertEquals("userEmail",activateLogin); - } - @Test(expected = CustomException.class) - public void withdrawalTest존재_안할때(){ - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByAccessToken("accessToken")) - .thenReturn(Optional.empty()); - UserService userService = new UserService(repo); + //then + assertEquals(Optional.empty(), activateLogin); + } - //when - String activateLogin = userService.withdrawal("accessToken"); + @Test + public void logoutTest존재_할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); + //when + String activateLogin = userService.logout("accessToken"); - //then - assertEquals(Optional.empty(),activateLogin); - } - @Test - public void withdrawal존재_할때() throws NoSuchAlgorithmException { - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByAccessToken("accessToken")) - .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); - UserService userService = new UserService(repo); + //then + assertEquals("userEmail",activateLogin); + } - //when - String activateLogin = userService.withdrawal("accessToken"); + @Test(expected = CustomException.class) + public void withdrawalTest존재_안할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.empty()); + UserService userService = new UserService(repo); - //then - assertEquals("userEmail",activateLogin); - } + //when + String activateLogin = userService.withdrawal("accessToken"); - @Test(expected = CustomException.class) - public void getUserInfoTest존재_안할때(){ - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByAccessToken("accessToken")) - .thenReturn(Optional.empty()); - UserService userService = new UserService(repo); - //when - Map activateLogin = userService.getUserInfo("accessToken"); + //then + assertEquals(Optional.empty(),activateLogin); + } + @Test + public void withdrawal존재_할때() throws NoSuchAlgorithmException { + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); - //then - assertEquals("userEmail",activateLogin.get("user_email")); - assertEquals("userImage",activateLogin.get("user_image")); + //when + String activateLogin = userService.withdrawal("accessToken"); - } - @Test - public void getUserInfo존재_할때() throws NoSuchAlgorithmException { - //setUp - UserRepository repo = Mockito.mock(UserRepository.class); - Mockito.when(repo.findByAccessToken("accessToken")) - .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); - UserService userService = new UserService(repo); + //then + assertEquals("userEmail",activateLogin); + } - //when - Map activateLogin = userService.getUserInfo("accessToken"); + @Test(expected = CustomException.class) + public void getUserInfoTest존재_안할때(){ + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.empty()); + UserService userService = new UserService(repo); + //when + Map activateLogin = userService.getUserInfo("accessToken"); - //then - assertEquals("userEmail",activateLogin.get("user_email")); - assertEquals("userImage",activateLogin.get("user_image")); - } + //then + assertEquals("userEmail",activateLogin.get("user_email")); + assertEquals("userImage",activateLogin.get("user_image")); + } + @Test + public void getUserInfo존재_할때() throws NoSuchAlgorithmException { + //setUp + UserRepository repo = Mockito.mock(UserRepository.class); + Mockito.when(repo.findByAccessToken("accessToken")) + .thenReturn(Optional.of((new User("userEmail", "userImage", "oauthToken", "accessToken")))); + UserService userService = new UserService(repo); + //when + Map activateLogin = userService.getUserInfo("accessToken"); + //then + assertEquals("userEmail",activateLogin.get("user_email")); + assertEquals("userImage",activateLogin.get("user_image")); + } }