출처: http://november11tech.tistory.com/88 [Mr.november11] JunitTest] Mock 사용하기 :: 사월은 봄이다.
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);

    }


}




+ Recent posts