diff --git a/src/main/java/com/finvant/coreTest/controller/HealthController.java b/src/main/java/com/finvant/coreTest/controller/HealthController.java new file mode 100644 index 0000000..f0a1651 --- /dev/null +++ b/src/main/java/com/finvant/coreTest/controller/HealthController.java @@ -0,0 +1,16 @@ +package com.finvant.coreTest.controller; + +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api") +public class HealthController { + + @GetMapping("/health") + public ResponseEntity health() { + return ResponseEntity.ok().body("{\"status\":\"UP\"}"); + } +} \ No newline at end of file diff --git a/src/test/java/com/finvant/coreTest/controller/HealthControllerTest.java b/src/test/java/com/finvant/coreTest/controller/HealthControllerTest.java new file mode 100644 index 0000000..c12cc9c --- /dev/null +++ b/src/test/java/com/finvant/coreTest/controller/HealthControllerTest.java @@ -0,0 +1,24 @@ +package com.finvant.coreTest.controller; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest; +import org.springframework.http.MediaType; +import org.springframework.test.web.reactive.MockMvc; +import org.springframework.test.web.reactive.result.MockMvcResultMatchers; +import static org.springframework.test.web.reactive.request.MockMvcRequestBuilders.get; + +@WebFluxTest(HealthController.class) +public class HealthControllerTest { + + @Autowired + private MockMvc mockMvc; + + @Test + public void healthCheckReturnsUP() throws Exception { + mockMvc.perform(get("/api/health") + .accept(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.content().json("{\"status\":\"UP\"}")); + } +} \ No newline at end of file