개발/Spring
JunitTest] Mock 사용하기
쵸코푸들이장군
2018. 8. 21. 11:54
import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpStatus; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.WebApplicationContext; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; @Slf4j @SpringBootTest @RunWith(SpringRunner.class) @Rollback @Transactional public class PlayerControllerTest { @Autowired private WebApplicationContext context; private MockMvc mockMvc; @Before public void setup() { mockMvc = MockMvcBuilders.webAppContextSetup(context).build(); } @Test public void testDeleteAll() throws Exception { String Authorization = "cG1fZGV1OmZwZW15a3FoZTA=="; MockHttpServletRequestBuilder request = delete("/api/url").header("Authorization", Authorization); ResultActions result = mockMvc.perform(request); assertThat(result.andReturn().getResponse().getStatus()).isEqualTo(HttpStatus.SC_OK); assertThat(result.andReturn().getResponse().getContentAsString()).isNotEmpty(); } @Test public void testDeleteAll_WithInvalidKey() throws Exception { String Authorization = "invalidAccessKey"; MockHttpServletRequestBuilder request = delete("/api/url").header("Authorization", Authorization); ResultActions result = mockMvc.perform(request).accept(TestUtil.; assertThat(result.andReturn().getResponse().getStatus()).isEqualTo(HttpStatus.SC_UNAUTHORIZED); } @Test public void testDeleteAll_NoKey() throws Exception { MockHttpServletRequestBuilder request = delete("/api/url"); ResultActions result = mockMvc.perform(request).accept(TestUtil.APPLICATION_JSON_UTF8) .contentType(MediaType.APPLICATION_JSON).content(TestUtil.convertObjectToJsonBytes(messageIds_02))) .andExpect(status().isBadRequest());; assertThat(result.andReturn().getResponse().getStatus()).isEqualTo(HttpStatus.SC_BAD_REQUEST); } }