diff --git a/bescheid-manager/pom.xml b/bescheid-manager/pom.xml index 0b9174c6394ee1d61ac7380a2ad9b1e3c7c3b4a4..61d6f145b22eb3861f8c3b380dadf503a656b6a4 100644 --- a/bescheid-manager/pom.xml +++ b/bescheid-manager/pom.xml @@ -5,19 +5,19 @@ <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-parent</artifactId> - <version>4.1.0-SNAPSHOT</version> + <version>4.1.0</version> <relativePath /> </parent> <groupId>de.ozgcloud.bescheid</groupId> <artifactId>bescheid-manager</artifactId> <name>OZG-Cloud Bescheid Manager</name> - <version>1.11.0-SNAPSHOT</version> + <version>1.12.0-SNAPSHOT</version> <properties> - <vorgang-manager.version>2.7.0-SNAPSHOT</vorgang-manager.version> - <nachrichten-manager.version>2.7.0-SNAPSHOT</nachrichten-manager.version> - <api-lib.version>0.8.0-SNAPSHOT</api-lib.version> + <vorgang-manager.version>2.7.0</vorgang-manager.version> + <nachrichten-manager.version>2.7.0</nachrichten-manager.version> + <api-lib.version>0.8.0</api-lib.version> </properties> <dependencies> 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 f42a7e841b38f91dcd97dce4111c21ef29cdc499..2016ea933f0c61b98a22b8ef0e04492e0df6af6e 100644 --- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java +++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java @@ -42,7 +42,6 @@ import de.ozgcloud.bescheid.binaryfile.BinaryFileService; import de.ozgcloud.bescheid.common.callcontext.CurrentUserService; import de.ozgcloud.bescheid.common.user.UserProfileService; 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; @@ -97,7 +96,7 @@ class BescheidEventListener { private final ApplicationEventPublisher eventPublisher; private final CurrentUserService userService; private final UserProfileService userProfileService; - private final Optional<SmartDocumentsProperties> smartDocumentsProperties; + private final BescheidFeatureProperties bescheidFeatureProperties; @EventListener(condition = IS_CREATE_BESCHEID) public void onCreateBescheidCommand(CommandCreatedEvent event) { @@ -105,7 +104,7 @@ class BescheidEventListener { } void doCreateBescheid(Command command) { - if (isKielEnvironment()) { + if (bescheidFeatureProperties.isKielHackathonRoute()) { var bescheid = doCreateBescheidBiz(command); nachrichtService.createNachrichtDraft(bescheid); eventPublisher.publishEvent(new BescheidCreatedEvent(command)); @@ -115,11 +114,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 538ae8150df7b0214c8a4cfdb619d1cb1cda3305..1b0011890ab72654176613f9dfd31ec1eb41fdc8 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 f3947126d90c9f007a8d70e98512b219e8a9739d..4f6cf30d7290c65804d6a0e36ac0615b0c338a94 100644 --- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java +++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java @@ -27,6 +27,8 @@ class BescheidEventListenerITCase { @Autowired private ApplicationEventPublisher publisher; + @Autowired + private BescheidFeatureProperties bescheidFeatureProperties; @MockBean private BescheidService service; @@ -54,6 +56,11 @@ class BescheidEventListenerITCase { private final Command command = CommandTestFactory.createBuilder().order(BescheidEventListener.CREATE_BESCHEID_ORDER).build(); + @BeforeEach + void init() { + bescheidFeatureProperties.setKielHackathonRoute(true); + } + @Test void shouldCallService() { publisher.publishEvent(CommandCreatedEventTestFactory.withCommand(command)); 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 dafbf73ec6832bbee34546b533257941aef6ebd0..1288fbea070e6808012351618bf72a299175d5c1 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; @@ -33,7 +31,6 @@ import de.ozgcloud.bescheid.common.user.UserProfile; import de.ozgcloud.bescheid.common.user.UserProfileService; import de.ozgcloud.bescheid.common.user.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; @@ -106,7 +103,7 @@ class BescheidEventListenerTest { @BeforeEach void init() { - doReturn(true).when(listener).isKielEnvironment(); + when(featureProperties.isKielHackathonRoute()).thenReturn(true); } @Test @@ -139,11 +136,6 @@ class BescheidEventListenerTest { @Nested class TestNotKielConfigured { - @BeforeEach - void init() { - doReturn(false).when(listener).isKielEnvironment(); - } - @Test void shouldCallCreateBescheidDraft() { listener.doCreateBescheid(COMMAND); @@ -179,42 +171,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 { diff --git a/pom.xml b/pom.xml index bf4b4ecfcb007964954c36bad24cdd8a480f897e..932548a53e4b251175c1bc14c218649d10b4e3c4 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>de.ozgcloud.vorgang</groupId> <artifactId>vorgang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <name>OZG-Cloud Vorgang Manager</name> <packaging>pom</packaging> diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml index 0464a755bb25b31585354a835303c2d5430e0c76..a214474306bab66d3938489b9d640cff05320762 100644 --- a/src/main/helm/templates/deployment.yaml +++ b/src/main/helm/templates/deployment.yaml @@ -197,6 +197,10 @@ spec: - name: ozgcloud_feature_bescheid_enableDummyDocumentProcessor value: {{ quote (((.Values.ozgcloud).feature).bescheid).enableDummyDocumentProcessor }} {{- end }} + {{- if (((.Values.ozgcloud).feature).bescheid).kielHackathonRoute }} + - name: ozgcloud_feature_bescheid_kielHackathonRoute + value: {{ quote (((.Values.ozgcloud).feature).bescheid).kielHackathonRoute }} + {{- end }} {{- if (.Values.ozgcloud).processors}} {{- range $processor_index, $processor := (.Values.ozgcloud).processors }} diff --git a/src/test/helm/deployment_kiel_hackathon_route_test.yaml b/src/test/helm/deployment_kiel_hackathon_route_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f7879e4739ff4b8a6c67770701492f7210790ce7 --- /dev/null +++ b/src/test/helm/deployment_kiel_hackathon_route_test.yaml @@ -0,0 +1,45 @@ +# +# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den +# Ministerpräsidenten des Landes Schleswig-Holstein +# Staatskanzlei +# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung +# +# Lizenziert unter der EUPL, Version 1.2 oder - sobald +# diese von der Europäischen Kommission genehmigt wurden - +# Folgeversionen der EUPL ("Lizenz"); +# Sie dürfen dieses Werk ausschließlich gemäß +# dieser Lizenz nutzen. +# Eine Kopie der Lizenz finden Sie hier: +# +# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 +# +# Sofern nicht durch anwendbare Rechtsvorschriften +# gefordert oder in schriftlicher Form vereinbart, wird +# die unter der Lizenz verbreitete Software "so wie sie +# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - +# ausdrücklich oder stillschweigend - verbreitet. +# Die sprachspezifischen Genehmigungen und Beschränkungen +# unter der Lizenz sind dem Lizenztext zu entnehmen. +# + +suite: deployment toggle to activate kiel hackathon route +release: + name: vorgang-manager + namespace: sh-helm-test +templates: + - templates/deployment.yaml +set: + imagePullSecret: image-pull-secret + ozgcloud: + environment: dev + feature: + bescheid: + kielHackathonRoute: true +tests: + - it: should enable kiel hackathon toggle + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: ozgcloud_feature_bescheid_kielHackathonRoute + value: "true" diff --git a/vorgang-manager-base/pom.xml b/vorgang-manager-base/pom.xml index 16aaa67122d0dbcbb8bb5a398e981fed2e1293ab..0d1cbc9a981c91685fce643bf4f7a42abfc81923 100644 --- a/vorgang-manager-base/pom.xml +++ b/vorgang-manager-base/pom.xml @@ -6,13 +6,13 @@ <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-parent</artifactId> - <version>4.1.0-SNAPSHOT</version> + <version>4.1.0</version> <relativePath /> </parent> <groupId>de.ozgcloud.vorgang</groupId> <artifactId>vorgang-manager-base</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <name>OZG-Cloud Vorgang Manager Base</name> diff --git a/vorgang-manager-command/pom.xml b/vorgang-manager-command/pom.xml index ed489b6236cce36418c132be176d709394b0a1f8..4058d2f771ae7168354eccb62ef47bf5b9b0dcab 100644 --- a/vorgang-manager-command/pom.xml +++ b/vorgang-manager-command/pom.xml @@ -4,13 +4,13 @@ <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-dependencies</artifactId> - <version>4.1.0-SNAPSHOT</version> + <version>4.1.0</version> <relativePath/> </parent> <groupId>de.ozgcloud.command</groupId> <artifactId>command-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <name>OZG-Cloud Command Manager</name> <properties> diff --git a/vorgang-manager-interface/pom.xml b/vorgang-manager-interface/pom.xml index ca299a6d8eb8f93ad3c36d8daadc1b94b267081a..ef11a775162970e7b43de22ac331af96f1099c35 100644 --- a/vorgang-manager-interface/pom.xml +++ b/vorgang-manager-interface/pom.xml @@ -30,13 +30,13 @@ <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-dependencies</artifactId> - <version>4.1.0-SNAPSHOT</version> + <version>4.1.0</version> <relativePath/> </parent> <groupId>de.ozgcloud.vorgang</groupId> <artifactId>vorgang-manager-interface</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <name>OZG-Cloud Vorgang Manager gRPC Interface</name> <description>Interface (gRPC) for Vorgang Manager Server</description> diff --git a/vorgang-manager-server/pom.xml b/vorgang-manager-server/pom.xml index a7eb857b2513f868d27f73a78a70284ab7b83e33..157251c1a1f3de988bc1466ff78316d304ff583c 100644 --- a/vorgang-manager-server/pom.xml +++ b/vorgang-manager-server/pom.xml @@ -32,13 +32,13 @@ <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-parent</artifactId> - <version>4.1.0-SNAPSHOT</version> + <version>4.1.0</version> <relativePath /> </parent> <groupId>de.ozgcloud.vorgang</groupId> <artifactId>vorgang-manager-server</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <name>OZG-Cloud Vorgang Manager Server</name> <description>Server Implementierung des VorgangManagers</description> @@ -53,10 +53,11 @@ <zufi-manager-interface.version>1.0.0-SNAPSHOT</zufi-manager-interface.version> <user-manager-interface.version>2.1.0</user-manager-interface.version> - <bescheid-manager.version>1.11.0-SNAPSHOT</bescheid-manager.version> + <bescheid-manager.version>1.11.0</bescheid-manager.version> <processor-manager.version>0.4.0</processor-manager.version> <ozgcloud-starter.version>0.7.0</ozgcloud-starter.version> - <nachrichten-manager.version>2.7.0-SNAPSHOT</nachrichten-manager.version> + <nachrichten-manager.version>2.7.0</nachrichten-manager.version> + <notification-manager.version>2.7.0</notification-manager.version> <zip.version>2.11.1</zip.version> <jsoup.version>1.15.3</jsoup.version> @@ -110,7 +111,7 @@ <dependency> <groupId>de.ozgcloud.notification</groupId> <artifactId>notification-manager</artifactId> - <version>${project.version}</version> + <version>${notification-manager.version}</version> <scope>runtime</scope> </dependency> diff --git a/vorgang-manager-utils/pom.xml b/vorgang-manager-utils/pom.xml index 24b78b3a4bf638fbc7ba91582fe1fed92a0a789f..c4d82666c2311a74617af0cf9a26dd916956a8bd 100644 --- a/vorgang-manager-utils/pom.xml +++ b/vorgang-manager-utils/pom.xml @@ -30,14 +30,14 @@ <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-dependencies</artifactId> - <version>4.1.0-SNAPSHOT</version> + <version>4.1.0</version> <relativePath/> </parent> <groupId>de.ozgcloud.vorgang</groupId> <artifactId>vorgang-manager-utils</artifactId> <name>OZG-Cloud Vorgang Manager Utils</name> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <properties> <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>