move package
This commit is contained in:
@@ -1,143 +0,0 @@
|
|||||||
package org.egovframe.cloud.userservice.api;
|
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.egovframe.cloud.common.domain.Role;
|
|
||||||
import org.egovframe.cloud.userservice.api.user.dto.UserResponseDto;
|
|
||||||
import org.egovframe.cloud.userservice.api.user.dto.UserSaveRequestDto;
|
|
||||||
import org.egovframe.cloud.userservice.api.user.dto.UserUpdateRequestDto;
|
|
||||||
import org.egovframe.cloud.userservice.domain.user.User;
|
|
||||||
import org.egovframe.cloud.userservice.domain.user.UserRepository;
|
|
||||||
import org.egovframe.cloud.userservice.service.user.UserService;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
import org.junit.jupiter.api.Assertions;
|
|
||||||
import org.junit.jupiter.api.MethodOrderer;
|
|
||||||
import org.junit.jupiter.api.Order;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.junit.jupiter.api.TestMethodOrder;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
|
||||||
import org.springframework.boot.test.web.client.TestRestTemplate;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.test.context.ActiveProfiles;
|
|
||||||
import org.springframework.test.context.TestPropertySource;
|
|
||||||
import org.springframework.web.client.RestClientException;
|
|
||||||
|
|
||||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
|
||||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
|
||||||
@EnableConfigurationProperties
|
|
||||||
@TestPropertySource(properties = {"spring.config.location=classpath:application-test.yml"})
|
|
||||||
@ActiveProfiles(profiles = "test")
|
|
||||||
class UserApiControllerTest {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private UserRepository userRepository;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private UserService userService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private TestRestTemplate restTemplate;
|
|
||||||
|
|
||||||
// private static final String USER_SERVICE_URL = "http://localhost:8000/user-service";
|
|
||||||
private static final String TEST_COM = "@test.com";
|
|
||||||
private static final String TEST_EMAIL = System.currentTimeMillis() + TEST_COM;
|
|
||||||
private static final String TEST_PASSWORD = "test1234!";
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Order(Integer.MAX_VALUE)
|
|
||||||
public void cleanup() throws Exception {
|
|
||||||
// 테스트 후 데이터 삭제
|
|
||||||
List<User> users = userRepository.findByEmailContains("test.com");
|
|
||||||
users.forEach(user -> userRepository.deleteById(user.getId()));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Order(Integer.MIN_VALUE)
|
|
||||||
public void 사용자_등록된다() throws Exception {
|
|
||||||
// given
|
|
||||||
UserSaveRequestDto userSaveRequestDto = UserSaveRequestDto.builder()
|
|
||||||
.userName("사용자")
|
|
||||||
.email(TEST_EMAIL)
|
|
||||||
.password(TEST_PASSWORD)
|
|
||||||
.roleId(Role.USER.getKey())
|
|
||||||
.userStateCode("01")
|
|
||||||
.build();
|
|
||||||
userService.save(userSaveRequestDto);
|
|
||||||
|
|
||||||
// when
|
|
||||||
UserResponseDto findUser = userService.findByEmail(TEST_EMAIL);
|
|
||||||
|
|
||||||
// then
|
|
||||||
assertThat(findUser.getEmail()).isEqualTo(TEST_EMAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Order(2)
|
|
||||||
public void 사용자_수정된다() throws Exception {
|
|
||||||
// given
|
|
||||||
UserResponseDto findUser = userService.findByEmail(TEST_EMAIL);
|
|
||||||
UserUpdateRequestDto userUpdateRequestDto = UserUpdateRequestDto.builder()
|
|
||||||
.userName("사용자수정")
|
|
||||||
.email(TEST_EMAIL)
|
|
||||||
.roleId(Role.USER.getKey())
|
|
||||||
.userStateCode("01")
|
|
||||||
.build();
|
|
||||||
|
|
||||||
// when
|
|
||||||
userService.update(findUser.getUserId(), userUpdateRequestDto);
|
|
||||||
UserResponseDto updatedUser = userService.findByEmail(TEST_EMAIL);
|
|
||||||
|
|
||||||
// then
|
|
||||||
assertThat(updatedUser.getUserName()).isEqualTo("사용자수정");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void 사용자_등록오류() throws Exception {
|
|
||||||
// given
|
|
||||||
UserSaveRequestDto userSaveRequestDto = UserSaveRequestDto.builder()
|
|
||||||
.userName("사용자")
|
|
||||||
.email("email")
|
|
||||||
.password("test")
|
|
||||||
.build();
|
|
||||||
|
|
||||||
String url = "/api/v1/users";
|
|
||||||
|
|
||||||
RestClientException restClientException = Assertions.assertThrows(RestClientException.class, () -> {
|
|
||||||
restTemplate.postForEntity(url, userSaveRequestDto, Long.class);
|
|
||||||
});
|
|
||||||
System.out.println("restClientException.getMessage() = " + restClientException.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void 사용자_로그인된다() throws Exception {
|
|
||||||
// given
|
|
||||||
JSONObject loginJson = new JSONObject();
|
|
||||||
loginJson.put("email", TEST_EMAIL);
|
|
||||||
loginJson.put("password", TEST_PASSWORD);
|
|
||||||
|
|
||||||
String url = "/login";
|
|
||||||
|
|
||||||
ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, loginJson.toString(), String.class);
|
|
||||||
responseEntity.getHeaders().entrySet().forEach(System.out::println);
|
|
||||||
assertThat(responseEntity.getHeaders().containsKey("access-token")).isTrue();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void 사용자_로그인_오류발생한다() throws Exception {
|
|
||||||
// given
|
|
||||||
JSONObject loginJson = new JSONObject();
|
|
||||||
loginJson.put("email", TEST_EMAIL);
|
|
||||||
loginJson.put("password", "test");
|
|
||||||
|
|
||||||
String url = "/login";
|
|
||||||
|
|
||||||
ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, loginJson.toString(), String.class);
|
|
||||||
System.out.println("responseEntity = " + responseEntity);
|
|
||||||
assertThat(responseEntity.getHeaders().containsKey("access-token")).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user