X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fdemo%2FDemoApplicationTests.java;h=576544fc9c176f2a98200f3a5e1c3468583f83fb;hb=2c62443fe15477f75b6d2409a6b1d7eac7950732;hp=f2981dcaba4a43748fdc3b2a0f64e074b9d2e429;hpb=9639c89ecb4d10ffd9cfd6f4889247ae1881fc3a;p=demos%2Fspring-boot diff --git a/src/test/java/de/juplo/demo/DemoApplicationTests.java b/src/test/java/de/juplo/demo/DemoApplicationTests.java index f2981dc..576544f 100644 --- a/src/test/java/de/juplo/demo/DemoApplicationTests.java +++ b/src/test/java/de/juplo/demo/DemoApplicationTests.java @@ -8,11 +8,14 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; import static de.juplo.demo.BackendVersionInterceptor.BACKEND_VERSION; +import static org.springframework.http.HttpHeaders.ACCEPT; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@SpringBootTest +@SpringBootTest(properties = { "application.name=FOO", "build.version=BAR" }) @AutoConfigureMockMvc class DemoApplicationTests { @@ -50,4 +53,38 @@ class DemoApplicationTests .header(BACKEND_VERSION, "FOO")) .andExpect(status().isGone()); } + + @Test + void getGreetingIfBackendHeaderIsNotSet(@Autowired MockMvc mvc) throws Exception + { + mvc + .perform(post("/peter") + .header(ACCEPT, "application/json") + .header(BACKEND_VERSION, projectVersion) + .content("Hello TO_NAME, nice to meet you. I'm FROM_NAME.")) + .andExpect(status().isOk()) + .andExpect(content().json("{\"greeting\": \"Hello peter, nice to meet you. I'm FOO@BAR.\"}")); + } + + @Test + void getGreetingIfBackendHeaderDoesMatch(@Autowired MockMvc mvc) throws Exception + { + mvc + .perform(post("/peter") + .header(ACCEPT, "application/json") + .header(BACKEND_VERSION, "FOO") + .content("Hello TO_NAME, nice to meet you. I'm FROM_NAME.")) + .andExpect(status().isGone()); + } + + @Test + void getGreetingIfBackendHeaderDoesNotMatch(@Autowired MockMvc mvc) throws Exception + { + mvc + .perform(post("/peter") + .header(ACCEPT, "application/json") + .content("Hello TO_NAME, nice to meet you. I'm FROM_NAME.")) + .andExpect(status().isOk()) + .andExpect(content().json("{\"greeting\": \"Hello peter, nice to meet you. I'm FOO@BAR.\"}")); + } }