diff --git a/notification-manager/lombok.config b/notification-manager/lombok.config deleted file mode 100644 index d07dd9b0e2b0281fbf514a968b9451cb6af62f93..0000000000000000000000000000000000000000 --- a/notification-manager/lombok.config +++ /dev/null @@ -1,30 +0,0 @@ -# -# Copyright (C) 2022 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. -# - -lombok.log.fieldName=LOG -lombok.log.slf4j.flagUsage = ERROR -lombok.log.log4j.flagUsage = ERROR -lombok.data.flagUsage = ERROR -lombok.nonNull.exceptionType = IllegalArgumentException -lombok.addLombokGeneratedAnnotation = true \ No newline at end of file diff --git a/notification-manager/pom.xml b/notification-manager/pom.xml deleted file mode 100644 index 2820255a9ce2b3e2af5219680c3b5a1173696823..0000000000000000000000000000000000000000 --- a/notification-manager/pom.xml +++ /dev/null @@ -1,159 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - Copyright (C) 2022 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. - ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>de.ozgcloud.common</groupId> - <artifactId>ozgcloud-common-parent</artifactId> - <version>4.0.1</version> - <relativePath/> - </parent> - - <groupId>de.ozgcloud.notification</groupId> - <artifactId>notification-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> - <name>OZG-Cloud Notification Manager</name> - - <properties> - <user-manager-interface.version>2.0.0</user-manager-interface.version> - <ozgcloud.license.version>1.6.0</ozgcloud.license.version> - </properties> - - <dependencies> - <dependency> - <groupId>de.ozgcloud.vorgang</groupId> - <artifactId>vorgang-manager-interface</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>de.ozgcloud.vorgang</groupId> - <artifactId>vorgang-manager-utils</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>de.ozgcloud.command</groupId> - <artifactId>command-manager</artifactId> - <version>${project.version}</version> - </dependency> - - <dependency> - <groupId>de.ozgcloud.user</groupId> - <artifactId>user-manager-interface</artifactId> - <version>${user-manager-interface.version}</version> - <exclusions> - <exclusion> - <groupId>io.grpc</groupId> - <artifactId>grpc-core</artifactId> - </exclusion> - <exclusion> - <groupId>org.jboss.slf4j</groupId> - <artifactId>slf4j-jboss-logmanager</artifactId> - </exclusion> - </exclusions> - </dependency> - - - <!-- Spring --> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-context</artifactId> - </dependency> - - <dependency> - <groupId>net.devh</groupId> - <artifactId>grpc-client-spring-boot-starter</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-devtools</artifactId> - <scope>runtime</scope> - </dependency> - - <!-- tools --> - <dependency> - <groupId>org.mapstruct</groupId> - <artifactId>mapstruct</artifactId> - </dependency> - <dependency> - <groupId>commons-beanutils</groupId> - <artifactId>commons-beanutils</artifactId> - </dependency> - - <!-- Test --> - <dependency> - <groupId>de.ozgcloud.vorgang</groupId> - <artifactId>vorgang-manager-utils</artifactId> - <version>${project.version}</version> - <type>test-jar</type> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.jacoco</groupId> - <artifactId>jacoco-maven-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - </plugin> - - <plugin> - <groupId>com.mycila</groupId> - <artifactId>license-maven-plugin</artifactId> - <configuration> - <mapping> - <config>SCRIPT_STYLE</config> - </mapping> - <licenseSets> - <licenseSet> - <header>license/eupl_v1_2_de/header.txt</header> - <excludes> - <exclude>**/README</exclude> - <exclude>src/test/resources/**</exclude> - <exclude>src/main/resources/**</exclude> - </excludes> - </licenseSet> - </licenseSets> - </configuration> - <dependencies> - <dependency> - <groupId>de.ozgcloud.common</groupId> - <artifactId>ozgcloud-common-license</artifactId> - <version>${ozgcloud.license.version}</version> - </dependency> - </dependencies> - </plugin> - </plugins> - </build> -</project> diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/NotificationManagerCallContextAttachingInterceptor.java b/notification-manager/src/main/java/de/ozgcloud/notification/NotificationManagerCallContextAttachingInterceptor.java deleted file mode 100644 index 5c95757fd8585ad442a672faaadde129545044d8..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/NotificationManagerCallContextAttachingInterceptor.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification; - -import static de.ozgcloud.common.grpc.GrpcUtil.*; - -import java.util.UUID; - -import io.grpc.CallOptions; -import io.grpc.Channel; -import io.grpc.ClientCall; -import io.grpc.ClientInterceptor; -import io.grpc.ForwardingClientCall.SimpleForwardingClientCall; -import io.grpc.Metadata; -import io.grpc.MethodDescriptor; - -public class NotificationManagerCallContextAttachingInterceptor implements ClientInterceptor { - - static final String KEY_USER_ID = "USER_ID-bin"; - static final String KEY_CLIENT_NAME = "CLIENT_NAME-bin"; - static final String KEY_REQUEST_ID = "REQUEST_ID-bin"; - - public static final String NOTIFICATION_MANAGER_CLIENT_NAME = "OzgCloud_NotificationManager"; - static final String NOTIFICATION_MANAGER_SENDER_USER_ID = "system-notification_manager-new_vorgang"; - - // <A> = Request, <B> = Response - @Override - public <A, B> ClientCall<A, B> interceptCall(MethodDescriptor<A, B> method, CallOptions callOptions, Channel next) { - return new CallContextAttachingClientCall<>(next.newCall(method, callOptions)); - } - - final class CallContextAttachingClientCall<A, B> extends SimpleForwardingClientCall<A, B> { - - protected CallContextAttachingClientCall(ClientCall<A, B> delegate) { - super(delegate); - } - - @Override - public void start(Listener<B> responseListener, Metadata headers) { - headers.merge(buildCallContextMetadata()); - super.start(responseListener, headers); - } - - private Metadata buildCallContextMetadata() { - var metadata = new Metadata(); - - metadata.put(createKeyOf(KEY_USER_ID), NOTIFICATION_MANAGER_SENDER_USER_ID.getBytes()); - metadata.put(createKeyOf(KEY_CLIENT_NAME), NOTIFICATION_MANAGER_CLIENT_NAME.getBytes()); - metadata.put(createKeyOf(KEY_REQUEST_ID), generateRequestId().getBytes()); - - return metadata; - } - - // TODO OZG-1974 requestId zentraler erzeugen - private String generateRequestId() { - return UUID.randomUUID().toString(); - } - - } - -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationEventListener.java b/notification-manager/src/main/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationEventListener.java deleted file mode 100644 index 49d2abcf96139ea72e26b77c2666bc612d8e38b7..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationEventListener.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.antragsteller; - -import java.util.Objects; -import java.util.Optional; -import java.util.function.Predicate; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.event.EventListener; -import org.springframework.stereotype.Component; - -import de.ozgcloud.command.VorgangCreatedEvent; -import de.ozgcloud.notification.postfach.PostfachService; -import de.ozgcloud.notification.vorgang.Vorgang; -import de.ozgcloud.notification.vorgang.VorgangId; -import de.ozgcloud.notification.vorgang.VorgangService; -import lombok.extern.log4j.Log4j2; - -@Component -@Log4j2 -public class AntragstellerNotificationEventListener { - - static final String FS_FORMENGINE_NAME = "FormSolutions"; - static final String POSTFACH_NOT_CONFIGURED_MESSAGE = "Postfach is not configured. Antragsteller notifications will not be sent."; - private static final Predicate<Vorgang> EXISTS_POSTFACH_ID = vorgang -> StringUtils.isNoneBlank(vorgang.getPostfachId()); - private static final Predicate<Vorgang> EXISTS_POSTFACH_ADDRESS = vorgang -> Objects.nonNull(vorgang.getPostfachAddress()); - private static final Predicate<Vorgang> IS_FORMSOLUTIONS_FORM_ENGINE = vorgang -> StringUtils.equals(vorgang.getFormEngineName(), - FS_FORMENGINE_NAME); - private static final Predicate<Vorgang> SHOULD_SEND_NOTIFICATION = vorgang -> // - (EXISTS_POSTFACH_ID.test(vorgang) || EXISTS_POSTFACH_ADDRESS.test(vorgang)) && IS_FORMSOLUTIONS_FORM_ENGINE.test(vorgang); - - @Autowired - private AntragstellerNotificationService service; - @Autowired - private VorgangService vorgangService; - @Autowired - private PostfachService postfachService; - - private Optional<Boolean> isPostfachConfigured = Optional.empty(); - - @EventListener - public void onVorgangCreated(VorgangCreatedEvent event) { - if (isPostfachConfigured()) { - sendIfRequired(vorgangService.getVorgang(VorgangId.from(event.getSource()))); - } else { - LOG.debug(POSTFACH_NOT_CONFIGURED_MESSAGE); - } - } - - boolean isPostfachConfigured() { - return isPostfachConfigured.orElseGet(this::fetchIsPostfachConfigured); - } - - synchronized boolean fetchIsPostfachConfigured() { - return isPostfachConfigured.orElseGet(() -> { - var isConfigured = postfachService.isPostfachConfigured(); - if (!isConfigured) { - LOG.warn(POSTFACH_NOT_CONFIGURED_MESSAGE); - } - isPostfachConfigured = Optional.of(isConfigured); - return isConfigured; - }); - } - - private void sendIfRequired(Vorgang vorgang) { - if (SHOULD_SEND_NOTIFICATION.test(vorgang)) { - service.sendNotification(vorgang); - } - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationService.java b/notification-manager/src/main/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationService.java deleted file mode 100644 index 7c15e2129f61532d4bf53b33b545a9ec3eebb6ea..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationService.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.antragsteller; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.time.ZoneId; -import java.time.format.DateTimeFormatter; -import java.util.Objects; - -import org.apache.commons.io.IOUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import de.ozgcloud.common.errorhandling.TechnicalException; -import de.ozgcloud.notification.command.CommandService; -import de.ozgcloud.notification.postfach.PostfachNachricht; -import de.ozgcloud.notification.vorgang.Vorgang; - -@Service -class AntragstellerNotificationService { - - private static final String TEMPLATE_FILE = "antragsteller.notificationTemplate.txt"; - private static final String SUBJECT_TEMPLATE = "Eingangsbestätigung %s"; - - private static final String TIMEZONE = "Europe/Berlin"; - private static final String DATETIME_FORMAT = "dd.MM.yyyy HH:mm:ss"; - - @Autowired - private CommandService commandService; - - public void sendNotification(Vorgang vorgang) { - commandService.createSendPostfachNachrichtCommand(buildPostfachNachricht(vorgang)); - } - - PostfachNachricht buildPostfachNachricht(Vorgang vorgang) { - return PostfachNachricht.builder() - .vorgangId(vorgang.getId()) - .postfachId(vorgang.getPostfachId()) - .postfachAddress(vorgang.getPostfachAddress()) - .mailBody(formatMessage(vorgang)) - .subject(formatSubject(vorgang)) - .build(); - } - - String formatMessage(Vorgang vorgang) { - return String.format(loadTemplate(), - vorgang.getCreatedAt().withZoneSameInstant(ZoneId.of(TIMEZONE)).format(DateTimeFormatter.ofPattern(DATETIME_FORMAT)), - vorgang.getVorgangNummer()); - } - - private String loadTemplate() { - var templateInStream = AntragstellerNotificationService.class.getClassLoader().getResourceAsStream(TEMPLATE_FILE); - if (Objects.isNull(templateInStream)) { - throw new TechnicalException("Cannot find template file " + TEMPLATE_FILE); - } - try { - return IOUtils.toString(templateInStream, StandardCharsets.UTF_8); - } catch (IOException e) { - throw new TechnicalException("Error reading template file", e); - } - } - - String formatSubject(Vorgang vorgang) { - return String.format(SUBJECT_TEMPLATE, vorgang.getVorgangName()); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/command/Command.java b/notification-manager/src/main/java/de/ozgcloud/notification/command/Command.java deleted file mode 100644 index 113cedcb06b34e6f26a20cbc589c6424198434bf..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/command/Command.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -import java.util.Map; - -import de.ozgcloud.notification.vorgang.VorgangId; -import lombok.Builder; -import lombok.Getter; - -@Getter -@Builder -class Command { - - enum CommandOrder { - SEND_POSTFACH_NACHRICHT - } - - private VorgangId vorgangId; - private String relationId; - private CommandOrder order; - - private Map<String, Object> body; -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandBody.java b/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandBody.java deleted file mode 100644 index 345a447925a1e43b828a6b04093e961428943341..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandBody.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -public interface CommandBody { - -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandMapper.java b/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandMapper.java deleted file mode 100644 index 026e16e27d5f477976b3942ad9ddf0aa3882ee3e..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandMapper.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -import java.util.Optional; - -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; - -import de.ozgcloud.notification.vorgang.VorgangId; -import de.ozgcloud.vorgang.common.grpc.GrpcObjectMapper; -import de.ozgcloud.vorgang.grpc.command.GrpcCreateCommandRequest; - -@Mapper(uses = GrpcObjectMapper.class) -interface CommandMapper { - - @Mapping(target = "mergeFrom", ignore = true) - @Mapping(target = "clearField", ignore = true) - @Mapping(target = "clearOneof", ignore = true) - @Mapping(target = "mergeBodyObj", ignore = true) - @Mapping(target = "mergeCallContext", ignore = true) - @Mapping(target = "mergeRedirectRequest", ignore = true) - @Mapping(target = "mergeUnknownFields", ignore = true) - @Mapping(target = "removeBody", ignore = true) - @Mapping(target = "callContext", ignore = true) - @Mapping(target = "orderStringBytes", ignore = true) - @Mapping(target = "order", ignore = true) - @Mapping(target = "orderValue", ignore = true) - @Mapping(target = "redirectRequest", ignore = true) - @Mapping(target = "relationIdBytes", ignore = true) - @Mapping(target = "relationVersion", ignore = true) - @Mapping(target = "unknownFields", ignore = true) - @Mapping(target = "vorgangIdBytes", ignore = true) - @Mapping(target = "allFields", ignore = true) - @Mapping(target = "bodyBuilderList", ignore = true) - @Mapping(target = "bodyList", ignore = true) - @Mapping(target = "bodyOrBuilderList", ignore = true) - - @Mapping(target = "bodyObj", source = "body") - @Mapping(target = "orderString", source = "order") - GrpcCreateCommandRequest toGrpcRequest(Command command); - - default String toString(VorgangId vorgangId) { - return Optional.ofNullable(vorgangId) - .map(VorgangId::toString) - .orElse(null); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandRemoteService.java b/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandRemoteService.java deleted file mode 100644 index 21bfd4983be83641f5abd667bdf2b875dd03dceb..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandRemoteService.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import de.ozgcloud.vorgang.grpc.command.CommandServiceGrpc.CommandServiceBlockingStub; -import de.ozgcloud.notification.NotificationManagerCallContextAttachingInterceptor; -import net.devh.boot.grpc.client.inject.GrpcClient; - -@Service -class CommandRemoteService { - - @GrpcClient("pluto") - private CommandServiceBlockingStub stub; - @Autowired - private CommandMapper mapper; - - public void createCommand(Command command) { - stub.withInterceptors(new NotificationManagerCallContextAttachingInterceptor()).createCommand(mapper.toGrpcRequest(command)); - } - -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandService.java b/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandService.java deleted file mode 100644 index 953b00a7477defc78b77979b4a9ce604ac202dbc..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/command/CommandService.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Objects; -import java.util.function.Predicate; - -import org.apache.commons.beanutils.BeanMap; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import de.ozgcloud.notification.command.Command.CommandOrder; -import de.ozgcloud.notification.postfach.PostfachAddress; -import de.ozgcloud.notification.postfach.PostfachAddressIdentifier; -import de.ozgcloud.notification.postfach.PostfachNachricht; -import de.ozgcloud.notification.postfach.StringBasedIdentifier; - -@Service("notificationCommandService") -public class CommandService { - - private static final Predicate<Entry<Object, Object>> IS_NOT_CLASS_KEY = entry -> !StringUtils.equals(entry.getKey().toString(), "class"); - - @Autowired - private CommandRemoteService commandRemoteService; - - public void createSendPostfachNachrichtCommand(PostfachNachricht nachricht) { - commandRemoteService.createCommand(buildCommand(nachricht)); - } - - Command buildCommand(PostfachNachricht nachricht) { - return Command.builder() - .vorgangId(nachricht.getVorgangId()) - .relationId(nachricht.getVorgangId().toString()) - .order(CommandOrder.SEND_POSTFACH_NACHRICHT) - .body(toMap(nachricht)) - .build(); - } - - Map<String, Object> toMap(PostfachNachricht nachricht) { - var result = new HashMap<String, Object>(); - - new BeanMap(nachricht).entrySet().stream() - .filter(entry -> Objects.nonNull(entry.getValue())) - .filter(IS_NOT_CLASS_KEY) - .forEach(entry -> result.put(entry.getKey().toString(), getValue(entry.getValue()))); - - return Collections.unmodifiableMap(result); - } - - private Object getValue(Object value) { - if (value instanceof PostfachAddress postfachAddress) { - return buildPostfachAddressMap(postfachAddress); - } - return value; - } - - private Map<String, Object> buildPostfachAddressMap(PostfachAddress postfachAddress){ - return Map.of(PostfachAddress.TYPE_FIELD, postfachAddress.getType(), - PostfachAddress.VERSION_FIELD, postfachAddress.getVersion(), - PostfachAddress.IDENTIFIER_FIELD, buildPostfachAddressIdentifierMap(postfachAddress.getIdentifier())); - } - - private Map<String, Object> buildPostfachAddressIdentifierMap(PostfachAddressIdentifier identifier){ - return Map.of(StringBasedIdentifier.POSTFACH_ID_FIELD, ((StringBasedIdentifier) identifier).getPostfachId()); - } -} \ No newline at end of file diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/email/EmailRecipientMapper.java b/notification-manager/src/main/java/de/ozgcloud/notification/email/EmailRecipientMapper.java deleted file mode 100644 index a30a2d2778116564f8372947aa96f105a238c667..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/email/EmailRecipientMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.email; - -import de.ozgcloud.nachrichten.email.GrpcRecipient; -import de.ozgcloud.notification.user.Recipient; - -import org.mapstruct.Mapper; - -@Mapper -interface EmailRecipientMapper { - - GrpcRecipient toGrpc(Recipient recipient); - -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/email/EmailRemoteService.java b/notification-manager/src/main/java/de/ozgcloud/notification/email/EmailRemoteService.java deleted file mode 100644 index 55c4423fbb7735b4f8610be71b67f0feac987020..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/email/EmailRemoteService.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.email; - -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import de.ozgcloud.nachrichten.email.EmailServiceGrpc.EmailServiceBlockingStub; -import de.ozgcloud.nachrichten.email.GrpcRecipient; -import de.ozgcloud.nachrichten.email.GrpcSendEmailRequest; -import de.ozgcloud.notification.NotificationManagerCallContextAttachingInterceptor; -import lombok.NonNull; -import net.devh.boot.grpc.client.inject.GrpcClient; - -@Service -public class EmailRemoteService { - - @GrpcClient("email") - private EmailServiceBlockingStub emailServiceStub; - - @Autowired - private EmailRecipientMapper recipientMapper; - - public void sendEmail(@NonNull UserEmail email) { - var grpcEmailRecipients = email.recipients().stream().map(recipientMapper::toGrpc).toList(); - emailServiceStub.withInterceptors(new NotificationManagerCallContextAttachingInterceptor()) - .sendEmail(buildRequest(grpcEmailRecipients, email.subject(), email.body())); - } - - private GrpcSendEmailRequest buildRequest(List<GrpcRecipient> grpcRecipients, String subject, String body) { - return GrpcSendEmailRequest.newBuilder().addAllRecipients(grpcRecipients).setSubject(subject).setBody(body).build(); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/email/UserEmail.java b/notification-manager/src/main/java/de/ozgcloud/notification/email/UserEmail.java deleted file mode 100644 index 8410d7a79c8e5353e68a198d071db98bc8d07f90..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/email/UserEmail.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.email; - -import de.ozgcloud.notification.user.Recipient; -import lombok.Builder; -import lombok.Singular; - -import java.util.List; - -@Builder -public record UserEmail(@Singular List<Recipient> recipients, String subject, String body) { -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachAddress.java b/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachAddress.java deleted file mode 100644 index d7fe49e360c27eb2538303a0eae6cbe85c48d456..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachAddress.java +++ /dev/null @@ -1,17 +0,0 @@ -package de.ozgcloud.notification.postfach; - -import lombok.Builder; -import lombok.Getter; - -@Getter -@Builder -public class PostfachAddress { - - public static final String VERSION_FIELD = "version"; - public static final String TYPE_FIELD = "type"; - public static final String IDENTIFIER_FIELD = "identifier"; - - private String version; - private int type; - private PostfachAddressIdentifier identifier; -} \ No newline at end of file diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachAddressIdentifier.java b/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachAddressIdentifier.java deleted file mode 100644 index 3cb1eb983ef49d4268873d924e5416fc35eb4d84..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachAddressIdentifier.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.ozgcloud.notification.postfach; - -public interface PostfachAddressIdentifier { - -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachNachricht.java b/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachNachricht.java deleted file mode 100644 index f710e79ca547a53478711daaa00d3209d4aa3312..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachNachricht.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.postfach; - -import de.ozgcloud.notification.command.CommandBody; -import de.ozgcloud.notification.vorgang.VorgangId; -import lombok.Builder; -import lombok.Getter; - -@Getter -@Builder -public class PostfachNachricht implements CommandBody { - - static final String FIELD_VORGANG_ID = "vorgangId"; - static final String FIELD_POSTFACH_ID = "postfachId"; - public static final String FIELD_POSTFACH_ADDRESS = "postfachAddress"; - static final String FIELD_SUBJECT = "subject"; - static final String FIELD_MESSAGE = "mailBody"; - - static final String FIELD_REPLY_OPTION = "replyOption"; - static final String DEFAULT_REPLY_OPTION = "FORBIDDEN"; - - private VorgangId vorgangId; - private String postfachId; - private PostfachAddress postfachAddress; - - private String subject; - private String mailBody; - - public String getReplyOption() { - return DEFAULT_REPLY_OPTION; - } - -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachRemoteService.java b/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachRemoteService.java deleted file mode 100644 index dcbdca72ee0c5f07f2da1885608e7989db7240e4..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachRemoteService.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2023 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. - */ -package de.ozgcloud.notification.postfach; - -import org.springframework.stereotype.Service; - -import de.ozgcloud.nachrichten.postfach.GrpcIsPostfachConfiguredRequest; -import de.ozgcloud.nachrichten.postfach.PostfachServiceGrpc.PostfachServiceBlockingStub; -import de.ozgcloud.notification.NotificationManagerCallContextAttachingInterceptor; -import net.devh.boot.grpc.client.inject.GrpcClient; - -@Service -class PostfachRemoteService { - - @GrpcClient("pluto") - private PostfachServiceBlockingStub postfachServiceBlockingStub; - - public boolean isPostfachConfigured() { - return getPostfachServiceStub().isPostfachConfigured(buildGrpcRequest()).getIsConfigured(); - } - - GrpcIsPostfachConfiguredRequest buildGrpcRequest() { - return GrpcIsPostfachConfiguredRequest.newBuilder().build(); - } - - PostfachServiceBlockingStub getPostfachServiceStub() { - return postfachServiceBlockingStub.withInterceptors(new NotificationManagerCallContextAttachingInterceptor()); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachService.java b/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachService.java deleted file mode 100644 index 750c96894ae3f4125d8d17fdefe35cadcf36513f..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/PostfachService.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2023 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. - */ -package de.ozgcloud.notification.postfach; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -@Service("notificationPostfachService") -public class PostfachService { - - @Autowired - private PostfachRemoteService postfachRemoteService; - - public boolean isPostfachConfigured() { - return postfachRemoteService.isPostfachConfigured(); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/StringBasedIdentifier.java b/notification-manager/src/main/java/de/ozgcloud/notification/postfach/StringBasedIdentifier.java deleted file mode 100644 index 499ad64f64e3e223543a732b73998c96116817e5..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/postfach/StringBasedIdentifier.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.ozgcloud.notification.postfach; - -import lombok.Builder; -import lombok.Getter; - -@Getter -@Builder -public class StringBasedIdentifier implements PostfachAddressIdentifier { - - public static final String POSTFACH_ID_FIELD = "postfachId"; - - private String postfachId; - -} \ No newline at end of file diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/user/Recipient.java b/notification-manager/src/main/java/de/ozgcloud/notification/user/Recipient.java deleted file mode 100644 index b6dde90cfb54ad064efbbe78fa21caf43ea0db3a..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/user/Recipient.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import lombok.Builder; - -@Builder -public record Recipient(String firstName, String lastName, String email) { -} \ No newline at end of file diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/user/UserNotificationEventListener.java b/notification-manager/src/main/java/de/ozgcloud/notification/user/UserNotificationEventListener.java deleted file mode 100644 index 822680b504116642384a95bd03621d6665b348f9..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/user/UserNotificationEventListener.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.event.EventListener; -import org.springframework.stereotype.Component; - -import de.ozgcloud.command.VorgangCreatedEvent; -import de.ozgcloud.notification.vorgang.VorgangId; -import de.ozgcloud.notification.vorgang.VorgangService; - -@Component -public class UserNotificationEventListener { - - @Autowired - private UserNotificationService userNotificationService; - - @Autowired - private VorgangService vorgangService; - - @EventListener - public void onVorgangCreated(VorgangCreatedEvent event) { - userNotificationService.sendNotification(vorgangService.getVorgang(VorgangId.from(event.getSource()))); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/user/UserNotificationService.java b/notification-manager/src/main/java/de/ozgcloud/notification/user/UserNotificationService.java deleted file mode 100644 index e9f02888862d5ec80be071c362b75a15c95be9b3..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/user/UserNotificationService.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import static java.util.Objects.*; - -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; - -import de.ozgcloud.notification.email.EmailRemoteService; -import de.ozgcloud.notification.email.UserEmail; -import de.ozgcloud.notification.vorgang.Vorgang; -import lombok.NonNull; - -@Service -public class UserNotificationService { - - public static final String MAIL_SUBJECT_TEMPLATE = "Neuer Vorgang: %s"; - public static final String MAIL_BODY = "Es ist ein neuer Vorgang im Allgemeinen Fachverfahren eingegangen."; - - @Autowired - private EmailRemoteService emailRemoteService; - - @Autowired - private UserRemoteService userRemoteService; - - @Async - public void sendNotification(@NonNull Vorgang vorgang) { - if (nonNull(vorgang.getOrganisationseinheitenId())) { - var recipients = userRemoteService.getRecipients(vorgang.getOrganisationseinheitenId()); - emailRemoteService.sendEmail(buildUserEmail(recipients, MAIL_SUBJECT_TEMPLATE.formatted(vorgang.getVorgangName()))); - } - } - - UserEmail buildUserEmail(List<Recipient> recipients, String subject) { - return UserEmail.builder().recipients(recipients).subject(subject).body(MAIL_BODY).build(); - } -} \ No newline at end of file diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/user/UserRecipientMapper.java b/notification-manager/src/main/java/de/ozgcloud/notification/user/UserRecipientMapper.java deleted file mode 100644 index fd0bdd0dd270d4828274715442b60f4fbdfa486d..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/user/UserRecipientMapper.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import org.mapstruct.Mapper; - -import de.ozgcloud.user.recipient.GrpcRecipient; - -@Mapper -interface UserRecipientMapper { - - Recipient fromGrpc(GrpcRecipient grpcRecipient); -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/user/UserRemoteService.java b/notification-manager/src/main/java/de/ozgcloud/notification/user/UserRemoteService.java deleted file mode 100644 index 95f934e3d6db814a66f7b0d313208e2152b59003..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/user/UserRemoteService.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import de.ozgcloud.notification.NotificationManagerCallContextAttachingInterceptor; -import de.ozgcloud.user.grpc.recipient.GrpcFindRecipientRequest; -import de.ozgcloud.user.grpc.recipient.RecipientServiceGrpc; -import net.devh.boot.grpc.client.inject.GrpcClient; - -@Service -public class UserRemoteService { - - @GrpcClient("user-manager") - private RecipientServiceGrpc.RecipientServiceBlockingStub stub; - @Autowired - private UserRecipientMapper mapper; - - public List<Recipient> getRecipients(String organisationseinheitId) { - var request = GrpcFindRecipientRequest.newBuilder().setOrganisationsEinheitId(organisationseinheitId).build(); - return stub.withInterceptors(new NotificationManagerCallContextAttachingInterceptor()) - .findRecipientByOrganisationsEinheitId(request).getRecipientList().stream().map(mapper::fromGrpc).toList(); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/Vorgang.java b/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/Vorgang.java deleted file mode 100644 index 63ddbbb7d3cf84b139e36d5c5333243321b51291..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/Vorgang.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import java.time.ZonedDateTime; - -import de.ozgcloud.notification.postfach.PostfachAddress; -import lombok.Builder; -import lombok.Getter; - -@Getter -@Builder(toBuilder = true) -public class Vorgang { - - private VorgangId id; - - private ZonedDateTime createdAt; - - private String vorgangName; - private String vorgangNummer; - - private String postfachId; - private String formEngineName; - private String organisationseinheitenId; - - private PostfachAddress postfachAddress; -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangId.java b/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangId.java deleted file mode 100644 index e3c50bbd606c952b3d3eefadebfef0148e0a995c..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangId.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import de.ozgcloud.common.datatype.StringBasedValue; -import lombok.EqualsAndHashCode; - -@EqualsAndHashCode(callSuper = true) -public class VorgangId extends StringBasedValue { - - VorgangId(String vorgangId) { - super(vorgangId); - } - - public static VorgangId from(String vorgangId) { - return new VorgangId(vorgangId); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangMapper.java b/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangMapper.java deleted file mode 100644 index e20a60f402c5197a861a4d25d1dfe029a29da23c..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangMapper.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import java.util.Optional; - -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.NullValueCheckStrategy; -import org.mapstruct.NullValuePropertyMappingStrategy; - -import de.ozgcloud.notification.postfach.PostfachAddress; -import de.ozgcloud.notification.postfach.PostfachAddressIdentifier; -import de.ozgcloud.notification.postfach.StringBasedIdentifier; -import de.ozgcloud.vorgang.common.GrpcObject; -import de.ozgcloud.vorgang.vorgang.GrpcPostfachAddress; -import de.ozgcloud.vorgang.vorgang.GrpcServiceKonto; -import de.ozgcloud.vorgang.vorgang.GrpcVorgangHead; -import de.ozgcloud.vorgang.vorgang.GrpcVorgangWithEingang; - -@Mapper(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.SET_TO_NULL, - nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) -interface VorgangMapper { - - @Mapping(target = "postfachId", source = "eingang.antragsteller.postfachId") - @Mapping(target = "vorgangName", source = "name") - @Mapping(target = "vorgangNummer", source = "nummer") - @Mapping(target = "organisationseinheitenId", source = "eingang.zustaendigeStelle.organisationseinheitenId") - @Mapping(target = "postfachAddress", expression = "java(fromPostfachAddress(vorgang))") - Vorgang fromGrpc(GrpcVorgangWithEingang vorgang); - - default PostfachAddress fromPostfachAddress(GrpcVorgangWithEingang vorgang) { - return Optional.ofNullable(vorgang.getHeader()) - .map(GrpcVorgangHead::getServiceKonto) - .map(GrpcServiceKonto::getPostfachAddressesList) - .filter(list -> !list.isEmpty()) - .map(list -> list.get(0)) - .map(this::buildPostfachAddress) - .orElse(null); - } - - private PostfachAddress buildPostfachAddress(GrpcPostfachAddress postfachAddress) { - return PostfachAddress.builder() - .type(postfachAddress.getType()) - .version(postfachAddress.getVersion()) - .identifier(buildIdentifier(postfachAddress.getIdentifier())) - .build(); - } - - private PostfachAddressIdentifier buildIdentifier(GrpcObject identifier) { - var postfachId = identifier.getProperty(0).getValue(0); - return StringBasedIdentifier.builder().postfachId(postfachId).build(); - } - - default VorgangId fromString(String vorgangId) { - return Optional.ofNullable(vorgangId).map(VorgangId::from).orElse(null); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangRemoteService.java b/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangRemoteService.java deleted file mode 100644 index a93e799cd58fe017bd1f462f9d0d13f594fe3e3c..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangRemoteService.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import de.ozgcloud.notification.NotificationManagerCallContextAttachingInterceptor; -import de.ozgcloud.vorgang.vorgang.GrpcFindVorgangWithEingangRequest; -import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub; -import net.devh.boot.grpc.client.inject.GrpcClient; - -@Service -class VorgangRemoteService { - - @GrpcClient("vorgang-manager") - private VorgangServiceBlockingStub stub; - - @Autowired - private VorgangMapper mapper; - - public Vorgang getVorgang(VorgangId vorgangId) { - return mapper.fromGrpc(stub.withInterceptors(new NotificationManagerCallContextAttachingInterceptor()) - .findVorgangWithEingang(buildRequest(vorgangId)).getVorgangWithEingang()); - } - - private GrpcFindVorgangWithEingangRequest buildRequest(VorgangId vorgangId) { - return GrpcFindVorgangWithEingangRequest.newBuilder() - .setId(vorgangId.toString()) - .build(); - } -} diff --git a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangService.java b/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangService.java deleted file mode 100644 index 07e144cc36e72253ee6c123a8a7823ffb049e30a..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/java/de/ozgcloud/notification/vorgang/VorgangService.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -@Service("notificationVorgangService") -public class VorgangService { - - @Autowired - private VorgangRemoteService remoteService; - - public Vorgang getVorgang(VorgangId id) { - return remoteService.getVorgang(id); - } - -} diff --git a/notification-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/notification-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 08abec6c597ed602bc6a36d5de3111b9a0d66a74..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1,20 +0,0 @@ -net.devh.boot.grpc.client.autoconfigure.GrpcClientAutoConfiguration -net.devh.boot.grpc.client.autoconfigure.GrpcClientMetricAutoConfiguration -net.devh.boot.grpc.client.autoconfigure.GrpcClientHealthAutoConfiguration -net.devh.boot.grpc.client.autoconfigure.GrpcClientSecurityAutoConfiguration -net.devh.boot.grpc.client.autoconfigure.GrpcClientTraceAutoConfiguration -net.devh.boot.grpc.client.autoconfigure.GrpcDiscoveryClientAutoConfiguration -net.devh.boot.grpc.common.autoconfigure.GrpcCommonCodecAutoConfiguration -net.devh.boot.grpc.common.autoconfigure.GrpcCommonTraceAutoConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcAdviceAutoConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcHealthServiceAutoConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcMetadataConsulConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcMetadataEurekaConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcMetadataNacosConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcMetadataZookeeperConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcReflectionServiceAutoConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcServerAutoConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcServerFactoryAutoConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcServerMetricAutoConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcServerSecurityAutoConfiguration -net.devh.boot.grpc.server.autoconfigure.GrpcServerTraceAutoConfiguration diff --git a/notification-manager/src/main/resources/antragsteller.notificationTemplate.txt b/notification-manager/src/main/resources/antragsteller.notificationTemplate.txt deleted file mode 100644 index b0a386d8b956bf5a7e918f32aa6e8df0e23492d8..0000000000000000000000000000000000000000 --- a/notification-manager/src/main/resources/antragsteller.notificationTemplate.txt +++ /dev/null @@ -1,11 +0,0 @@ -Sehr geehrte/r Antragstellende/r, - -Ihr Antrag ist bei uns zum Zeitpunkt %s eingegangen und wurde an die zuständige Stelle gesendet. -Die Vorgangsnummer lautet %s. - -Bitte geben Sie diese Vorgangsnummer bei allen Anfragen zu Ihrem Antrag an. - -Mit freundlichen Grüßen, -Ihre Online-Behörde. - -Diese E-Mail wurde automatisch generiert. Bitte antworten Sie nicht auf diese E-Mail. \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/NotificationManagerCallContextAttachingInterceptorTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/NotificationManagerCallContextAttachingInterceptorTest.java deleted file mode 100644 index 7c28db1270edac0fde4eca40fa61b92a672e8f53..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/NotificationManagerCallContextAttachingInterceptorTest.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification; - -import static de.ozgcloud.common.grpc.GrpcUtil.*; -import static de.ozgcloud.notification.NotificationManagerCallContextAttachingInterceptor.*; -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.InjectMocks; -import org.mockito.Mock; - -import io.grpc.CallOptions; -import io.grpc.Channel; -import io.grpc.ClientCall; -import io.grpc.Metadata; -import io.grpc.MethodDescriptor; - -class NotificationManagerCallContextAttachingInterceptorTest { - - @InjectMocks - private NotificationManagerCallContextAttachingInterceptor interceptor; - - @Nested - class TestInterceptCall<A, B> { - - @Mock - private MethodDescriptor<A, B> method; - @Mock - private CallOptions callOptions; - @Mock - private Channel next; - @Mock - private ClientCall<Object, Object> nextCall; - - @Mock - private ClientCall.Listener<B> listener; - @Mock - private Metadata headers; - @Captor - private ArgumentCaptor<Metadata> metadataCaptor; - - @BeforeEach - void initMocks() { - when(next.newCall(any(), any())).thenReturn(nextCall); - } - - @Test - void shouldAddUserId() { - var addedMetadata = interceptCall(); - - assertThat(addedMetadata.get(createKeyOf(KEY_USER_ID))).isEqualTo(NOTIFICATION_MANAGER_SENDER_USER_ID.getBytes()); - } - - @Test - void shouldAddClientName() { - var addedMetadata = interceptCall(); - - assertThat(addedMetadata.get(createKeyOf(KEY_CLIENT_NAME))).isEqualTo(NOTIFICATION_MANAGER_CLIENT_NAME.getBytes()); - } - - @Test - void shouldAddRequestId() { - var addedMetadata = interceptCall(); - - assertThat(addedMetadata.get(createKeyOf(KEY_REQUEST_ID))).isNotNull(); - } - - private Metadata interceptCall() { - var call = interceptor.interceptCall(method, callOptions, next); - - call.start(listener, headers); - - verify(headers).merge(metadataCaptor.capture()); - return metadataCaptor.getValue(); - } - } - -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationEventListenerTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationEventListenerTest.java deleted file mode 100644 index e404877af9ef038cac013fe70a5640fc2a45f9eb..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationEventListenerTest.java +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.antragsteller; - -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -import java.util.Optional; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.Executors; -import java.util.stream.IntStream; - -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; -import org.mockito.Spy; -import org.springframework.test.util.ReflectionTestUtils; - -import de.ozgcloud.command.VorgangCreatedEvent; -import de.ozgcloud.notification.postfach.PostfachService; -import de.ozgcloud.notification.vorgang.Vorgang; -import de.ozgcloud.notification.vorgang.VorgangService; -import de.ozgcloud.notification.vorgang.VorgangTestFactory; -import lombok.SneakyThrows; - -class AntragstellerNotificationEventListenerTest { - - @Spy - @InjectMocks - private AntragstellerNotificationEventListener eventListener; - - @Mock - private AntragstellerNotificationService service; - @Mock - private VorgangService vorgangService; - @Mock - private PostfachService postfachService; - - @DisplayName("On vorgang created") - @Nested - class TestOnVorgangCreated { - - private static final VorgangCreatedEvent EVENT = new VorgangCreatedEvent(VorgangTestFactory.ID.toString()); - private static final Vorgang VORGANG = VorgangTestFactory.createBuilder() - .formEngineName(AntragstellerNotificationEventListener.FS_FORMENGINE_NAME).build(); - - @Test - void shouldLoadVorgang() { - when(postfachService.isPostfachConfigured()).thenReturn(true); - when(vorgangService.getVorgang(any())).thenReturn(VORGANG); - - onVorgangCreated(); - - verify(vorgangService).getVorgang(VorgangTestFactory.ID); - } - - @DisplayName("should not send notification when postfach is not configured") - @Test - void shouldNotSend() { - when(postfachService.isPostfachConfigured()).thenReturn(false); - - onVorgangCreated(); - - verify(vorgangService, never()).getVorgang(any()); - } - - @Nested - class TestIsPostfachConfigured { - - @Test - void shouldCallFetchIsPostfachService() { - eventListener.isPostfachConfigured(); - - verify(eventListener).fetchIsPostfachConfigured(); - } - - @Test - void shouldNotCallFetchIsPostfachService() { - ReflectionTestUtils.setField(eventListener, "isPostfachConfigured", Optional.of(true)); - - eventListener.isPostfachConfigured(); - - verify(eventListener, never()).fetchIsPostfachConfigured(); - } - - @Test - void shouldReturnValue() { - when(postfachService.isPostfachConfigured()).thenReturn(true); - - var isConfigured = eventListener.isPostfachConfigured(); - - assertThat(isConfigured).isTrue(); - } - - } - - @Nested - class TestFetchIsPostfachConfigured { - - @Test - void shouldCallRemoteService() { - eventListener.fetchIsPostfachConfigured(); - - verify(postfachService).isPostfachConfigured(); - } - - @Test - void shouldReturnValue() { - when(postfachService.isPostfachConfigured()).thenReturn(true); - - var isConfigured = eventListener.fetchIsPostfachConfigured(); - - assertThat(isConfigured).isTrue(); - } - - @Test - void shouldCallIsPostfachConfiguredOnce() { - fetchIsPostfachConfigured(); - - verify(postfachService).isPostfachConfigured(); - } - - @SneakyThrows - private void fetchIsPostfachConfigured() { - var executorService = Executors.newFixedThreadPool(5); - var countDownLatch = new CountDownLatch(3); - - IntStream.range(0, 3).forEach(i -> - executorService.submit(() -> { - eventListener.fetchIsPostfachConfigured(); - countDownLatch.countDown(); - }) - ); - - countDownLatch.await(); - } - } - - @DisplayName("send if required") - @Nested - class TestSendIfRequirest { - - @DisplayName("should not call service") - @Nested - class TestNotCallService { - - @BeforeEach - void setup() { - when(postfachService.isPostfachConfigured()).thenReturn(true); - } - - @Test - void onMissingPostfachIdAndPostfachAddress() { - when(vorgangService.getVorgang(any())).thenReturn(VORGANG.toBuilder().postfachId(null).postfachAddress(null).build()); - - onVorgangCreated(); - - verify(service, never()).sendNotification(any()); - } - - @Test - void forOtherThanFormSolutionsEngines() { - when(vorgangService.getVorgang(any())).thenReturn(VorgangTestFactory.createBuilder().formEngineName("other").build()); - - onVorgangCreated(); - - verify(service, never()).sendNotification(any()); - } - } - - @DisplayName("should call service") - @Nested - class TestCallService { - - @BeforeEach - void setup() { - when(postfachService.isPostfachConfigured()).thenReturn(true); - } - - @Test - void onExistingPostfachIdAndPostfachAddress() { - when(vorgangService.getVorgang(any())).thenReturn(VORGANG); - - onVorgangCreated(); - - verify(service).sendNotification(same(VORGANG)); - } - - @Test - void onExistingPostfachIdAndMissingPostfachAddress() { - when(vorgangService.getVorgang(any())).thenReturn(VORGANG.toBuilder().postfachAddress(null).build()); - - onVorgangCreated(); - - verify(service).sendNotification(any()); - } - - @Test - void onMissingPostfachIdAndExistingPostfachAddress() { - when(vorgangService.getVorgang(any())).thenReturn(VORGANG.toBuilder().postfachId(null).build()); - - onVorgangCreated(); - - verify(service).sendNotification(any()); - } - } - } - - private void onVorgangCreated() { - eventListener.onVorgangCreated(EVENT); - } - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationServiceTest.java deleted file mode 100644 index 429e4e47b0968cc2a0d05b772770c90c86bbc261..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/antragsteller/AntragstellerNotificationServiceTest.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.antragsteller; - -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -import java.time.ZonedDateTime; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Spy; - -import de.ozgcloud.notification.command.CommandService; -import de.ozgcloud.notification.postfach.PostfachAddressTestFactory; -import de.ozgcloud.notification.postfach.PostfachNachricht; -import de.ozgcloud.notification.postfach.PostfachNachrichtTestFactory; -import de.ozgcloud.notification.vorgang.VorgangTestFactory; - -class AntragstellerNotificationServiceTest { - - @Spy - @InjectMocks - private AntragstellerNotificationService service; - @Mock - private CommandService commandService; - - @Captor - private ArgumentCaptor<PostfachNachricht> nachrichtCaptor; - - @DisplayName("Send notification") - @Nested - class TestSendNotification { - - @Test - void shouldCallCommandService() { - service.sendNotification(VorgangTestFactory.create()); - - verify(commandService).createSendPostfachNachrichtCommand(nachrichtCaptor.capture()); - - assertThat(nachrichtCaptor.getValue()) - .usingRecursiveComparison().ignoringFields("mailBody", "subject") - .isEqualTo(PostfachNachrichtTestFactory.create()); - } - - @Nested - class BuildPostfachNachricht { - @Test - void shouldFormatMessage() { - service.buildPostfachNachricht(VorgangTestFactory.create()); - - verify(service).formatMessage(any()); - } - - @Test - void shouldFormSubject() { - service.buildPostfachNachricht(VorgangTestFactory.create()); - - verify(service).formatSubject(any()); - } - - @Test - void shouldHaveVorgangId() { - var nachricht = service.buildPostfachNachricht(VorgangTestFactory.create()); - - assertThat(nachricht.getVorgangId()).isEqualTo(VorgangTestFactory.ID); - } - - @Test - void shouldHavePostfachId() { - var nachricht = service.buildPostfachNachricht(VorgangTestFactory.create()); - - assertThat(nachricht.getPostfachId()).isEqualTo(VorgangTestFactory.POSTFACH_ID); - } - - @Test - void shouldHavePostfachAddress() { - var nachricht = service.buildPostfachNachricht(VorgangTestFactory.create()); - - assertThat(nachricht.getPostfachAddress()).usingRecursiveComparison().isEqualTo(PostfachAddressTestFactory.create()); - } - } - - @Nested - class FormatMessage { - - @Test - void shouldContaineDateTimeInMEZ() { - var vorgang = VorgangTestFactory.createBuilder().createdAt(ZonedDateTime.parse("2001-01-01T05:00:00Z")).build(); - - var message = service.formatMessage(vorgang); - - assertThat(message).contains("01.01.2001 06:00:00"); - } - - @Test - void shouldContaineDateTimeInMESZ() { - var vorgang = VorgangTestFactory.createBuilder().createdAt(ZonedDateTime.parse("2001-08-01T05:00:00Z")).build(); - - var message = service.formatMessage(vorgang); - - assertThat(message).contains("01.08.2001 07:00:00"); - } - - @Test - void shouldContainVorgangNummer() { - var message = service.formatMessage(VorgangTestFactory.create()); - - assertThat(message).contains(VorgangTestFactory.VORGANG_NUMMER); - } - } - - } - -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandMapperTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandMapperTest.java deleted file mode 100644 index 8b1d35c279c643b577c15161e502399fb6047f2c..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandMapperTest.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -import static org.assertj.core.api.Assertions.*; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mapstruct.factory.Mappers; -import org.mockito.InjectMocks; -import org.mockito.Spy; - -import de.ozgcloud.notification.postfach.PostfachNachrichtTestFactory; -import de.ozgcloud.notification.vorgang.VorgangId; -import de.ozgcloud.vorgang.common.grpc.GrpcObjectMapper; - -class CommandMapperTest { - - @InjectMocks - private CommandMapper mapper = Mappers.getMapper(CommandMapper.class); - @Spy - private GrpcObjectMapper objectMapper = Mappers.getMapper(GrpcObjectMapper.class); - - @DisplayName("To grpc") - @Nested - class TestToGrpc { - - @Test - void shouldMapPostfachNachrichtCommand() { - var mapped = mapper.toGrpcRequest(CommandTestFactory.createBuilder().body(PostfachNachrichtTestFactory.createAsMap()).build()); - - assertThat(mapped).usingRecursiveComparison() - .ignoringFields("bodyObj_", "memoizedHashCode") - .isEqualTo(GrpcCreateCommandRequestTestFactory.create()); - } - - @DisplayName("to string") - @Nested - class TestToString { - - @Test - void shouldReturnValue() { - var vorgangId = mapper.toString(VorgangId.from("testId")); - - assertThat(vorgangId).isEqualTo("testId"); - } - - @Test - void shouldReturnNull() { - var vorgangId = mapper.toString(null); - - assertThat(vorgangId).isNull(); - } - } - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandRemoteServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandRemoteServiceTest.java deleted file mode 100644 index d71d9a6c8a8f76d672ddc4d6148ebb076a1d41bb..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandRemoteServiceTest.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Spy; - -import de.ozgcloud.vorgang.grpc.command.CommandServiceGrpc.CommandServiceBlockingStub; - -class CommandRemoteServiceTest { - - @Spy - @InjectMocks - private CommandRemoteService service; - @Mock - private CommandServiceBlockingStub stub; - @Mock - private CommandMapper mapper; - - @Nested - class TestCreateCommand { - - @BeforeEach - void mockStub() { - when(stub.withInterceptors(any())).thenReturn(stub); - } - - @Test - void shoudlCreateRequest() { - service.createCommand(CommandTestFactory.create()); - - verify(mapper).toGrpcRequest(notNull()); - } - - @Test - void shouldCallStub() { - when(mapper.toGrpcRequest(any())).thenReturn(GrpcCreateCommandRequestTestFactory.create()); - - service.createCommand(CommandTestFactory.create()); - - verify(stub).createCommand(notNull()); - } - - } - -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandServiceTest.java deleted file mode 100644 index 8aa1fd217b314044265e025076d342b33638b24f..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandServiceTest.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -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; -import org.mockito.Spy; - -import de.ozgcloud.notification.postfach.PostfachNachrichtTestFactory; - -class CommandServiceTest { - - @Spy - @InjectMocks - private CommandService service; - @Mock - private CommandRemoteService remoteService; - - @DisplayName("Create send postfachNachricht command") - @Nested - class TestCreateSendPostfachNachrichtCommnad { - @Test - void shouldBuildCommand() { - service.createSendPostfachNachrichtCommand(PostfachNachrichtTestFactory.create()); - - verify(service).buildCommand(notNull()); - } - - @Test - void shouldCallRemoteService() { - var command = CommandTestFactory.create(); - doReturn(command).when(service).buildCommand(any()); - - service.createSendPostfachNachrichtCommand(PostfachNachrichtTestFactory.create()); - - verify(remoteService).createCommand(command); - } - } - - @DisplayName("To map") - @Nested - class TestToMap { - - @Test - void shouldContainAllFields() { - var map = service.toMap(PostfachNachrichtTestFactory.create()); - - assertThat(map).isEqualTo(PostfachNachrichtTestFactory.createAsMap()); - } - - @Test - void shouldNOTContainClassEntry() { - var map = service.toMap(PostfachNachrichtTestFactory.create()); - - assertThat(map).doesNotContainKey("class"); - } - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandTestFactory.java deleted file mode 100644 index affcd173e378a8fa9df6af06dfa5916832ba3f39..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/command/CommandTestFactory.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -import java.util.Map; -import java.util.UUID; - -import de.ozgcloud.notification.command.Command.CommandOrder; -import de.ozgcloud.notification.vorgang.VorgangTestFactory; - -public class CommandTestFactory { - - public static final String ID = UUID.randomUUID().toString(); - - public static final String RELATION_ID = UUID.randomUUID().toString(); - public static final CommandOrder ORDER = CommandOrder.SEND_POSTFACH_NACHRICHT; - - public static final String BODY_FIELD_NAME = "name"; - public static final String BODY_FIELD_VALUE = "fritz"; - - public static final Command create() { - return createBuilder().build(); - } - - public static final Command.CommandBuilder createBuilder() { - return Command.builder() - .vorgangId(VorgangTestFactory.ID) - .relationId(RELATION_ID) - .order(ORDER) - .body(Map.of(BODY_FIELD_NAME, BODY_FIELD_VALUE)); - - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/command/GrpcCreateCommandRequestTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/command/GrpcCreateCommandRequestTestFactory.java deleted file mode 100644 index 17eb41f083b5a573c5f2b7b2b466ae0b92b7c201..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/command/GrpcCreateCommandRequestTestFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.command; - -import de.ozgcloud.notification.vorgang.VorgangTestFactory; -import de.ozgcloud.vorgang.common.grpc.GrpcObjectTestFactory; -import de.ozgcloud.vorgang.grpc.command.GrpcCreateCommandRequest; - -public class GrpcCreateCommandRequestTestFactory { - - public static final GrpcCreateCommandRequest create() { - return createBuilder().build(); - } - - public static final GrpcCreateCommandRequest.Builder createBuilder() { - return GrpcCreateCommandRequest.newBuilder() - .setVorgangId(VorgangTestFactory.ID.toString()) - .setRelationId(CommandTestFactory.RELATION_ID) - .setOrderString(CommandTestFactory.ORDER.name()) - .setBodyObj(GrpcObjectTestFactory.create()); - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/email/EmailRecipientMapperTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/email/EmailRecipientMapperTest.java deleted file mode 100644 index 56550d12bfc12fac54f75e40fda445f7e2bf2aa7..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/email/EmailRecipientMapperTest.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.email; - -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mapstruct.factory.Mappers; - -import static org.assertj.core.api.Assertions.*; - -import de.ozgcloud.notification.user.RecipientTestFactory; - -class EmailRecipientMapperTest { - - private EmailRecipientMapper mapper = Mappers.getMapper(EmailRecipientMapper.class); - - @Nested - class TestToGrpc { - - @Test - void shouldMapRecipient() { - var grpcEmailRecipient = mapper.toGrpc(RecipientTestFactory.create()); - - assertThat(grpcEmailRecipient).usingRecursiveComparison().isEqualTo(GrpcEmailRecipientTestFactory.create()); - } - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/email/EmailRemoteServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/email/EmailRemoteServiceTest.java deleted file mode 100644 index 239479d4f3a924dae230ded306905702898bb0ab..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/email/EmailRemoteServiceTest.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.email; - -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.InjectMocks; -import org.mockito.Mock; - -import de.ozgcloud.nachrichten.email.EmailServiceGrpc.EmailServiceBlockingStub; -import de.ozgcloud.nachrichten.email.GrpcRecipient; -import de.ozgcloud.nachrichten.email.GrpcSendEmailRequest; -import de.ozgcloud.notification.NotificationManagerCallContextAttachingInterceptor; - -class EmailRemoteServiceTest { - - @InjectMocks - private EmailRemoteService remoteService; - - @Mock - private EmailServiceBlockingStub emailStub; - - @Mock - private EmailRecipientMapper recipientMapper; - - @Nested - class TestSendNotification { - - @Captor - private ArgumentCaptor<GrpcSendEmailRequest> requestCaptor; - - private final static GrpcRecipient GRPC_RECIPIENT = GrpcEmailRecipientTestFactory.create(); - - @BeforeEach - void initTest() { - when(recipientMapper.toGrpc(any())).thenReturn(GRPC_RECIPIENT); - when(emailStub.withInterceptors(any())).thenReturn(emailStub); - } - - @Test - void shouldCallEmailServiceOnlyOnce() { - remoteService.sendEmail(UserEmailTestFactory.create()); - - verify(emailStub, times(1)).sendEmail(any()); - } - - @Test - void shouldNotifyAllRecipients() { - remoteService.sendEmail(UserEmailTestFactory.create()); - - verify(emailStub).sendEmail(requestCaptor.capture()); - assertThat(requestCaptor.getValue().getRecipientsList()).hasSameSizeAs(UserEmailTestFactory.RECIPIENTS); - } - - @Test - void shouldConvertCorrectly() { - remoteService.sendEmail(UserEmailTestFactory.create()); - - verify(emailStub).sendEmail(requestCaptor.capture()); - assertThat(requestCaptor.getValue().getRecipientsList()).first().usingRecursiveComparison().isEqualTo(GRPC_RECIPIENT); - } - - @Test - void shouldUseInterceptor() { - remoteService.sendEmail(UserEmailTestFactory.create()); - - verify(emailStub).withInterceptors(any(NotificationManagerCallContextAttachingInterceptor.class)); - } - - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/email/GrpcEmailRecipientTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/email/GrpcEmailRecipientTestFactory.java deleted file mode 100644 index ef7d5b5e338c67b54bbca7746a9ced69e7d1369c..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/email/GrpcEmailRecipientTestFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.email; - -import de.ozgcloud.nachrichten.email.GrpcRecipient; - -import static de.ozgcloud.notification.user.RecipientTestFactory.*; - -public class GrpcEmailRecipientTestFactory { - - - public static GrpcRecipient create() { - return createBuilder().build(); - } - - public static GrpcRecipient.Builder createBuilder(){ - return GrpcRecipient.newBuilder() - .setFirstName(FIRST_NAME) - .setLastName(LAST_NAME) - .setEmail(EMAIL); - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/email/UserEmailTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/email/UserEmailTestFactory.java deleted file mode 100644 index a45a726387de64c41f790995b69d54770ca0086e..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/email/UserEmailTestFactory.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.email; - -import java.util.List; - -import de.ozgcloud.notification.email.UserEmail.UserEmailBuilder; -import de.ozgcloud.notification.user.Recipient; -import de.ozgcloud.notification.user.RecipientTestFactory; -import de.ozgcloud.notification.user.UserNotificationService; -import de.ozgcloud.notification.vorgang.VorgangTestFactory; - -public class UserEmailTestFactory { - - public static final List<Recipient> RECIPIENTS = List.of(RecipientTestFactory.create()); - - public static UserEmail create() { - return createBuilder().build(); - } - - public static UserEmailBuilder createBuilder() { - return UserEmail.builder() - .recipients(RECIPIENTS) - .subject(UserNotificationService.MAIL_SUBJECT_TEMPLATE.formatted(VorgangTestFactory.VORGANG_NAME)) - .body(UserNotificationService.MAIL_BODY); - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/GrpcPostfachAddressTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/postfach/GrpcPostfachAddressTestFactory.java deleted file mode 100644 index eb21918f94f2bc40c27636351e944a36e71d1d99..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/GrpcPostfachAddressTestFactory.java +++ /dev/null @@ -1,27 +0,0 @@ -package de.ozgcloud.notification.postfach; - -import de.ozgcloud.vorgang.common.GrpcObject; -import de.ozgcloud.vorgang.common.GrpcProperty; -import de.ozgcloud.vorgang.vorgang.GrpcPostfachAddress; - -public class GrpcPostfachAddressTestFactory { - - public static GrpcPostfachAddress create() { - return createBuilder().build(); - } - - public static GrpcPostfachAddress.Builder createBuilder() { - return GrpcPostfachAddress.newBuilder() - .setType(PostfachAddressTestFactory.TYPE) - .setIdentifier(createIdentifier()) - .setVersion(PostfachAddressTestFactory.VERSION); - } - public static GrpcObject createIdentifier() { - return GrpcObject.newBuilder() - .addProperty(GrpcProperty.newBuilder() - .setName(StringBasedIdentifier.POSTFACH_ID_FIELD) - .addValue(PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE) - .build()) - .build(); - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachAddressTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachAddressTestFactory.java deleted file mode 100644 index 14873f7a0a2fa24b0b07cadb2979e1f39f58308d..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachAddressTestFactory.java +++ /dev/null @@ -1,23 +0,0 @@ -package de.ozgcloud.notification.postfach; - -import java.util.UUID; - -public class PostfachAddressTestFactory { - - public final static int TYPE = 1; - public static final String STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE = UUID.randomUUID().toString(); - public final static StringBasedIdentifier IDENTIFIER = StringBasedIdentifier.builder().postfachId(STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE) - .build(); - public static final String VERSION = "1.0"; - - public static PostfachAddress create() { - return createBuilder().build(); - } - - public static PostfachAddress.PostfachAddressBuilder createBuilder() { - return PostfachAddress.builder() - .type(TYPE) - .identifier(IDENTIFIER) - .version(VERSION); - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachNachrichtTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachNachrichtTestFactory.java deleted file mode 100644 index 24ad218e7e799b33c7e33b00b9b0aa40611350a6..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachNachrichtTestFactory.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.postfach; - -import java.util.Map; - -import de.ozgcloud.notification.vorgang.VorgangTestFactory; - -public class PostfachNachrichtTestFactory { - - static final String MESSAGE = "Lorem Ipsum"; - static final String SUBJECT = "delores est"; - - public static final PostfachNachricht create() { - return createBuilder().build(); - } - - public static final PostfachNachricht.PostfachNachrichtBuilder createBuilder() { - return PostfachNachricht.builder() - .vorgangId(VorgangTestFactory.ID) - .postfachId(VorgangTestFactory.POSTFACH_ID) - .postfachAddress(PostfachAddressTestFactory.create()) - .mailBody(MESSAGE) - .subject(SUBJECT); - } - - public static final Map<String, Object> createAsMap() { - return Map.of( - PostfachNachricht.FIELD_VORGANG_ID, VorgangTestFactory.ID, - PostfachNachricht.FIELD_POSTFACH_ID, VorgangTestFactory.POSTFACH_ID, - PostfachNachricht.FIELD_POSTFACH_ADDRESS, createPostfachAddressMap(), - PostfachNachricht.FIELD_SUBJECT, SUBJECT, - PostfachNachricht.FIELD_MESSAGE, MESSAGE, - PostfachNachricht.FIELD_REPLY_OPTION, PostfachNachricht.DEFAULT_REPLY_OPTION); - } - - public static final Map<String, Object> createPostfachAddressMap(){ - return Map.of(PostfachAddress.TYPE_FIELD, PostfachAddressTestFactory.TYPE, - PostfachAddress.VERSION_FIELD, PostfachAddressTestFactory.VERSION, - PostfachAddress.IDENTIFIER_FIELD, createIdentifierMap()); - } - - public static final Map<String, Object> createIdentifierMap(){ - return Map.of(PostfachNachricht.FIELD_POSTFACH_ID, PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE); - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachRemoteServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachRemoteServiceTest.java deleted file mode 100644 index 3ca7a8bae39a3b2f71b2cf03276b22c935aa2c3f..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachRemoteServiceTest.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2023 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. - */ -package de.ozgcloud.notification.postfach; - -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Spy; - -import de.ozgcloud.nachrichten.postfach.GrpcIsPostfachConfiguredResponse; -import de.ozgcloud.nachrichten.postfach.PostfachServiceGrpc.PostfachServiceBlockingStub; - -class PostfachRemoteServiceTest { - - @Spy - @InjectMocks - private PostfachRemoteService postfachRemoteService; - - @Mock - private PostfachServiceBlockingStub blockingStub; - - private static final GrpcIsPostfachConfiguredResponse GRPC_POSTFACH_RESPONSE = GrpcIsPostfachConfiguredResponse.newBuilder().build(); - - @BeforeEach - void setup() { - when(blockingStub.withInterceptors(any())).thenReturn(blockingStub); - when(blockingStub.isPostfachConfigured(any())).thenReturn(GRPC_POSTFACH_RESPONSE); - } - - @Test - void shouldGetPostfachServiceStub() { - postfachRemoteService.isPostfachConfigured(); - - verify(postfachRemoteService).getPostfachServiceStub(); - } - - @Test - void shouldCallIsPostfachConfigured() { - postfachRemoteService.isPostfachConfigured(); - - verify(blockingStub).isPostfachConfigured(any()); - } - - @Test - void shouldReturnIsPostfachConfigured() { - var postfachResponse = GrpcIsPostfachConfiguredResponse.newBuilder().setIsConfigured(true).build(); - when(blockingStub.isPostfachConfigured(any())).thenReturn(postfachResponse); - - var isPostfachConfigured = postfachRemoteService.isPostfachConfigured(); - - assertTrue(isPostfachConfigured); - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachServiceTest.java deleted file mode 100644 index 8451ae541dcec74de9983241a90e4e12937c6a8c..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/postfach/PostfachServiceTest.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2023 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. - */ -package de.ozgcloud.notification.postfach; - -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; - -class PostfachServiceTest { - - @InjectMocks - private PostfachService postfachService; - @Mock - private PostfachRemoteService postfachRemoteService; - - @Test - void shouldCallRemoteService() { - postfachService.isPostfachConfigured(); - - verify(postfachRemoteService).isPostfachConfigured(); - } - - @Test - void shouldReturnRemoteServiceResult() { - when(postfachRemoteService.isPostfachConfigured()).thenReturn(true); - - var result = postfachService.isPostfachConfigured(); - - assertTrue(result); - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/user/GrpcFindRecipientRequestTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/user/GrpcFindRecipientRequestTestFactory.java deleted file mode 100644 index 428b5812fad8e764015c8a8cadb9db3ea97d3edf..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/user/GrpcFindRecipientRequestTestFactory.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import de.ozgcloud.user.grpc.recipient.GrpcFindRecipientResponse; -import de.ozgcloud.user.recipient.GrpcRecipient; - -public class GrpcFindRecipientRequestTestFactory { - - public static final GrpcRecipient GRPC_RECIPIENT = GrpcUserRecipientTestFactory.create(); - - public static GrpcFindRecipientResponse create() { - return createBuilder().build(); - } - - public static GrpcFindRecipientResponse.Builder createBuilder() { - return GrpcFindRecipientResponse.newBuilder().addRecipient(GRPC_RECIPIENT); - } - -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/user/GrpcUserRecipientTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/user/GrpcUserRecipientTestFactory.java deleted file mode 100644 index f2d58422b6d37d3456fb2b981185dba0a9971664..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/user/GrpcUserRecipientTestFactory.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import de.ozgcloud.user.recipient.GrpcRecipient; - -public class GrpcUserRecipientTestFactory { - - public static GrpcRecipient create() { - return createBuilder().build(); - } - - public static GrpcRecipient.Builder createBuilder() { - return GrpcRecipient.newBuilder() - .setFirstName(RecipientTestFactory.FIRST_NAME) - .setLastName(RecipientTestFactory.LAST_NAME) - .setEmail(RecipientTestFactory.EMAIL); - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/user/RecipientTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/user/RecipientTestFactory.java deleted file mode 100644 index e4da940cf2bbbacbaddc7f2f56b8341efdae897b..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/user/RecipientTestFactory.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import de.ozgcloud.notification.user.Recipient.RecipientBuilder; - -public class RecipientTestFactory { - - public static final String FIRST_NAME = "first"; - public static final String LAST_NAME = "last"; - public static final String EMAIL = "email@example.com"; - - public static Recipient create() { - return createBuilder().build(); - } - - public static RecipientBuilder createBuilder() { - return Recipient.builder() - .firstName(FIRST_NAME) - .lastName(LAST_NAME) - .email(EMAIL); - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/user/UserNotificationEventListenerTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/user/UserNotificationEventListenerTest.java deleted file mode 100644 index 7d8eeef30b8efc2f8e6d78862e8b454efe61865e..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/user/UserNotificationEventListenerTest.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -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; - -import de.ozgcloud.command.VorgangCreatedEvent; -import de.ozgcloud.notification.vorgang.VorgangId; -import de.ozgcloud.notification.vorgang.VorgangService; -import de.ozgcloud.notification.vorgang.VorgangTestFactory; - -class UserNotificationEventListenerTest { - - @InjectMocks - private UserNotificationEventListener userNotificationEventListener; - - @Mock - private UserNotificationService userNotificationService; - @Mock - private VorgangService vorgangService; - - @DisplayName("On Vorgang created") - @Nested - class TestOnVorgangCreated { - - private static final VorgangCreatedEvent EVENT = new VorgangCreatedEvent(VorgangTestFactory.ID.toString()); - - @DisplayName("with existing orgaId") - @Nested - class TestWithOrgaId { - - @BeforeEach - void initMock() { - when(vorgangService.getVorgang(any())).thenReturn(VorgangTestFactory.create()); - } - - @Test - void shouldCallVorgangService() { - userNotificationEventListener.onVorgangCreated(EVENT); - - verify(vorgangService).getVorgang(VorgangId.from(EVENT.getSource())); - } - - @Test - void shouldNotifyWithOrganisationeinheitIds() { - var vorgang = VorgangTestFactory.create(); - when(vorgangService.getVorgang(any())).thenReturn(vorgang); - - userNotificationEventListener.onVorgangCreated(EVENT); - - verify(userNotificationService).sendNotification(vorgang); - } - } - - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/user/UserNotificationServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/user/UserNotificationServiceTest.java deleted file mode 100644 index b4658fa62cb4f37df1a1158f8c8517195c3e6f3d..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/user/UserNotificationServiceTest.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -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; -import org.mockito.Spy; - -import de.ozgcloud.notification.email.EmailRemoteService; -import de.ozgcloud.notification.email.UserEmail; -import de.ozgcloud.notification.email.UserEmailTestFactory; -import de.ozgcloud.notification.vorgang.Vorgang; -import de.ozgcloud.notification.vorgang.VorgangTestFactory; - -class UserNotificationServiceTest { - - @Spy - @InjectMocks - private UserNotificationService service; - - @Mock - private EmailRemoteService emailRemoteService; - @Mock - private UserRemoteService userRemoteService; - - @DisplayName("Send notification") - @Nested - class TestSendNotification { - - @DisplayName("with valid orgaId") - @Nested - class TestWithValidOrgaId { - - @BeforeEach - void init() { - when(userRemoteService.getRecipients(VorgangTestFactory.ORGANISATIONS_EINHEIT_ID)).thenReturn(List.of(RecipientTestFactory.create())); - doNothing().when(emailRemoteService).sendEmail(any(UserEmail.class)); - } - - @Test - void shouldGetRecipients() { - service.sendNotification(VorgangTestFactory.create()); - - verify(userRemoteService).getRecipients(VorgangTestFactory.ORGANISATIONS_EINHEIT_ID); - } - - @Test - void shouldSendEmail() { - var email = UserEmailTestFactory.create(); - doReturn(email).when(service).buildUserEmail(anyList(), anyString()); - - service.sendNotification(VorgangTestFactory.create()); - - verify(emailRemoteService).sendEmail(email); - } - - @Test - void shouldSetSubject() { - service.sendNotification(VorgangTestFactory.create()); - - verify(service).buildUserEmail(anyList(), eq("Neuer Vorgang: " + VorgangTestFactory.VORGANG_NAME)); - - } - } - - @DisplayName("with null as orgaId") - @Nested - class TestWithInvalidOrgaId { - - private Vorgang vorgang = VorgangTestFactory.createBuilder().organisationseinheitenId(null).build(); - - @Test - void shouldNotCallUserRemoteService() { - service.sendNotification(vorgang); - - verify(userRemoteService, never()).getRecipients(anyString()); - } - - @Test - void shouldNotCallEmailRemoteServie() { - service.sendNotification(vorgang); - - verify(emailRemoteService, never()).sendEmail(any(UserEmail.class)); - } - } - - @Test - void shouldThrowExceptionWhenVorgangNull() { - assertThatThrownBy(() -> service.sendNotification(null)) - .withFailMessage("organisationsEinheitId cannot be null.") - .isInstanceOf(IllegalArgumentException.class); - } - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/user/UserRecipientMapperTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/user/UserRecipientMapperTest.java deleted file mode 100644 index 91cc27326ca9240b66017c3e8be112803309d71b..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/user/UserRecipientMapperTest.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mapstruct.factory.Mappers; - -import static org.assertj.core.api.Assertions.*; - -class UserRecipientMapperTest { - - private UserRecipientMapper mapper = Mappers.getMapper(UserRecipientMapper.class); - - @Nested - class TestFromGrpc { - - @Test - void shouldMapRecipient() { - var recipient = mapper.fromGrpc(GrpcUserRecipientTestFactory.create()); - - assertThat(recipient).usingRecursiveComparison().isEqualTo(RecipientTestFactory.create()); - } - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/user/UserRemoteServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/user/UserRemoteServiceTest.java deleted file mode 100644 index bbd962ca745bff4ce755c0220208a049f27fddbb..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/user/UserRemoteServiceTest.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.user; - -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; - -import de.ozgcloud.notification.NotificationManagerCallContextAttachingInterceptor; -import de.ozgcloud.notification.vorgang.VorgangTestFactory; -import de.ozgcloud.user.grpc.recipient.RecipientServiceGrpc.RecipientServiceBlockingStub; - -class UserRemoteServiceTest { - - @InjectMocks - private UserRemoteService remoteService; - - @Mock - private RecipientServiceBlockingStub stub; - @Mock - private UserRecipientMapper mapper; - - @Nested - class TestRequestRecipients { - - @BeforeEach - void initTest() { - when(stub.findRecipientByOrganisationsEinheitId(any())).thenReturn(GrpcFindRecipientRequestTestFactory.create()); - when(stub.withInterceptors(any())).thenReturn(stub); - } - - @Test - void shouldCallMapper() { - remoteService.getRecipients(VorgangTestFactory.ORGANISATIONS_EINHEIT_ID); - - verify(mapper).fromGrpc(GrpcFindRecipientRequestTestFactory.GRPC_RECIPIENT); - } - - @Test - void shouldUseInterceptor() { - remoteService.getRecipients(VorgangTestFactory.ORGANISATIONS_EINHEIT_ID); - - verify(stub).withInterceptors(any(NotificationManagerCallContextAttachingInterceptor.class)); - } - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/GrpcServiceKontoTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/GrpcServiceKontoTestFactory.java deleted file mode 100644 index aa80911f97481bd1fafbe0b11d30e53fc6713d61..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/GrpcServiceKontoTestFactory.java +++ /dev/null @@ -1,21 +0,0 @@ -package de.ozgcloud.notification.vorgang; - -import de.ozgcloud.notification.postfach.GrpcPostfachAddressTestFactory; -import de.ozgcloud.vorgang.vorgang.GrpcServiceKonto; - -public class GrpcServiceKontoTestFactory { - - public final static String TYPE = "OSI"; - public final static String TRUST_LEVEL = "STORK-QAA-LEVEL-1"; - - public static GrpcServiceKonto create() { - return createBuilder().build(); - } - - public static GrpcServiceKonto.Builder createBuilder() { - return GrpcServiceKonto.newBuilder() - .setType(TYPE) - .setTrustLevel(TRUST_LEVEL) - .addPostfachAddresses(GrpcPostfachAddressTestFactory.create()); - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/GrpcVorgangHeadTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/GrpcVorgangHeadTestFactory.java deleted file mode 100644 index 88a62e902d7b3a33497b77ffe16a0fb1723f352f..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/GrpcVorgangHeadTestFactory.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.ozgcloud.notification.vorgang; - -import de.ozgcloud.vorgang.vorgang.GrpcVorgangHead; - -public class GrpcVorgangHeadTestFactory { - - public static GrpcVorgangHead create() { - return createBuilder().build(); - } - - public static GrpcVorgangHead.Builder createBuilder() { - return GrpcVorgangHead.newBuilder() - .setServiceKonto(GrpcServiceKontoTestFactory.create()); - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/GrpcVorgangTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/GrpcVorgangTestFactory.java deleted file mode 100644 index 4856525424aada9ef9209e3fa7837fcfecaf1247..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/GrpcVorgangTestFactory.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import de.ozgcloud.vorgang.vorgang.GrpcAntragsteller; -import de.ozgcloud.vorgang.vorgang.GrpcEingang; -import de.ozgcloud.vorgang.vorgang.GrpcVorgangWithEingang; -import de.ozgcloud.vorgang.vorgang.GrpcZustaendigeStelle; - -public class GrpcVorgangTestFactory { - - public static GrpcVorgangWithEingang create() { - return createBuilder().build(); - } - - public static GrpcVorgangWithEingang.Builder createBuilder() { - return GrpcVorgangWithEingang.newBuilder() - .setId(VorgangTestFactory.ID.toString()) - .setName(VorgangTestFactory.VORGANG_NAME) - .setNummer(VorgangTestFactory.VORGANG_NUMMER) - .setCreatedAt(VorgangTestFactory.CREATED_AT_STR) - .setFormEngineName(VorgangTestFactory.FORM_ENGINE_NAME) - .setHeader(GrpcVorgangHeadTestFactory.create()) - .setEingang(GrpcEingang.newBuilder() - .setAntragsteller(GrpcAntragsteller.newBuilder() - .setPostfachId(VorgangTestFactory.POSTFACH_ID) - .build()) - .setZustaendigeStelle( - GrpcZustaendigeStelle.newBuilder().setOrganisationseinheitenId(VorgangTestFactory.ORGANISATIONS_EINHEIT_ID).build()) - .build()); - - } -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangMapperTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangMapperTest.java deleted file mode 100644 index a3fbf1407cbb0119151a844b4c2caaa81f2003e2..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangMapperTest.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import static org.assertj.core.api.Assertions.*; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mapstruct.factory.Mappers; - -import de.ozgcloud.notification.postfach.PostfachAddressTestFactory; - -class VorgangMapperTest { - - private final VorgangMapper mapper = Mappers.getMapper(VorgangMapper.class); - - @DisplayName("From grpc") - @Nested - class TestFromGrpc { - - @Test - void shouldMapVorgang() { - var mapped = fromGrpc(); - - assertThat(mapped).usingRecursiveComparison().ignoringFields("postfachAddress").isEqualTo(VorgangTestFactory.create()); - } - - @DisplayName("postfachAddress") - @Nested - class TestPostfachAddress { - - @Test - void shouldMapIfServiceKontoExists() { - var mapped = fromGrpc(); - - assertThat(mapped.getPostfachAddress()).usingRecursiveComparison().isEqualTo(PostfachAddressTestFactory.create()); - } - - @Test - void shouldBeEmptyIfServiceKontoNotExists() { - var mapped = mapper.fromGrpc(GrpcVorgangTestFactory.createBuilder().clearHeader().build()); - - assertThat(mapped.getPostfachAddress()).isNull(); - } - } - - private Vorgang fromGrpc() { - return mapper.fromGrpc(GrpcVorgangTestFactory.create()); - } - } -} \ No newline at end of file diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangRemoteServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangRemoteServiceTest.java deleted file mode 100644 index d9a8104c5ac7b45450fa690e77f25f1bb32bace1..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangRemoteServiceTest.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.InjectMocks; -import org.mockito.Mock; - -import de.ozgcloud.notification.NotificationManagerCallContextAttachingInterceptor; -import de.ozgcloud.vorgang.vorgang.GrpcFindVorgangWithEingangRequest; -import de.ozgcloud.vorgang.vorgang.GrpcFindVorgangWithEingangResponse; -import de.ozgcloud.vorgang.vorgang.GrpcVorgangWithEingang; -import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub; - -class VorgangRemoteServiceTest { - - @InjectMocks - private VorgangRemoteService remoteService; - @Mock - private VorgangServiceBlockingStub stub; - @Mock - private VorgangMapper mapper; - - @Nested - class TestFindVorgangById { - - private static final GrpcVorgangWithEingang GRPC_VORGANG = GrpcVorgangTestFactory.create(); - private static final Vorgang VORGANG = VorgangTestFactory.create(); - - @Captor - private ArgumentCaptor<GrpcFindVorgangWithEingangRequest> requestCaptor; - - @BeforeEach - void initStubMock() { - var response = GrpcFindVorgangWithEingangResponse.newBuilder().setVorgangWithEingang(GRPC_VORGANG).build(); - when(stub.findVorgangWithEingang(any())).thenReturn(response); - - when(stub.withInterceptors(any())).thenReturn(stub); - } - - @BeforeEach - void initMapperMock() { - when(mapper.fromGrpc(any())).thenReturn(VORGANG); - } - - @Test - void shouldUseInterceptor() { - remoteService.getVorgang(VorgangTestFactory.ID); - - verify(stub).withInterceptors(any(NotificationManagerCallContextAttachingInterceptor.class)); - } - - @Test - void shouldCallStub() { - remoteService.getVorgang(VorgangTestFactory.ID); - - verify(stub).findVorgangWithEingang(requestCaptor.capture()); - - assertThat(requestCaptor.getValue().getId()).isEqualTo(VorgangTestFactory.ID.toString()); - } - - @Test - void shouldCallMapper() { - remoteService.getVorgang(VorgangTestFactory.ID); - - verify(mapper).fromGrpc(same(GRPC_VORGANG)); - } - - @Test - void shouldReturnMappedVorgang() { - var result = remoteService.getVorgang(VorgangTestFactory.ID); - - assertThat(result).isSameAs(VORGANG); - } - - } - -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangServiceTest.java b/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangServiceTest.java deleted file mode 100644 index a0e4f9efe04661c26590c0231dcd91e78816e164..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangServiceTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; - -class VorgangServiceTest { - - @InjectMocks - private VorgangService service; - - @Mock - private VorgangRemoteService remoteService; - - @Nested - class TestGetVorgang { - @Test - void shouldCallRemoteService() { - service.getVorgang(VorgangTestFactory.ID); - - verify(remoteService).getVorgang(VorgangTestFactory.ID); - } - - @Test - void shouldReturnResultFromRemoteService() { - var vorgang = VorgangTestFactory.create(); - when(remoteService.getVorgang(any())).thenReturn(vorgang); - - var result = service.getVorgang(VorgangTestFactory.ID); - - assertThat(result).isSameAs(vorgang); - } - } - -} diff --git a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangTestFactory.java b/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangTestFactory.java deleted file mode 100644 index 47162ac2733c355fb25902e9ad0f267b5de1eef6..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/java/de/ozgcloud/notification/vorgang/VorgangTestFactory.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ -package de.ozgcloud.notification.vorgang; - -import java.time.ZonedDateTime; -import java.util.UUID; - -import de.ozgcloud.notification.postfach.PostfachAddressTestFactory; - -public class VorgangTestFactory { - - public static final VorgangId ID = VorgangId.from(UUID.randomUUID().toString()); - - public static final String VORGANG_NAME = "Antrag auf Toast"; - public static final String VORGANG_NUMMER = "1234"; - public static final String CREATED_AT_STR = "2001-04-01T10:30:00Z"; - public static final ZonedDateTime CREATED_AT = ZonedDateTime.parse(CREATED_AT_STR); - - public static final String POSTFACH_ID = UUID.randomUUID().toString(); - public static final String FORM_ENGINE_NAME = "deluxeEngine"; - public static final String ORGANISATIONS_EINHEIT_ID = "1234567889"; - - public static Vorgang create() { - return createBuilder().build(); - } - - public static Vorgang.VorgangBuilder createBuilder() { - return Vorgang.builder() - .id(ID) - .vorgangName(VORGANG_NAME) - .vorgangNummer(VORGANG_NUMMER) - .createdAt(CREATED_AT) - .postfachId(POSTFACH_ID) - .postfachAddress(PostfachAddressTestFactory.create()) - .formEngineName(FORM_ENGINE_NAME) - .organisationseinheitenId(ORGANISATIONS_EINHEIT_ID); - } - -} diff --git a/notification-manager/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/notification-manager/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension deleted file mode 100644 index 79b126e6cdb86bec1f4f08c205de8961bde1934a..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension +++ /dev/null @@ -1 +0,0 @@ -org.mockito.junit.jupiter.MockitoExtension \ No newline at end of file diff --git a/notification-manager/src/test/resources/junit-platform.properties b/notification-manager/src/test/resources/junit-platform.properties deleted file mode 100644 index 1cebb76d5a58ac034b2627d12411d82d1e85821e..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/resources/junit-platform.properties +++ /dev/null @@ -1 +0,0 @@ -junit.jupiter.extensions.autodetection.enabled = true \ No newline at end of file diff --git a/notification-manager/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/notification-manager/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker deleted file mode 100644 index ca6ee9cea8ec189a088d50559325d4e84ff8ad09..0000000000000000000000000000000000000000 --- a/notification-manager/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker +++ /dev/null @@ -1 +0,0 @@ -mock-maker-inline \ No newline at end of file diff --git a/pom.xml b/pom.xml index a1a8be5660daab3995bb0401e72d291af80627d8..eca327674ded5e39698615439ef7ea624afa897f 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,6 @@ <module>vorgang-manager-server</module> <module>nachrichten-manager</module> <module>vorgang-manager-utils</module> - <module>notification-manager</module> <module>vorgang-manager-command</module> <module>bescheid-manager</module> <module>vorgang-manager-base</module>