login test;
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
package com.example.oneul.domain.user.repository;
|
package com.example.oneul.domain.user.dao;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.example.oneul.domain.user.repository;
|
package com.example.oneul.domain.user.dao;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.example.oneul.domain.user.controller.UserController;
|
import com.example.oneul.domain.user.api.UserApi;
|
||||||
|
import com.example.oneul.domain.user.domain.UserEntity;
|
||||||
import com.example.oneul.domain.user.service.UserService;
|
import com.example.oneul.domain.user.service.UserService;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
@@ -22,23 +23,32 @@ import org.springframework.mock.web.MockHttpSession;
|
|||||||
import org.springframework.test.web.servlet.MockMvc;
|
import org.springframework.test.web.servlet.MockMvc;
|
||||||
import org.springframework.test.web.servlet.ResultActions;
|
import org.springframework.test.web.servlet.ResultActions;
|
||||||
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.filter.CharacterEncodingFilter;
|
import org.springframework.web.filter.CharacterEncodingFilter;
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
|
@Transactional
|
||||||
@AutoConfigureMockMvc
|
@AutoConfigureMockMvc
|
||||||
public class UserControllerTest {
|
public class UserControllerTest {
|
||||||
private MockMvc mvc;
|
private MockMvc mvc;
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserService userCommandService;
|
private UserService userService;
|
||||||
private MockHttpSession httpSession = new MockHttpSession();
|
private MockHttpSession httpSession = new MockHttpSession();
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void setUp(){
|
public void setUp(){
|
||||||
mvc = MockMvcBuilders.standaloneSetup(new UserController(userCommandService))
|
mvc = MockMvcBuilders.standaloneSetup(new UserApi(userService))
|
||||||
.addFilters(new CharacterEncodingFilter("UTF-8", true))
|
.addFilters(new CharacterEncodingFilter("UTF-8", true))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private UserEntity createTestUser(String username, String password){
|
||||||
|
return userService.signUp(UserEntity.builder()
|
||||||
|
.username(username)
|
||||||
|
.password(password)
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("signUp test")
|
@DisplayName("signUp test")
|
||||||
public void signUpTest() throws Exception {
|
public void signUpTest() throws Exception {
|
||||||
@@ -60,4 +70,26 @@ public class UserControllerTest {
|
|||||||
|
|
||||||
actions.andExpectAll(status().isOk());
|
actions.andExpectAll(status().isOk());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("login test")
|
||||||
|
public void loginTest() throws Exception {
|
||||||
|
UserEntity user = createTestUser("testuser", "testpw");
|
||||||
|
|
||||||
|
Map<String, Object> requestBody = new HashMap<>();
|
||||||
|
requestBody.put("username", user.getUsername());
|
||||||
|
requestBody.put("password", "testpw");
|
||||||
|
String json = new ObjectMapper().registerModule(new JavaTimeModule()).writeValueAsString(requestBody);
|
||||||
|
|
||||||
|
final ResultActions actions = mvc.perform(
|
||||||
|
post("/user/login/")
|
||||||
|
.contentType(MediaType.APPLICATION_JSON)
|
||||||
|
.session(httpSession)
|
||||||
|
.accept(MediaType.APPLICATION_JSON)
|
||||||
|
.characterEncoding("UTF-8")
|
||||||
|
.content(json)
|
||||||
|
);
|
||||||
|
|
||||||
|
actions.andExpectAll(status().isOk());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user