package de.twomartens.oparlservice.control; import de.twomartens.oparlservice.service.GreetingService; import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.mockito.BDDMockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; @WebMvcTest(GreetingController.class) class GreetingControllerTests { @Autowired private MockMvc mvc; @MockBean private GreetingService service; @Test void testGreetingRest() throws Exception { BDDMockito.given(service.createGreeting("Template")) .willReturn("Hello Template!"); mvc.perform(MockMvcRequestBuilders.get("/greeting") .param("name", "Template") .contentType(MediaType.APPLICATION_JSON)) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.jsonPath("$", Matchers.aMapWithSize(1))) .andExpect(MockMvcResultMatchers.jsonPath("$.message", Matchers.is("Hello Template!"))) .andReturn(); } }