From a2d0de245398145c75459b241689391b47ed266a Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 9 May 2024 12:37:28 +0200 Subject: [PATCH] OZG-5697 add toggle to activate kiel hackathon route --- .../bescheid/BescheidEventListener.java | 10 +--- .../bescheid/BescheidFeatureProperties.java | 4 ++ .../bescheid/BescheidEventListenerITCase.java | 13 ++++-- .../bescheid/BescheidEventListenerTest.java | 46 +------------------ 4 files changed, 17 insertions(+), 56 deletions(-) diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java index 7da2c36ae..7a98cf917 100644 --- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java +++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java @@ -41,7 +41,6 @@ import de.ozgcloud.bescheid.attacheditem.AttachedItemService; import de.ozgcloud.bescheid.binaryfile.BinaryFileService; import de.ozgcloud.bescheid.common.callcontext.CurrentUserService; import de.ozgcloud.bescheid.nachricht.NachrichtService; -import de.ozgcloud.bescheid.smartdocuments.SmartDocumentsProperties; import de.ozgcloud.bescheid.vorgang.VorgangId; import de.ozgcloud.command.Command; import de.ozgcloud.command.CommandCreatedEvent; @@ -95,7 +94,7 @@ class BescheidEventListener { private final ApplicationEventPublisher eventPublisher; private final CurrentUserService userService; - private final Optional<SmartDocumentsProperties> smartDocumentsProperties; + private final BescheidFeatureProperties bescheidFeatureProperties; @EventListener(condition = IS_CREATE_BESCHEID) public void onCreateBescheidCommand(CommandCreatedEvent event) { @@ -103,7 +102,7 @@ class BescheidEventListener { } void doCreateBescheid(Command command) { - if (isKielEnvironment()) { + if (bescheidFeatureProperties.isKielHackathonRoute()) { var bescheid = doCreateBescheidBiz(command); nachrichtService.createNachrichtDraft(bescheid); eventPublisher.publishEvent(new BescheidCreatedEvent(command)); @@ -113,11 +112,6 @@ class BescheidEventListener { eventPublisher.publishEvent(new BescheidCreatedEvent(command, createdItemId)); } - boolean isKielEnvironment() { - Predicate<SmartDocumentsProperties> configuredForKiel = properties -> TEMPLATE_GROUP_KIEL.equals(properties.getTemplateGroup()); - return smartDocumentsProperties.filter(configuredForKiel).isPresent(); - } - @EventListener(condition = IS_DELETE_BESCHEID) public void onDeleteBescheid(CommandCreatedEvent event) { runWithSecurityContext(event.getSource(), this::doDeleteBescheid); diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidFeatureProperties.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidFeatureProperties.java index 538ae8150..1b0011890 100644 --- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidFeatureProperties.java +++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidFeatureProperties.java @@ -27,11 +27,15 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import lombok.Getter; +import lombok.Setter; @Configuration @ConfigurationProperties(prefix = "ozgcloud.feature.bescheid") @Getter +@Setter public class BescheidFeatureProperties { private boolean storeAsDocument = false; + + private boolean kielHackathonRoute = false; } diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java index 3728f3c86..749783d0d 100644 --- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java +++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java @@ -26,6 +26,8 @@ class BescheidEventListenerITCase { @Autowired private ApplicationEventPublisher publisher; + @Autowired + private BescheidFeatureProperties bescheidFeatureProperties; @MockBean private BescheidService service; @@ -49,7 +51,12 @@ class BescheidEventListenerITCase { @Nested class TestCreateBescheid { - private Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.CREATE_BESCHEID_ORDER).build(); + private final Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.CREATE_BESCHEID_ORDER).build(); + + @BeforeEach + void init() { + bescheidFeatureProperties.setKielHackathonRoute(true); + } @Test void shouldCallService() { @@ -69,7 +76,7 @@ class BescheidEventListenerITCase { @Nested class TestDeleteBescheid { - private Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.DELETE_BESCHEID_ORDER).build(); + private final Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.DELETE_BESCHEID_ORDER).build(); @Test void shouldCallService() { @@ -89,7 +96,7 @@ class BescheidEventListenerITCase { @Nested class TestUpdateBescheid { - private Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.UPDATE_BESCHEID_ORDER).build(); + private final Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.UPDATE_BESCHEID_ORDER).build(); @Test void shouldCallService() { diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java index babf3dda4..593195a2f 100644 --- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java +++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java @@ -7,7 +7,6 @@ import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Map; -import java.util.Optional; import java.util.function.Consumer; import org.junit.jupiter.api.Assertions; @@ -22,7 +21,6 @@ import org.mockito.Mock; import org.mockito.Spy; import org.springframework.context.ApplicationEventPublisher; import org.springframework.security.core.context.SecurityContext; -import org.springframework.test.util.ReflectionTestUtils; import de.ozgcloud.bescheid.attacheditem.AttachedItem; import de.ozgcloud.bescheid.attacheditem.AttachedItemService; @@ -32,7 +30,6 @@ import de.ozgcloud.bescheid.common.callcontext.CurrentUserService; import de.ozgcloud.bescheid.common.callcontext.UserProfile; import de.ozgcloud.bescheid.common.callcontext.UserProfileTestFactory; import de.ozgcloud.bescheid.nachricht.NachrichtService; -import de.ozgcloud.bescheid.smartdocuments.SmartDocumentsProperties; import de.ozgcloud.command.Command; import de.ozgcloud.command.CommandCreatedEventTestFactory; import de.ozgcloud.command.CommandFailedEvent; @@ -103,7 +100,7 @@ class BescheidEventListenerTest { @BeforeEach void init() { - doReturn(true).when(listener).isKielEnvironment(); + when(featureProperties.isKielHackathonRoute()).thenReturn(true); } @Test @@ -136,11 +133,6 @@ class BescheidEventListenerTest { @Nested class TestNotKielConfigured { - @BeforeEach - void init() { - doReturn(false).when(listener).isKielEnvironment(); - } - @Test void shouldCallCreateBescheidDraft() { listener.doCreateBescheid(COMMAND); @@ -176,42 +168,6 @@ class BescheidEventListenerTest { } - @Nested - class TestIsKielEnvironment { - - @Mock - private SmartDocumentsProperties smartDocumentsProperties; - - @Test - void shouldReturnTrueIfKiel() { - when(smartDocumentsProperties.getTemplateGroup()).thenReturn("Kiel"); - ReflectionTestUtils.setField(listener, "smartDocumentsProperties", Optional.of(smartDocumentsProperties)); - - var result = listener.isKielEnvironment(); - - assertThat(result).isTrue(); - } - - @Test - void shouldReturnFalseIfNotConfigured() { - ReflectionTestUtils.setField(listener, "smartDocumentsProperties", Optional.empty()); - - var result = listener.isKielEnvironment(); - - assertThat(result).isFalse(); - } - - @Test - void shouldReturnFalseIfNotKiel() { - when(smartDocumentsProperties.getTemplateGroup()).thenReturn("NotKiel"); - ReflectionTestUtils.setField(listener, "smartDocumentsProperties", Optional.of(smartDocumentsProperties)); - - var result = listener.isKielEnvironment(); - - assertThat(result).isFalse(); - } - } - @Nested class TestCreateBescheidRequest { -- GitLab