diff --git a/src/main/java/de/ozgcloud/admin/Root.java b/src/main/java/de/ozgcloud/admin/Root.java index 1b2e658d4bc581baf1bcc5df56d81b95a74b3aa1..b5658c3ff6a812571e2dcb10e2ba4fcc6e524740 100644 --- a/src/main/java/de/ozgcloud/admin/Root.java +++ b/src/main/java/de/ozgcloud/admin/Root.java @@ -7,7 +7,7 @@ import lombok.Getter; @Builder @Getter -class Root { +public class Root { private String javaVersion; private String buildVersion; private Instant buildTime; diff --git a/src/main/java/de/ozgcloud/admin/RootController.java b/src/main/java/de/ozgcloud/admin/RootController.java index b0fca622fe7b88f1f936a37375078ea5247b86c8..bf17388b3274c557be524e5dc1d48e8dc347a7b2 100644 --- a/src/main/java/de/ozgcloud/admin/RootController.java +++ b/src/main/java/de/ozgcloud/admin/RootController.java @@ -1,5 +1,6 @@ package de.ozgcloud.admin; +import org.springframework.boot.info.BuildProperties; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -12,7 +13,7 @@ import lombok.RequiredArgsConstructor; public class RootController { static final String PATH = "/api"; // NOSONAR - private final RootService rootService; + private final BuildProperties buildProperties; @GetMapping public Root getRoot() { @@ -21,10 +22,10 @@ public class RootController { private Root buildRoot() { return Root.builder() - .javaVersion(rootService.getJavaVersion()) - .buildTime(rootService.getBuildTime()) - .buildVersion(rootService.getVersion()) - .buildNumber(rootService.getBuildNumber()) + .javaVersion(System.getProperty("java.version")) + .buildTime(buildProperties.getTime()) + .buildVersion(buildProperties.getVersion()) + .buildNumber(buildProperties.get("number")) .build(); } diff --git a/src/main/java/de/ozgcloud/admin/RootService.java b/src/main/java/de/ozgcloud/admin/RootService.java deleted file mode 100644 index a78e230be0f581d6c0d400dea11ed0a6dc0d9e18..0000000000000000000000000000000000000000 --- a/src/main/java/de/ozgcloud/admin/RootService.java +++ /dev/null @@ -1,31 +0,0 @@ -package de.ozgcloud.admin; - -import java.time.Instant; -import java.util.Optional; - -import org.springframework.boot.info.BuildProperties; -import org.springframework.stereotype.Service; - -import lombok.RequiredArgsConstructor; - -@Service -@RequiredArgsConstructor -class RootService { - private final Optional<BuildProperties> buildProperties; - - public String getVersion() { - return buildProperties.map(BuildProperties::getVersion).orElse("--"); - } - - public Instant getBuildTime() { - return buildProperties.map(BuildProperties::getTime).orElse(null); - } - - public String getJavaVersion() { - return System.getProperty("java.version"); - } - - public String getBuildNumber() { - return buildProperties.map(p -> p.get("number")).orElse("?"); - } -} diff --git a/src/test/java/de/ozgcloud/admin/RootControllerTest.java b/src/test/java/de/ozgcloud/admin/RootControllerTest.java index 2dc7e661641bcb2bce559cf5b60436190c48118e..f2e35aae3631b6179a8c2941c3524296fcfa6b8e 100644 --- a/src/test/java/de/ozgcloud/admin/RootControllerTest.java +++ b/src/test/java/de/ozgcloud/admin/RootControllerTest.java @@ -4,10 +4,6 @@ import static org.mockito.Mockito.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; -import java.time.Instant; -import java.time.LocalDateTime; -import java.time.ZoneOffset; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; @@ -17,6 +13,7 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Spy; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.boot.info.BuildProperties; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.setup.MockMvcBuilders; @@ -25,18 +22,13 @@ import lombok.SneakyThrows; @ExtendWith(MockitoExtension.class) class RootControllerTest { - final Instant sampleTime = LocalDateTime.parse("2021-04-01T10:30").toInstant(ZoneOffset.UTC); - final String javaVersion = "1"; - final String buildVersion = "2"; - final String buildNumber = "3"; - final String buildUrl = "url://test"; @Spy @InjectMocks private RootController rootController; @Mock - private RootService rootService; + private BuildProperties buildProperties; private MockMvc mockMvc; @@ -52,41 +44,41 @@ class RootControllerTest { @Test @SneakyThrows void shouldHaveJavaVersion() { - when(rootService.getJavaVersion()).thenReturn(javaVersion); + System.setProperty("java.version", RootTestFactory.JAVA_VERSION); ResultActions result = doRequest(); - result.andExpect(jsonPath("$.javaVersion").value(javaVersion)); + result.andExpect(jsonPath("$.javaVersion").value(RootTestFactory.JAVA_VERSION)); } @Test @SneakyThrows void shouldHaveVersion() { - when(rootService.getVersion()).thenReturn(buildVersion); + when(buildProperties.getVersion()).thenReturn(RootTestFactory.BUILD_VERSION); ResultActions result = doRequest(); - result.andExpect(jsonPath("$.buildVersion").value(buildVersion)); + result.andExpect(jsonPath("$.buildVersion").value(RootTestFactory.BUILD_VERSION)); } @Test @SneakyThrows void shouldHaveBuildTime() { - when(rootService.getBuildTime()).thenReturn(sampleTime); + when(buildProperties.getTime()).thenReturn(RootTestFactory.BUILD_TIME); ResultActions result = doRequest(); - result.andExpect(jsonPath("$.buildTime").value(sampleTime.getEpochSecond())); + result.andExpect(jsonPath("$.buildTime").value(RootTestFactory.BUILD_TIME.getEpochSecond())); } @Test @SneakyThrows void shouldHaveBuildNumber() { - when(rootService.getBuildNumber()).thenReturn(buildNumber); + when(buildProperties.get("number")).thenReturn(RootTestFactory.BUILD_NUMBER); ResultActions result = doRequest(); - result.andExpect(jsonPath("$.buildNumber").value(buildNumber)); + result.andExpect(jsonPath("$.buildNumber").value(RootTestFactory.BUILD_NUMBER)); } @SneakyThrows diff --git a/src/test/java/de/ozgcloud/admin/RootTestFactory.java b/src/test/java/de/ozgcloud/admin/RootTestFactory.java index a3d7e41bf61df93013e0e33ba5706f27eed76d2f..e0879c7530926dbbe52514acab93f2bf3cf63820 100644 --- a/src/test/java/de/ozgcloud/admin/RootTestFactory.java +++ b/src/test/java/de/ozgcloud/admin/RootTestFactory.java @@ -10,16 +10,5 @@ public class RootTestFactory { public static final String JAVA_VERSION = "1"; public static final String BUILD_VERSION = "2"; public static final String BUILD_NUMBER = "3"; - - public static Root create() { - return createBuilder().build(); - } - - public static Root.RootBuilder createBuilder() { - return Root.builder() - .buildTime(BUILD_TIME) - .buildVersion(BUILD_NUMBER) - .buildNumber(BUILD_NUMBER) - .javaVersion(JAVA_VERSION); - } + }