From 9dee918e576d05159ef425f3ab04ee2eaadf9bce Mon Sep 17 00:00:00 2001 From: cheolwon1994 Date: Sun, 5 Nov 2023 16:26:00 +0900 Subject: [PATCH] Generate health check code --- .../batch/resource/HealthCheckController.java | 18 +++++++++ .../resource/HealthCheckControllerTest.java | 39 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 src/main/java/com/catcher/batch/resource/HealthCheckController.java create mode 100644 src/test/java/com/catcher/batch/resource/HealthCheckControllerTest.java diff --git a/src/main/java/com/catcher/batch/resource/HealthCheckController.java b/src/main/java/com/catcher/batch/resource/HealthCheckController.java new file mode 100644 index 0000000..5e6202e --- /dev/null +++ b/src/main/java/com/catcher/batch/resource/HealthCheckController.java @@ -0,0 +1,18 @@ +package com.catcher.batch.resource; + +import lombok.RequiredArgsConstructor; +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; + +@RequiredArgsConstructor +@RestController +@RequestMapping("/health") +public class HealthCheckController { + + @GetMapping + public ResponseEntity healthCheck(){ + return ResponseEntity.ok("ok"); + } +} diff --git a/src/test/java/com/catcher/batch/resource/HealthCheckControllerTest.java b/src/test/java/com/catcher/batch/resource/HealthCheckControllerTest.java new file mode 100644 index 0000000..597e375 --- /dev/null +++ b/src/test/java/com/catcher/batch/resource/HealthCheckControllerTest.java @@ -0,0 +1,39 @@ +package com.catcher.batch.resource; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.http.MediaType; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.ResultActions; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; + +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@WebMvcTest( + value = HealthCheckController.class, + excludeAutoConfiguration = {SecurityAutoConfiguration.class} +) +class HealthCheckControllerTest { + + @Autowired + private MockMvc mockMvc; + + @DisplayName("Health check 검사가 성공적으로 반환된다") + @Test + void health_check_and_receive_ok() throws Exception { + //given + + //when + ResultActions resultActions = mockMvc.perform( + MockMvcRequestBuilders + .get("/health") + .contentType(MediaType.APPLICATION_JSON) + ); + + //Then + resultActions.andExpect(status().isOk()); + } +} \ No newline at end of file