diff --git a/.forge/runtime-role-matrix-live-20260714111146-v10-developer-001-attempt-1-run-9365f49b01fc.md b/.forge/runtime-role-matrix-live-20260714111146-v10-developer-001-attempt-1-run-9365f49b01fc.md new file mode 100644 index 0000000..c667d2e --- /dev/null +++ b/.forge/runtime-role-matrix-live-20260714111146-v10-developer-001-attempt-1-run-9365f49b01fc.md @@ -0,0 +1,3 @@ +# runtime-role-matrix-live-20260714111146-v10-developer-001-attempt-1-run-9365f49b01fc + +Forge 이슈 작업 브랜치 `forge/runtime-role-matrix-live-20260714111146-v10-developer-001-attempt-1-run-9365f49b01fc`. diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2f3dc7f --- /dev/null +++ b/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 3.2.5 + + + + com.developer + developer-role-smoke + 1.0.0 + jar + Developer Role Smoke Test + Spring Boot smoke application for Developer role + + + 17 + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/src/main/java/com/developer/DeveloperApplication.java b/src/main/java/com/developer/DeveloperApplication.java new file mode 100644 index 0000000..086200e --- /dev/null +++ b/src/main/java/com/developer/DeveloperApplication.java @@ -0,0 +1,12 @@ +package com.developer; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class DeveloperApplication { + + public static void main(String[] args) { + SpringApplication.run(DeveloperApplication.class, args); + } +} diff --git a/src/main/java/com/developer/service/DeveloperService.java b/src/main/java/com/developer/service/DeveloperService.java new file mode 100644 index 0000000..2e87c2c --- /dev/null +++ b/src/main/java/com/developer/service/DeveloperService.java @@ -0,0 +1,19 @@ +package com.developer.service; + +import org.springframework.stereotype.Service; + +@Service +public class DeveloperService { + + public String getRole() { + return "Developer"; + } + + public String getRoleDescription() { + return "Software Developer responsible for implementation"; + } + + public boolean isValidRole(String role) { + return "Developer".equals(role); + } +} diff --git a/src/test/java/com/developer/service/DeveloperServiceTest.java b/src/test/java/com/developer/service/DeveloperServiceTest.java new file mode 100644 index 0000000..640218b --- /dev/null +++ b/src/test/java/com/developer/service/DeveloperServiceTest.java @@ -0,0 +1,43 @@ +package com.developer.service; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +@SpringBootTest +class DeveloperServiceTest { + + @Autowired + private DeveloperService developerService; + + @Test + void contextLoads() { + assertNotNull(developerService); + } + + @Test + void getRole_ReturnsDeveloper() { + String role = developerService.getRole(); + assertNotNull(role); + assertTrue(role.contains("Developer")); + } + + @Test + void getRoleDescription_ReturnsDescription() { + String description = developerService.getRoleDescription(); + assertNotNull(description); + assertTrue(description.length() > 0); + } + + @Test + void isValidRole_ValidatesCorrectly() { + assertTrue(developerService.isValidRole("Developer")); + assertFalse(developerService.isValidRole("Admin")); + assertFalse(developerService.isValidRole("")); + assertFalse(developerService.isValidRole(null)); + } +}