Newer
Older
package de.ozgcloud.admin;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
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;
import lombok.SneakyThrows;
@ExtendWith(MockitoExtension.class)
class RootControllerTest {
@Spy
@InjectMocks
private RootController rootController;
@Mock
private BuildProperties buildProperties;
private MockMvc mockMvc;
@BeforeEach
void mock() {
mockMvc = MockMvcBuilders.standaloneSetup(rootController).build();
}
@DisplayName("Root")
@Nested
class TestInfo {
@Test
@SneakyThrows
void shouldHaveJavaVersion() {
System.setProperty("java.version", RootTestFactory.JAVA_VERSION);
result.andExpect(jsonPath("$.javaVersion").value(RootTestFactory.JAVA_VERSION));
when(buildProperties.getVersion()).thenReturn(RootTestFactory.BUILD_VERSION);
result.andExpect(jsonPath("$.buildVersion").value(RootTestFactory.BUILD_VERSION));
}
@Test
@SneakyThrows
void shouldHaveBuildTime() {
when(buildProperties.getTime()).thenReturn(RootTestFactory.BUILD_TIME);
result.andExpect(jsonPath("$.buildTime").value(RootTestFactory.BUILD_TIME.getEpochSecond()));
}
@Test
@SneakyThrows
void shouldHaveBuildNumber() {
when(buildProperties.get("number")).thenReturn(RootTestFactory.BUILD_NUMBER);
result.andExpect(jsonPath("$.buildNumber").value(RootTestFactory.BUILD_NUMBER));