diff --git a/build.gradle b/build.gradle index ec5a348..04dd6f9 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,8 @@ sonar { property 'sonar.sources', 'src' property 'sonar.language', 'java' property 'sonar.sourceEncoding', 'UTF-8' - property "sonar.exclusions", "**/*Application*.java" + property("sonar.test.inclusions", "**/*Test.kt") + property "sonar.exclusions", "**/test/**, **/*Application*.java" property "sonar.java.coveragePlugin", "jacoco" property 'sonar.coverage.jacoco.xmlReportPaths', 'build/reports/jacoco/test/jacocoTestReport.xml' } diff --git a/src/main/java/everymeal/server/infra/HealthCheckController.java b/src/main/java/everymeal/server/infra/HealthCheckController.java new file mode 100644 index 0000000..29e2ac8 --- /dev/null +++ b/src/main/java/everymeal/server/infra/HealthCheckController.java @@ -0,0 +1,16 @@ +package everymeal.server.infra; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/health-check") +public class HealthCheckController { + + @GetMapping + public String healthCheck() { + return "Server is Up!"; + } + +} diff --git a/src/test/java/everymeal/server/infra/HealthCheckControllerTest.java b/src/test/java/everymeal/server/infra/HealthCheckControllerTest.java new file mode 100644 index 0000000..42a3f9b --- /dev/null +++ b/src/test/java/everymeal/server/infra/HealthCheckControllerTest.java @@ -0,0 +1,32 @@ +package everymeal.server.infra; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import everymeal.server.infra.HealthCheckController; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.test.web.servlet.MockMvc; + +@WebMvcTest(HealthCheckController.class) +class HealthCheckControllerTest { + + @Autowired + MockMvc mvc; + + @Test + @DisplayName("health-check") + void healthCheck() throws Exception { + //given + String hello = "Server is Up!"; + //when + + //then + mvc.perform(get("/health-check")) + .andExpect(status().isOk()) + .andExpect(content().string(hello)); + } +} \ No newline at end of file