From a4ac3b50051f907747e985e1edb6540378c01b18 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 9 Nov 2023 12:48:26 +0100 Subject: [PATCH] OZG-4461 impl PR comments --- .../ozgcloud/alfa/EnvironmentController.java | 4 +- .../common/command/CommandController.java | 2 +- .../user/UserManagerClientProperties.java | 3 +- .../alfa/EnvironmentControllerTest.java | 94 ++++++++++--------- .../VorgangWithEingangProzessorTest.java | 30 +++--- 5 files changed, 75 insertions(+), 58 deletions(-) diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/EnvironmentController.java b/alfa-service/src/main/java/de/ozgcloud/alfa/EnvironmentController.java index 2ddc3671f8..fbd8861943 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/EnvironmentController.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/EnvironmentController.java @@ -33,10 +33,10 @@ import org.springframework.web.bind.annotation.RestController; import de.ozgcloud.alfa.vorgang.VorgangProcessorProperties; @RestController -@RequestMapping(EnvironmentController.PREFIX) +@RequestMapping(EnvironmentController.BASE_PATH) public class EnvironmentController { - static final String PREFIX = "/api/environment"; + static final String BASE_PATH = "/api/environment"; @Autowired private OAuth2Properties oAuth2Properties; diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandController.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandController.java index 90659220f9..cb2a9cec97 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandController.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/CommandController.java @@ -79,7 +79,7 @@ public class CommandController { @RequestMapping(CommandByRelationController.COMMAND_BY_RELATION_PATH) public static class CommandByRelationController { - static final String COMMAND_BY_RELATION_PATH = "/api/vorgangs/{vorgangId}/relations/{relationId}/{relationVersion}/commands"; // NOSONAR + public static final String COMMAND_BY_RELATION_PATH = "/api/vorgangs/{vorgangId}/relations/{relationId}/{relationVersion}/commands"; // NOSONAR @Autowired private CommandService service; diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/user/UserManagerClientProperties.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/user/UserManagerClientProperties.java index 205ddecf0c..b10c74db4c 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/user/UserManagerClientProperties.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/user/UserManagerClientProperties.java @@ -12,10 +12,11 @@ import lombok.Setter; @ConfigurationProperties(prefix = "grpc.client.user-manager") public class UserManagerClientProperties { - /* + /** * UserManager grpc adress. */ private String address; + /** * UserManager grpc negotiationType. */ diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/EnvironmentControllerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/EnvironmentControllerTest.java index eb3ab064b3..922fccbd7e 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/EnvironmentControllerTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/EnvironmentControllerTest.java @@ -30,6 +30,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import java.util.List; 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.mockito.InjectMocks; import org.mockito.Mock; @@ -57,49 +59,57 @@ class EnvironmentControllerTest { void initTest() { mockMvc = MockMvcBuilders.standaloneSetup(controller).build(); } - - @SneakyThrows - @Test - void shouldReturnOk() { - var response = doRequest(); - - response.andExpect(status().isOk()); - } - - @SneakyThrows - @Test - void shouldHaveProductionTrueAsDefault() { - when(goofyProperties.isProduction()).thenReturn(true); + + @DisplayName("Get frontend environment") + @Nested + class TestGetFrontendEnvironment { - var response = doRequest(); - - response.andExpect(jsonPath("$.production").value(true)); - } - - @SneakyThrows - @Test - void shouldHaveClientId() { - var client = "goofy"; - when(oAuth2Properties.getResource()).thenReturn(client); + private static final String CLIENT = "goofy"; + private static final boolean PRODUCTION = true; + private static final String PROCESSOR_NAME = "dummyProcessorName"; - var response = doRequest(); - - response.andExpect(jsonPath("$.clientId").value(client)); - } - - @SneakyThrows - @Test - void shouldHaveProcessorNames() { - var processorName = "dummyProcessorName"; - when(vorgangProcessorProperties.getProcessorNames()).thenReturn(List.of(processorName)); - - var response = doRequest(); - - response.andExpect(jsonPath("$.processorNames").value(processorName)); - } - - @SneakyThrows - private ResultActions doRequest() { - return mockMvc.perform(get(EnvironmentController.PREFIX)); + @BeforeEach + void init() { + when(goofyProperties.isProduction()).thenReturn(PRODUCTION); + when(oAuth2Properties.getResource()).thenReturn(CLIENT); + when(vorgangProcessorProperties.getProcessorNames()).thenReturn(List.of(PROCESSOR_NAME)); + } + + @SneakyThrows + @Test + void shouldReturnOk() { + var response = doRequest(); + + response.andExpect(status().isOk()); + } + + @SneakyThrows + @Test + void shouldHaveProductionTrueAsDefault() { + var response = doRequest(); + + response.andExpect(jsonPath("$.production").value(PRODUCTION)); + } + + @SneakyThrows + @Test + void shouldHaveClientId() { + var response = doRequest(); + + response.andExpect(jsonPath("$.clientId").value(CLIENT)); + } + + @SneakyThrows + @Test + void shouldHaveProcessorNames() { + var response = doRequest(); + + response.andExpect(jsonPath("$.processorNames").value(PROCESSOR_NAME)); + } + + @SneakyThrows + private ResultActions doRequest() { + return mockMvc.perform(get(EnvironmentController.BASE_PATH)); + } } } \ No newline at end of file diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java index e58be7dbc1..e8c3dfe13f 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/vorgang/VorgangWithEingangProzessorTest.java @@ -43,9 +43,11 @@ import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.Link; import org.springframework.hateoas.LinkRelation; import org.springframework.web.util.UriComponentsBuilder; +import org.springframework.web.util.UriTemplate; import de.ozgcloud.alfa.common.FeatureToggleProperties; import de.ozgcloud.alfa.common.UserProfileUrlProvider; +import de.ozgcloud.alfa.common.command.CommandController.CommandByRelationController; import de.ozgcloud.alfa.common.user.CurrentUserService; import de.ozgcloud.alfa.common.user.UserManagerUrlProvider; import de.ozgcloud.alfa.common.user.UserRole; @@ -489,9 +491,9 @@ class VorgangWithEingangProzessorTest { void shouldHaveCreateBescheidLink() { doReturn(true).when(processor).isCreateBescheidEnabled(vorgang); - var processed = processor.process(vorgangEntityModel); + var model = processor.process(vorgangEntityModel); - assertThat(processed.getLink(VorgangWithEingangProzessor.REL_BESCHEID)).isPresent().get() + assertThat(model.getLink(VorgangWithEingangProzessor.REL_BESCHEID)).isPresent().get() .extracting(Link::getHref) .isEqualTo("/api/vorgangs/" + VorgangHeaderTestFactory.ID + "/relations/" + VorgangHeaderTestFactory.ID + "/" + VorgangHeaderTestFactory.VERSION + "/commands"); @@ -501,9 +503,9 @@ class VorgangWithEingangProzessorTest { void shouldHaveNoLinkIfDisabled() { doReturn(false).when(processor).isCreateBescheidEnabled(vorgang); - var processed = processor.process(vorgangEntityModel); + var model = processor.process(vorgangEntityModel); - assertThat(processed.getLink(VorgangWithEingangProzessor.REL_BESCHEID)).isEmpty(); + assertThat(model.getLink(VorgangWithEingangProzessor.REL_BESCHEID)).isEmpty(); } } @@ -530,11 +532,15 @@ class VorgangWithEingangProzessorTest { @Test void shouldBeVisible() { - var processed = processor.process(vorgangEntityModel); + var entityModel = processor.process(vorgangEntityModel); - var expectedLink = String.format("/api/vorgangs/%s/relations/%s/%s/commands", VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION); - assertThat(processed.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)) - .isPresent().get().extracting(Link::getHref).isEqualTo(expectedLink); + assertThat(entityModel.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)) + .isPresent().get().extracting(Link::getHref).isEqualTo(buildExpectedLink()); + } + + private String buildExpectedLink() { + return new UriTemplate(CommandByRelationController.COMMAND_BY_RELATION_PATH) + .expand(VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION).toString(); } } @@ -547,9 +553,9 @@ class VorgangWithEingangProzessorTest { var properties = List.of(VorgangPropertyTestFactory.createBuilder().formId("quatsch").build()); when(vorgangProcessorProperties.getProcessor()).thenReturn(properties); - var processed = processor.process(vorgangEntityModel); + var model = processor.process(vorgangEntityModel); - assertThat(processed.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)).isNotPresent(); + assertThat(model.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)).isNotPresent(); } @Test @@ -557,9 +563,9 @@ class VorgangWithEingangProzessorTest { var properties = List.of(VorgangPropertyTestFactory.createBuilder().formEngineName("quatsch").build()); when(vorgangProcessorProperties.getProcessor()).thenReturn(properties); - var processed = processor.process(vorgangEntityModel); + var model = processor.process(vorgangEntityModel); - assertThat(processed.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)).isNotPresent(); + assertThat(model.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)).isNotPresent(); } } } -- GitLab