From f381707f1c0187ae4284dd337d36e0b1fc841aa8 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Tue, 14 Jul 2026 06:26:38 +0000 Subject: [PATCH] =?UTF-8?q?Developer=20=EC=97=AD=ED=95=A0=20Spring=20?= =?UTF-8?q?=EA=B3=A8=EA=B2=A9=20smoke=20(role-developer-live-1522-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/HelloControllerTest.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/test/java/com/example/demo/controller/HelloControllerTest.java diff --git a/src/test/java/com/example/demo/controller/HelloControllerTest.java b/src/test/java/com/example/demo/controller/HelloControllerTest.java new file mode 100644 index 0000000..85559c4 --- /dev/null +++ b/src/test/java/com/example/demo/controller/HelloControllerTest.java @@ -0,0 +1,48 @@ +package com.example.demo.controller; + +import com.example.demo.service.HelloService; +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.boot.test.mock.mockito.MockBean; +import org.springframework.http.MediaType; +import org.springframework.test.web.servlet.MockMvc; + +import static org.mockito.Mockito.when; +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; + +@WebMvcTest(HelloController.class) +@DisplayName("HelloController Unit Tests") +class HelloControllerTest { + + @Autowired + private MockMvc mockMvc; + + @MockBean + private HelloService helloService; + + @Test + @DisplayName("GET /api/hello returns default greeting") + void greet_ReturnsDefaultGreeting() throws Exception { + when(helloService.getGreeting()).thenReturn("Hello, World!"); + + mockMvc.perform(get("/api/hello") + .accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(content().string("Hello, World!")); + } + + @Test + @DisplayName("GET /api/hello/{name} returns personalized greeting") + void greetWithName_ReturnsPersonalizedGreeting() throws Exception { + when(helloService.getGreetingFor("Developer")).thenReturn("Hello, Developer!"); + + mockMvc.perform(get("/api/hello/Developer") + .accept(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(content().string("Hello, Developer!")); + } +}