From 6d936fcb66d5beb2636cca2a80a79f579389689f Mon Sep 17 00:00:00 2001 From: Aleksander Bartnikiewicz Date: Mon, 17 Oct 2016 23:24:43 +0200 Subject: [PATCH 1/2] context cache issue sample --- gh/pom.xml | 41 +++++++++++++++++++ .../main/java/example/FooBarApplication.java | 4 ++ gh/src/main/java/example/FooBarService.java | 4 ++ gh/src/main/resources/logback.xml | 15 +++++++ gh/src/test/java/example/BarTest.java | 4 ++ gh/src/test/java/example/FooTest.java | 4 ++ 6 files changed, 72 insertions(+) create mode 100644 gh/pom.xml create mode 100644 gh/src/main/java/example/FooBarApplication.java create mode 100644 gh/src/main/java/example/FooBarService.java create mode 100644 gh/src/main/resources/logback.xml create mode 100644 gh/src/test/java/example/BarTest.java create mode 100644 gh/src/test/java/example/FooTest.java diff --git a/gh/pom.xml b/gh/pom.xml new file mode 100644 index 0000000..0c30530 --- /dev/null +++ b/gh/pom.xml @@ -0,0 +1,41 @@ + + + 4.0.0 + + com.example + spring-boot-test-context-cache + 1.0 + + + org.springframework.boot + spring-boot-starter-parent + 1.4.1.RELEASE + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + + + + + 1.8 + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + \ No newline at end of file diff --git a/gh/src/main/java/example/FooBarApplication.java b/gh/src/main/java/example/FooBarApplication.java new file mode 100644 index 0000000..4ac4f47 --- /dev/null +++ b/gh/src/main/java/example/FooBarApplication.java @@ -0,0 +1,4 @@ +package example; + +public class FooBarApplication { +} diff --git a/gh/src/main/java/example/FooBarService.java b/gh/src/main/java/example/FooBarService.java new file mode 100644 index 0000000..ee56642 --- /dev/null +++ b/gh/src/main/java/example/FooBarService.java @@ -0,0 +1,4 @@ +package example; + +public class FooBarService { +} diff --git a/gh/src/main/resources/logback.xml b/gh/src/main/resources/logback.xml new file mode 100644 index 0000000..202161f --- /dev/null +++ b/gh/src/main/resources/logback.xml @@ -0,0 +1,15 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + \ No newline at end of file diff --git a/gh/src/test/java/example/BarTest.java b/gh/src/test/java/example/BarTest.java new file mode 100644 index 0000000..6c18995 --- /dev/null +++ b/gh/src/test/java/example/BarTest.java @@ -0,0 +1,4 @@ +package example; + +public class BarTest { +} diff --git a/gh/src/test/java/example/FooTest.java b/gh/src/test/java/example/FooTest.java new file mode 100644 index 0000000..224a34a --- /dev/null +++ b/gh/src/test/java/example/FooTest.java @@ -0,0 +1,4 @@ +package example; + +public class FooTest { +} From 94e68e257f3cece243c0dcbfb44029e97dbc039f Mon Sep 17 00:00:00 2001 From: Aleksander Bartnikiewicz Date: Tue, 18 Oct 2016 00:38:15 +0200 Subject: [PATCH 2/2] issue id added --- {gh => gh-7174}/pom.xml | 0 .../main/java/example/FooBarApplication.java | 35 +++++++++++++++++++ .../src/main/java/example/FooBarService.java | 16 +++++++++ .../src/main/resources/logback.xml | 2 -- gh-7174/src/test/java/example/BarTest.java | 29 +++++++++++++++ gh-7174/src/test/java/example/FooTest.java | 29 +++++++++++++++ .../main/java/example/FooBarApplication.java | 4 --- gh/src/main/java/example/FooBarService.java | 4 --- gh/src/test/java/example/BarTest.java | 4 --- gh/src/test/java/example/FooTest.java | 4 --- 10 files changed, 109 insertions(+), 18 deletions(-) rename {gh => gh-7174}/pom.xml (100%) create mode 100644 gh-7174/src/main/java/example/FooBarApplication.java create mode 100644 gh-7174/src/main/java/example/FooBarService.java rename {gh => gh-7174}/src/main/resources/logback.xml (84%) create mode 100644 gh-7174/src/test/java/example/BarTest.java create mode 100644 gh-7174/src/test/java/example/FooTest.java delete mode 100644 gh/src/main/java/example/FooBarApplication.java delete mode 100644 gh/src/main/java/example/FooBarService.java delete mode 100644 gh/src/test/java/example/BarTest.java delete mode 100644 gh/src/test/java/example/FooTest.java diff --git a/gh/pom.xml b/gh-7174/pom.xml similarity index 100% rename from gh/pom.xml rename to gh-7174/pom.xml diff --git a/gh-7174/src/main/java/example/FooBarApplication.java b/gh-7174/src/main/java/example/FooBarApplication.java new file mode 100644 index 0000000..c95aed8 --- /dev/null +++ b/gh-7174/src/main/java/example/FooBarApplication.java @@ -0,0 +1,35 @@ +package example; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.*; + +@SpringBootApplication +@RestController +public class FooBarApplication { + + @Autowired FooBarService service; + + public static void main(String[] args) { + SpringApplication.run(FooBarApplication.class, args); + } + + @GetMapping("/foo") + public String foo() { + return service.foo(); + } + + @GetMapping("/bar") + public void bar() { + service.bar(); + } + + @ExceptionHandler(RuntimeException.class) + @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) + public void handleException() { + // do logging etc + } + +} diff --git a/gh-7174/src/main/java/example/FooBarService.java b/gh-7174/src/main/java/example/FooBarService.java new file mode 100644 index 0000000..b3c3e41 --- /dev/null +++ b/gh-7174/src/main/java/example/FooBarService.java @@ -0,0 +1,16 @@ +package example; + +import org.springframework.stereotype.Service; + +@Service +public class FooBarService { + + public String foo() { + return "foo"; + } + + public void bar() { + // do some bar stuff + } + +} diff --git a/gh/src/main/resources/logback.xml b/gh-7174/src/main/resources/logback.xml similarity index 84% rename from gh/src/main/resources/logback.xml rename to gh-7174/src/main/resources/logback.xml index 202161f..1b185bb 100644 --- a/gh/src/main/resources/logback.xml +++ b/gh-7174/src/main/resources/logback.xml @@ -10,6 +10,4 @@ - - \ No newline at end of file diff --git a/gh-7174/src/test/java/example/BarTest.java b/gh-7174/src/test/java/example/BarTest.java new file mode 100644 index 0000000..fbc2ce9 --- /dev/null +++ b/gh-7174/src/test/java/example/BarTest.java @@ -0,0 +1,29 @@ +package example; + +import org.junit.Test; +import org.junit.runner.RunWith; +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.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import static org.mockito.Mockito.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; + +@RunWith(SpringRunner.class) +@WebMvcTest +public class BarTest { + + @MockBean FooBarService service; + @Autowired MockMvc mockMvc; + + @Test + public void shouldReturnStatus500() throws Exception { + doThrow(new RuntimeException()).when(service).bar(); + + mockMvc.perform(get("/bar")) + .andExpect(status().isInternalServerError()); + } + +} diff --git a/gh-7174/src/test/java/example/FooTest.java b/gh-7174/src/test/java/example/FooTest.java new file mode 100644 index 0000000..3b3ce20 --- /dev/null +++ b/gh-7174/src/test/java/example/FooTest.java @@ -0,0 +1,29 @@ +package example; + +import org.junit.Test; +import org.junit.runner.RunWith; +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.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import static org.mockito.Mockito.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; + +@RunWith(SpringRunner.class) +@WebMvcTest +public class FooTest { + + @MockBean FooBarService service; + @Autowired MockMvc mockMvc; + + @Test + public void shouldReturnXYZ() throws Exception { + final String expected = "xyz"; + when(service.foo()).thenReturn(expected); + mockMvc.perform(get("/foo")) + .andExpect(content().string(expected)); + } + +} diff --git a/gh/src/main/java/example/FooBarApplication.java b/gh/src/main/java/example/FooBarApplication.java deleted file mode 100644 index 4ac4f47..0000000 --- a/gh/src/main/java/example/FooBarApplication.java +++ /dev/null @@ -1,4 +0,0 @@ -package example; - -public class FooBarApplication { -} diff --git a/gh/src/main/java/example/FooBarService.java b/gh/src/main/java/example/FooBarService.java deleted file mode 100644 index ee56642..0000000 --- a/gh/src/main/java/example/FooBarService.java +++ /dev/null @@ -1,4 +0,0 @@ -package example; - -public class FooBarService { -} diff --git a/gh/src/test/java/example/BarTest.java b/gh/src/test/java/example/BarTest.java deleted file mode 100644 index 6c18995..0000000 --- a/gh/src/test/java/example/BarTest.java +++ /dev/null @@ -1,4 +0,0 @@ -package example; - -public class BarTest { -} diff --git a/gh/src/test/java/example/FooTest.java b/gh/src/test/java/example/FooTest.java deleted file mode 100644 index 224a34a..0000000 --- a/gh/src/test/java/example/FooTest.java +++ /dev/null @@ -1,4 +0,0 @@ -package example; - -public class FooTest { -}