diff --git a/notification-manager/src/main/java/de/itvsh/kop/notification/antragsteller/AntragstellerNotificationEventListener.java b/notification-manager/src/main/java/de/itvsh/kop/notification/antragsteller/AntragstellerNotificationEventListener.java index c54b50fd130c586238ecdbd47496bdfe95d484df..c4ec067e80e1b99d7e4616d664703207ddab8421 100644 --- a/notification-manager/src/main/java/de/itvsh/kop/notification/antragsteller/AntragstellerNotificationEventListener.java +++ b/notification-manager/src/main/java/de/itvsh/kop/notification/antragsteller/AntragstellerNotificationEventListener.java @@ -1,13 +1,17 @@ package de.itvsh.kop.notification.antragsteller; +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.itvsh.kop.notification.vorgang.Vorgang; import de.itvsh.kop.notification.vorgang.VorgangId; import de.itvsh.kop.notification.vorgang.VorgangService; import de.itvsh.ozg.pluto.command.VorgangCreatedEvent; +import lombok.extern.log4j.Log4j2; +@Log4j2 @Component public class AntragstellerNotificationEventListener { @@ -20,7 +24,14 @@ public class AntragstellerNotificationEventListener { public void onVorgangCreated(VorgangCreatedEvent event) { var vorgang = vorgangService.getVorgang(VorgangId.from(event.getSource())); - service.sendNotification(vorgang); + sendIfWithPostfach(vorgang); } + private void sendIfWithPostfach(Vorgang vorgang) { + if (StringUtils.isBlank(vorgang.getPostfachId())) { + LOG.info("No PostfachId present on Vorgang '{}'.", vorgang.getId()); + } else { + service.sendNotification(vorgang); + } + } } diff --git a/notification-manager/src/main/java/de/itvsh/kop/notification/command/CommandRemoteService.java b/notification-manager/src/main/java/de/itvsh/kop/notification/command/CommandRemoteService.java index 6e4ed28fe4069453de3a8a5e62d1281272c9ad1a..a57f8712e50d64fc3dc864a492d1d2ac0e6181e0 100644 --- a/notification-manager/src/main/java/de/itvsh/kop/notification/command/CommandRemoteService.java +++ b/notification-manager/src/main/java/de/itvsh/kop/notification/command/CommandRemoteService.java @@ -1,10 +1,12 @@ package de.itvsh.kop.notification.command; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import de.itvsh.ozg.pluto.grpc.command.CommandServiceGrpc.CommandServiceBlockingStub; import net.devh.boot.grpc.client.inject.GrpcClient; +@Service class CommandRemoteService { @GrpcClient("pluto") diff --git a/notification-manager/src/main/java/de/itvsh/kop/notification/command/CommandService.java b/notification-manager/src/main/java/de/itvsh/kop/notification/command/CommandService.java index dc1bc37658712b71fa80fa72113a28079b402303..783581413df81202eb61122432d70d64edf9f491 100644 --- a/notification-manager/src/main/java/de/itvsh/kop/notification/command/CommandService.java +++ b/notification-manager/src/main/java/de/itvsh/kop/notification/command/CommandService.java @@ -13,22 +13,23 @@ import org.springframework.stereotype.Service; import de.itvsh.kop.notification.command.Command.CommandOrder; import de.itvsh.kop.notification.postfach.PostfachNachricht; -@Service +@Service("notificationCommandService") public class CommandService { @Autowired private CommandRemoteService commandRemoteService; public void createSendPostfachNachrichtCommand(PostfachNachricht nachricht) { - buildCommand(nachricht); + commandRemoteService.createCommand(buildCommand(nachricht)); } - private void buildCommand(PostfachNachricht nachricht) { - Command.builder() + Command buildCommand(PostfachNachricht nachricht) { + return Command.builder() .vorgangId(nachricht.getVorgangId()) .relationId(nachricht.getVorgangId().toString()) .order(CommandOrder.SEND_POSTFACH_NACHRICHT) - .body(toMap(nachricht)); + .body(toMap(nachricht)) + .build(); } Map<String, Object> toMap(PostfachNachricht nachricht) { @@ -37,9 +38,7 @@ public class CommandService { new BeanMap(nachricht).entrySet().stream() .filter(entry -> Objects.nonNull(entry.getValue())) .filter(entry -> !StringUtils.equals(entry.getKey().toString(), "class")) - .forEach(entry -> { - result.put(entry.getKey().toString(), entry.getValue()); - }); + .forEach(entry -> result.put(entry.getKey().toString(), entry.getValue())); return Collections.unmodifiableMap(result); } diff --git a/notification-manager/src/main/java/de/itvsh/kop/notification/postfach/PostfachNachricht.java b/notification-manager/src/main/java/de/itvsh/kop/notification/postfach/PostfachNachricht.java index 79fdb98f77a1c7ada2cf850ca0a3000b31e90e8f..6d81611ec888d3ec2341e19f9f4ae80046a7d41b 100644 --- a/notification-manager/src/main/java/de/itvsh/kop/notification/postfach/PostfachNachricht.java +++ b/notification-manager/src/main/java/de/itvsh/kop/notification/postfach/PostfachNachricht.java @@ -23,4 +23,8 @@ public class PostfachNachricht implements CommandBody { private String subject; private String message; + public String getReplyOption() { + return DEFAULT_REPLY_OPTION; + } + } diff --git a/notification-manager/src/main/java/de/itvsh/kop/notification/vorgang/VorgangService.java b/notification-manager/src/main/java/de/itvsh/kop/notification/vorgang/VorgangService.java index a549133070680570fa1a880981ad3a252f8363e9..bb5d1fea909ea444de10254640adb6997a6d5019 100644 --- a/notification-manager/src/main/java/de/itvsh/kop/notification/vorgang/VorgangService.java +++ b/notification-manager/src/main/java/de/itvsh/kop/notification/vorgang/VorgangService.java @@ -3,7 +3,7 @@ package de.itvsh.kop.notification.vorgang; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -@Service +@Service("notificationVorgangService") public class VorgangService { @Autowired diff --git a/notification-manager/src/test/java/de/itvsh/kop/notification/antragsteller/AntragstellerNotificationEventListenerTest.java b/notification-manager/src/test/java/de/itvsh/kop/notification/antragsteller/AntragstellerNotificationEventListenerTest.java index 46875c9be69643317b08d2117a1d1565ab67f990..40687f5c1873e7d336b562a8b9f8b34a8df6e3d0 100644 --- a/notification-manager/src/test/java/de/itvsh/kop/notification/antragsteller/AntragstellerNotificationEventListenerTest.java +++ b/notification-manager/src/test/java/de/itvsh/kop/notification/antragsteller/AntragstellerNotificationEventListenerTest.java @@ -48,5 +48,14 @@ class AntragstellerNotificationEventListenerTest { verify(service).sendNotification(same(VORGANG)); } + + @Test + void shouldNOTCallServiceOnMissingPostfach() { + when(vorgangService.getVorgang(any())).thenReturn(VorgangTestFactory.createBuilder().postfachId(null).build()); + + eventListener.onVorgangCreated(EVENT); + + verify(service, never()).sendNotification(any()); + } } } diff --git a/notification-manager/src/test/java/de/itvsh/kop/notification/command/CommandServiceTest.java b/notification-manager/src/test/java/de/itvsh/kop/notification/command/CommandServiceTest.java index 9076b8f0b260f91bb550a0b309b4a9ac6e20909c..8744f7a771b79abe00cffc670939f0be8d9b9f22 100644 --- a/notification-manager/src/test/java/de/itvsh/kop/notification/command/CommandServiceTest.java +++ b/notification-manager/src/test/java/de/itvsh/kop/notification/command/CommandServiceTest.java @@ -1,17 +1,44 @@ package de.itvsh.kop.notification.command; 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; +import org.mockito.Spy; import de.itvsh.kop.notification.postfach.PostfachNachrichtTestFactory; class CommandServiceTest { + @Spy @InjectMocks private CommandService service; + @Mock + private CommandRemoteService remoteService; + + @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); + } + } @Nested class TestToMap { diff --git a/notification-manager/src/test/java/de/itvsh/kop/notification/postfach/PostfachNachrichtTestFactory.java b/notification-manager/src/test/java/de/itvsh/kop/notification/postfach/PostfachNachrichtTestFactory.java index 125c9f9072ecdfa1abfe02704bad88fc306c7928..85ad49c12418e97d6462a1ca3c8a23b3358ce3b6 100644 --- a/notification-manager/src/test/java/de/itvsh/kop/notification/postfach/PostfachNachrichtTestFactory.java +++ b/notification-manager/src/test/java/de/itvsh/kop/notification/postfach/PostfachNachrichtTestFactory.java @@ -26,7 +26,8 @@ public class PostfachNachrichtTestFactory { PostfachNachricht.FIELD_VORGANG_ID, VorgangTestFactory.ID, PostfachNachricht.FIELD_POSTFACH_ID, VorgangTestFactory.POSTFACH_ID, PostfachNachricht.FIELD_SUBJECT, SUBJECT, - PostfachNachricht.FIELD_MESSAGE, MESSAGE); + PostfachNachricht.FIELD_MESSAGE, MESSAGE, + PostfachNachricht.FIELD_REPLY_OPTION, PostfachNachricht.DEFAULT_REPLY_OPTION); } diff --git a/pluto-interface/pom.xml b/pluto-interface/pom.xml index a738d2ea506a087618ea32dde853abda9f0f81f2..cd6163e1fc5e9f238dc810bdc1231814b9dd674f 100644 --- a/pluto-interface/pom.xml +++ b/pluto-interface/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>de.itvsh.kop.common</groupId> <artifactId>kop-common-dependencies</artifactId> - <version>1.1.2</version> + <version>1.1.3-SNAPSHOT</version> <relativePath /> </parent> diff --git a/pluto-server/pom.xml b/pluto-server/pom.xml index 39cb4c7eb923464c960ffe9dc6f7d47631a27e3d..b062a14c5e2a70e07c00f7128bcf48d1c1a6c1ad 100644 --- a/pluto-server/pom.xml +++ b/pluto-server/pom.xml @@ -49,6 +49,12 @@ <version>${project.version}</version> </dependency> + <dependency> + <groupId>de.itvsh.kop.notification</groupId> + <artifactId>notification-manager</artifactId> + <version>${project.version}</version> + <scope>runtime</scope> + </dependency> <!-- Spring --> <dependency> @@ -78,14 +84,14 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> - + <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> </dependency> <dependency> - <groupId>org.springframework.security</groupId> - <artifactId>spring-security-config</artifactId> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-config</artifactId> </dependency> <!-- aspectJ --> diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListener.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListener.java index 9d2c2b38a233934ded42dcdb0a5f4f3f098e1725..ff6f0377ac4e64961bc755a7e76168cc7b577635 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListener.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListener.java @@ -16,8 +16,8 @@ class VorgangAttachedItemEventListener { private static final String IS_CREATE_ITEM_ORDER_CONDITION = "{T(de.itvsh.ozg.pluto.attached_item.VorgangAttachedItemEventListener).IS_CREATE_ITEM_ORDER.test(event.getSource())}"; private static final String IS_UPDATE_ITEM_ORDER_CONDITION = "{T(de.itvsh.ozg.pluto.attached_item.VorgangAttachedItemEventListener).IS_UPDATE_ITEM_ORDER.test(event.getSource())}"; - public static final Predicate<Command> IS_CREATE_ITEM_ORDER = command -> command.getOrder() == Order.CREATE_ATTACHED_ITEM; - public static final Predicate<Command> IS_UPDATE_ITEM_ORDER = command -> command.getOrder() == Order.UPDATE_ATTACHED_ITEM; + public static final Predicate<Command> IS_CREATE_ITEM_ORDER = command -> Order.CREATE_ATTACHED_ITEM.isMeant(command.getOrder()); + public static final Predicate<Command> IS_UPDATE_ITEM_ORDER = command -> Order.UPDATE_ATTACHED_ITEM.isMeant(command.getOrder()); @Autowired private VorgangAttachedItemService service; diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/Command.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/Command.java index 34b656f2b4cbd80005a07df522f95518bd65edc2..1c097b51dfec2edfaf8f7f2d1c3cb40718953539 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/Command.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/Command.java @@ -37,7 +37,7 @@ public class Command { private String relationId; private long relationVersion; - private Order order; + private String order; private Status previousStatus; private String errorMessage; diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CommandService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CommandService.java index c201006995279e1be13e1ae75c5562c8edbccab7..2c5193e3f9d34c6d589804b6d7903586da3ca1be 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CommandService.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CommandService.java @@ -12,6 +12,8 @@ import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import de.itvsh.ozg.pluto.common.callcontext.CallContextUser; +import de.itvsh.ozg.pluto.common.callcontext.CurrentUserService; import de.itvsh.ozg.pluto.vorgang.Vorgang.Status; @Service @@ -23,6 +25,9 @@ public class CommandService { @Autowired private ApplicationEventPublisher publisher; + @Autowired + private CurrentUserService userService; + public Command createCommand(CreateCommandRequest request) { return createCommand(request, Optional.empty()); } @@ -48,11 +53,15 @@ public class CommandService { currentVorgangStatus.ifPresent(builder::previousStatus); - builder = addUserIfExists(builder, Optional.ofNullable(request.getCallContext().getUser())); + builder = addUserIfExists(builder, Optional.ofNullable(request.getCallContext()).map(CallContext::getUser), userService.findUser()); return builder.build(); } - private Command.CommandBuilder addUserIfExists(Command.CommandBuilder builder, Optional<User> user) { + private Command.CommandBuilder addUserIfExists(Command.CommandBuilder builder, Optional<User> user, Optional<CallContextUser> contextUser) { + if (contextUser.isPresent()) { + return builder.createdBy(contextUser.get().getUserId().orElse(null)).createdByName(contextUser.get().getUserName().orElse(null)); + } + return user.map(u -> builder.createdBy(u.getId()).createdByName(u.getName())).orElse(builder); } diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CreateCommandRequest.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CreateCommandRequest.java index 20f44f722a8845b7af50e5ea5c23c61fb54a23b7..0557061cac95cedf7fda3fa9ee456660da5b33ad 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CreateCommandRequest.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/CreateCommandRequest.java @@ -27,7 +27,7 @@ public class CreateCommandRequest { private Long relationVersion; @NotNull - private Order order; + private String order; private RedirectRequest redirectRequest; diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCommandResponseMapper.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCommandResponseMapper.java index 289de5371a7c41d8311b0ea8e7054750fd24090c..4128a1315252dec633c15cd6ccaba3f5cf6ee5c7 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCommandResponseMapper.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCommandResponseMapper.java @@ -24,7 +24,14 @@ public interface GrpcCommandResponseMapper { @Mapping(target = "unknownFields", ignore = true) @Mapping(target = "allFields", ignore = true) @Mapping(target = "messageParametersList", source = "messageParameters") + @Mapping(target = "command.orderString", source = "command.order") GrpcCommandResponse toGrpc(CommandResponse response); - GrpcOrder orderMapping(Order order); + default GrpcOrder orderMapping(String order) { + try { + return GrpcOrder.valueOf(order); + } catch (IllegalArgumentException e) { + return GrpcOrder.UNDEFINED; + } + }; } diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCommandService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCommandService.java index c4ed34002ebc3fc5ec31b3b96cd83546cc7ebcb0..d6c1a95fb5ab1a6513293d693aa68104fa037a9c 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCommandService.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCommandService.java @@ -58,26 +58,24 @@ public class GrpcCommandService extends CommandServiceImplBase { } private Optional<Status> getActualStatus(CreateCommandRequest request) { - if (isRelatedToVorgang(request.getOrder())) { + if (isStatusChangeOrder(request.getOrder())) { return Optional.of(getVorgang(request.getRelationId()).getStatus()); } else { return Optional.empty(); } } - boolean isRelatedToVorgang(Order order) { - return order != Order.FORWARD_SUCCESSFULL - && order != Order.FORWARD_FAILED - && order != Order.RESEND_POSTFACH_MAIL - && order != Order.UPDATE_ATTACHED_ITEM; + boolean isStatusChangeOrder(String order) { + return order.startsWith("VORGANG"); } private Vorgang getVorgang(String vorgangId) { return vorgangService.getById(vorgangId); } + // TODO implement event/listener system void executeOrder(Command command) { - Optional.ofNullable(StatusOrder.getOrderMethod(command.getOrder())) + StatusOrder.getOrderMethod(command.getOrder()) .ifPresent(orderMethod -> orderMethod.executeOrder(vorgangService, command)); } @@ -146,7 +144,7 @@ public class GrpcCommandService extends CommandServiceImplBase { return GrpcGetPendingCommandsResponse.newBuilder() .addAllCommand(pendingCommands.stream() .map(grpcCommandMapper::toGrpc) - .collect(Collectors.toList())) + .toList()) .build(); } diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapper.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapper.java index c50fc53ef788254fd7889bb40308b589483e3567..a47a7c336f84d5c13ea82a592f999f838cac6f05 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapper.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapper.java @@ -27,8 +27,17 @@ public interface GrpcCreateCommandRequestMapper { @Mapping(target = "bodyObject", source = "bodyObj") @Mapping(target = "body", source = "bodyList") + @Mapping(target = "order", expression = "java(mapOrder(grpcRequest))") CreateCommandRequest fromGrpc(GrpcCreateCommandRequest grpcRequest); + default String mapOrder(GrpcCreateCommandRequest request) { + if (StringUtils.isBlank(request.getOrderString())) { + return map(request.getOrder()).name(); + } else { + return request.getOrderString(); + } + } + @ValueMapping(source = "UNRECOGNIZED", target = MappingConstants.NULL) @ValueMapping(source = "UNDEFINED", target = MappingConstants.NULL) Order map(GrpcOrder grpcOrder); diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/Order.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/Order.java index 645fa4322e2d1de8518531f3837722b1ad495e78..8e013b51a704e60dd910141f62f132c1cee1b9f3 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/Order.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/Order.java @@ -1,5 +1,7 @@ package de.itvsh.ozg.pluto.command; +import org.apache.commons.lang3.StringUtils; + public enum Order { VORGANG_ANNEHMEN, @@ -30,4 +32,8 @@ public enum Order { CREATE_ATTACHED_ITEM, UPDATE_ATTACHED_ITEM; + + public boolean isMeant(String orderString) { + return StringUtils.equals(name(), orderString); + } } \ No newline at end of file diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/PersistPostfachMailByCommandService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/PersistPostfachMailByCommandService.java index 49bfc3de19cedc50b256d78abf03e1f466cdfed9..0b3ff7dd6f5e5d9b05db55a40e50d86c02e1a848 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/PersistPostfachMailByCommandService.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/PersistPostfachMailByCommandService.java @@ -62,7 +62,7 @@ class PersistPostfachMailByCommandService implements PersistPostfachMailService .callContext(buildCallContext(userId)) .vorgangId(mail.getVorgangId()) .relationId(mail.getVorgangId()).relationVersion(-1L) - .order(Order.CREATE_ATTACHED_ITEM) + .order(Order.CREATE_ATTACHED_ITEM.name()) .bodyObject(buildItem(mail)) .build()); } diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/StatusOrder.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/StatusOrder.java index b8ecc8168a6263df15b4252f23f38a66748c7f2e..9c8fe81a3fbde4837d38af175755293177b9173d 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/StatusOrder.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/command/StatusOrder.java @@ -1,5 +1,7 @@ package de.itvsh.ozg.pluto.command; +import java.util.Optional; + import de.itvsh.ozg.pluto.vorgang.Vorgang; import de.itvsh.ozg.pluto.vorgang.VorgangService; import lombok.AllArgsConstructor; @@ -39,7 +41,13 @@ enum StatusOrder { private OrderMethod method; - static OrderMethod getOrderMethod(Order order) { - return StatusOrder.valueOf(order.name()).method; + /** @deprecated please implement event/listener */ + @Deprecated + static Optional<OrderMethod> getOrderMethod(String order) { + try { + return Optional.ofNullable(StatusOrder.valueOf(order).method); + } catch (IllegalArgumentException e) { + return Optional.empty(); + } } } \ No newline at end of file diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangEventListener.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangEventListener.java index 3515f85dc48f8d96addd6cc04cf61f19dde6379b..215f656bc1a9a5c7d8884880cc7d8da7c90bd1e2 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangEventListener.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangEventListener.java @@ -17,7 +17,7 @@ public class VorgangEventListener { private static final String IS_ASSIGN_COMMAND_CONDITION = "{T(de.itvsh.ozg.pluto.vorgang.VorgangEventListener).IS_ASSIGN_COMMAND.test(event.getSource())}"; - public static final Predicate<Command> IS_ASSIGN_COMMAND = command -> command.getOrder() == Order.ASSIGN_USER; + public static final Predicate<Command> IS_ASSIGN_COMMAND = command -> Order.ASSIGN_USER.isMeant(command.getOrder()); @Autowired private VorgangService service; diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangService.java index 712caaa4b711435a97ee48bf2227ec600fa11157..e03e58f54f608124fe9f53116d81695c001ed0b2 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangService.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/VorgangService.java @@ -17,6 +17,7 @@ import de.itvsh.ozg.pluto.clientattribute.ClientAttributeMap; import de.itvsh.ozg.pluto.clientattribute.ClientAttributeReadPermitted; import de.itvsh.ozg.pluto.clientattribute.ClientAttributesMap; import de.itvsh.ozg.pluto.command.Command; +import de.itvsh.ozg.pluto.command.VorgangCreatedEvent; import de.itvsh.ozg.pluto.common.errorhandling.NotFoundException; import de.itvsh.ozg.pluto.vorgang.Vorgang.Status; import de.itvsh.ozg.pluto.vorgang.redirect.Forwarding; @@ -83,7 +84,9 @@ public class VorgangService { } private void publishVorgangeCreatedEvent(Vorgang vorgang) { - publisher.publishEvent(new VorgangCreatedEvent(vorgang)); + // TODO remove first event + publisher.publishEvent(new de.itvsh.ozg.pluto.vorgang.VorgangCreatedEvent(vorgang)); + publisher.publishEvent(new VorgangCreatedEvent(vorgang.getId())); } public Vorgang setStatusNeu(Command command) { diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListener.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListener.java index 3e047ad02b0648e49c7e0e8003ac446e755cfe30..e9e678eb925fd5028e046b81c5d90f52ae27b5d1 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListener.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListener.java @@ -22,9 +22,9 @@ public class ForwardingEventListener { private static final String IS_FORWARD_ORDER_CONDITION = "{T(de.itvsh.ozg.pluto.vorgang.redirect.ForwardingEventListener).IS_FORWARD_ORDER.test(event.getSource())}"; public static final Predicate<MailSendRequest> IS_REDIRECT_MAIL_REQ = req -> req.getRequestReference() instanceof Forwarding; - public static final Predicate<Command> IS_SUCCESSFULL_ORDER = command -> command.getOrder() == Order.FORWARD_SUCCESSFULL; - public static final Predicate<Command> IS_FAILED_ORDER = command -> command.getOrder() == Order.FORWARD_FAILED; - public static final Predicate<Command> IS_FORWARD_ORDER = command -> command.getOrder() == Order.REDIRECT_VORGANG; + public static final Predicate<Command> IS_SUCCESSFULL_ORDER = command -> Order.FORWARD_SUCCESSFULL.isMeant(command.getOrder()); + public static final Predicate<Command> IS_FAILED_ORDER = command -> Order.FORWARD_FAILED.isMeant(command.getOrder()); + public static final Predicate<Command> IS_FORWARD_ORDER = command -> Order.REDIRECT_VORGANG.isMeant(command.getOrder()); @Autowired private ForwardingService service; diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListenerITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListenerITCase.java index 972b19488b6235606f57b2bf7154698433fa6b96..f3b8390669d48df106efb5b20b2f1daf6df32abf 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListenerITCase.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemEventListenerITCase.java @@ -30,7 +30,7 @@ class VorgangAttachedItemEventListenerITCase { class TestOnCreateItemCommand { @Test void shouldCallListener() { - var command = CommandTestFactory.createBuilder().order(Order.CREATE_ATTACHED_ITEM) + var command = CommandTestFactory.createBuilder().order(Order.CREATE_ATTACHED_ITEM.name()) .bodyObject(VorgangAttachedItemTestFactory.asMap()).build(); var event = CommandCreatedEventTestFactory.create(command); @@ -44,7 +44,7 @@ class VorgangAttachedItemEventListenerITCase { class TestOnUpdateItemCommand { @Test void shouldCallListener() { - var command = CommandTestFactory.createBuilder().order(Order.UPDATE_ATTACHED_ITEM) + var command = CommandTestFactory.createBuilder().order(Order.UPDATE_ATTACHED_ITEM.name()) .bodyObject(VorgangAttachedItemTestFactory.asMap()).build(); var event = CommandCreatedEventTestFactory.create(command); diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemITCase.java index c8eb4409803f07023480f6ed94bde55e13ec0d00..593decd4be3593021c4fe717a88fbee1792edd75 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemITCase.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/attached_item/VorgangAttachedItemITCase.java @@ -1,5 +1,6 @@ package de.itvsh.ozg.pluto.attached_item; +import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; import java.util.HashMap; @@ -14,8 +15,6 @@ import org.springframework.context.ApplicationEventPublisher; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.test.annotation.DirtiesContext; -import static org.assertj.core.api.Assertions.*; - import de.itvsh.kop.common.test.DataITCase; import de.itvsh.ozg.pluto.command.Command; import de.itvsh.ozg.pluto.command.CommandCreatedEvent; @@ -53,7 +52,7 @@ class VorgangAttachedItemITCase { @Nested class TestCreateItem { - private Command command = CommandTestFactory.createBuilder().order(Order.CREATE_ATTACHED_ITEM) + private Command command = CommandTestFactory.createBuilder().order(Order.CREATE_ATTACHED_ITEM.name()) .bodyObject(VorgangAttachedItemTestFactory.asMap()).build(); private CommandCreatedEvent event = CommandCreatedEventTestFactory.create(command); @@ -93,7 +92,7 @@ class VorgangAttachedItemITCase { var bodyObjectMap = new HashMap<String, Object>(VorgangAttachedItemTestFactory.asMap()); bodyObjectMap.put(VorgangAttachedItem.MONGODB_FIELDNAME_ITEM, itemMap); - command = CommandTestFactory.createBuilder().order(Order.UPDATE_ATTACHED_ITEM).bodyObject(bodyObjectMap).build(); + command = CommandTestFactory.createBuilder().order(Order.UPDATE_ATTACHED_ITEM.name()).bodyObject(bodyObjectMap).build(); event = CommandCreatedEventTestFactory.create(command); } diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandITCase.java index 78f37fd0ec485a9d036d1e433987e1759fc07520..7923f0f4ff0f5127c8a42501774cd0e21cdbc20f 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandITCase.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandITCase.java @@ -1,5 +1,6 @@ package de.itvsh.ozg.pluto.command; +import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.BeforeEach; @@ -11,8 +12,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.test.annotation.DirtiesContext; -import static org.assertj.core.api.Assertions.*; - import de.itvsh.kop.common.test.DataITCase; import de.itvsh.ozg.pluto.attached_item.VorgangAttachedItem; import de.itvsh.ozg.pluto.attached_item.VorgangAttachedItemTestFactory; @@ -153,7 +152,8 @@ class CommandITCase { @BeforeEach void prepareDatabase() { mongoOperations.save(VorgangTestFactory.create()); - mongoOperations.save(CommandTestFactory.createBuilder().order(Order.SEND_POSTFACH_MAIL).status(CommandStatus.PENDING).build()); + mongoOperations + .save(CommandTestFactory.createBuilder().order(Order.SEND_POSTFACH_MAIL.name()).status(CommandStatus.PENDING).build()); } @Test @@ -313,7 +313,7 @@ class CommandITCase { mongoOperations.save(VorgangTestFactory.createBuilder().status(Status.VERWORFEN).build()); mongoOperations.save(CommandTestFactory.createBuilder().relationId(VorgangTestFactory.ID) - .relationVersion(VorgangTestFactory.VERSION - 1).order(Order.VORGANG_VERWERFEN).build()); + .relationVersion(VorgangTestFactory.VERSION - 1).order(Order.VORGANG_VERWERFEN.name()).build()); } @Test diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandServiceTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandServiceTest.java index cdd1fa8d9a2529f2cdde4fc6b9a00dcfc9892af7..4fdf601e1e7585d6d9a755dc510c9eb4b4521cee 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandServiceTest.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandServiceTest.java @@ -20,12 +20,14 @@ import org.mockito.Spy; import org.springframework.context.ApplicationEventPublisher; import de.itvsh.ozg.pluto.common.callcontext.CallContextTestFactory; +import de.itvsh.ozg.pluto.common.callcontext.CallContextUserTestFactory; +import de.itvsh.ozg.pluto.common.callcontext.CurrentUserService; import de.itvsh.ozg.pluto.vorgang.Vorgang.Status; import de.itvsh.ozg.pluto.vorgang.VorgangTestFactory; class CommandServiceTest { - @Spy // NOSONAR + @Spy @InjectMocks private CommandService service; @@ -33,6 +35,8 @@ class CommandServiceTest { private CommandRepository repository; @Mock private ApplicationEventPublisher publisher; + @Mock + private CurrentUserService currentUserService; @Nested class TestCreateCommand { @@ -63,6 +67,49 @@ class CommandServiceTest { assertThat(command.getPreviousStatus()).isEqualTo(Status.ANGENOMMEN); } + @Test + void shouldHandleMissingCallContext() { + var request = CreateCommandRequestTestFactory.createBuilder().callContext(null).build(); + + var command = service.createCommand(request, Optional.of(Status.ANGENOMMEN)); + + assertThat(command).isNotNull(); + } + + @Nested + class ShouldAddUser { + + @Test + void fromCallContext() { + when(currentUserService.findUser()).thenReturn(Optional.empty()); + + var command = service.createCommand(request, Optional.of(Status.ANGENOMMEN)); + + assertThat(command.getCreatedBy()).isEqualTo(UserTestFactory.ID); + } + + @Test + void fromUserService() { + var request = CreateCommandRequestTestFactory.createBuilder().callContext(null).build(); + when(currentUserService.findUser()).thenReturn(Optional.of(CallContextUserTestFactory.create())); + + var command = service.createCommand(request, Optional.of(Status.ANGENOMMEN)); + + assertThat(command.getCreatedBy()).isEqualTo(UserTestFactory.ID); + } + + @Test + void ifBothArePresentFromUserService() { + when(currentUserService.findUser()) + .thenReturn(Optional.of(CallContextUserTestFactory.createBuilder().userId(Optional.of("other")).build())); + + var command = service.createCommand(request, Optional.of(Status.ANGENOMMEN)); + + assertThat(command.getCreatedBy()).isEqualTo("other"); + } + + } + @Test void shouldHandleEmptyUser() { var request = CreateCommandRequestTestFactory.createBuilder().callContext(CallContextTestFactory.createBuilder().user(null).build()) diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandTestFactory.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandTestFactory.java index 3f16352fd6c8c97a99578fed4a053adeb7f9062a..6f1feca039d844ea68b8624a8883d8b3c64acdea 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandTestFactory.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CommandTestFactory.java @@ -36,6 +36,6 @@ public class CommandTestFactory { .relationId(RELATION_ID) .relationVersion(RELATION_VERSION) .previousStatus(PREV_STATUS) - .order(ORDER); + .order(ORDER.name()); } } diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CreateCommandRequestTestFactory.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CreateCommandRequestTestFactory.java index bcf0d8767f80c2086b5ece3470adbbbb5578eb1c..bb8cb428cef92cc6b92b177dcd15a31f9da2e558 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CreateCommandRequestTestFactory.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/CreateCommandRequestTestFactory.java @@ -18,7 +18,7 @@ public class CreateCommandRequestTestFactory { return CreateCommandRequest.builder() .callContext(CALLCONTEXT) .relationId(RELATION_ID) - .order(ORDER) + .order(ORDER.name()) .relationVersion(RELATION_VERSION); } } diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCommandMapperTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCommandMapperTest.java index 288c7e27c827d20240e2ab97d1af2884af61974e..8e583c5ad8bbdc26fe50d592abb3f9641ee90c0b 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCommandMapperTest.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCommandMapperTest.java @@ -17,9 +17,7 @@ class GrpcCommandMapperTest { @Test void shouldMap() { - Command command = CommandTestFactory.create(); - - GrpcCommand grpcCommand = mapper.toGrpc(command); + GrpcCommand grpcCommand = mapper.toGrpc(CommandTestFactory.create()); assertThat(grpcCommand.getId()).isEqualTo(CommandTestFactory.ID); assertThat(grpcCommand.getCreatedAt()).isEqualTo(CommandTestFactory.CREATED_AT_STR); @@ -28,5 +26,6 @@ class GrpcCommandMapperTest { assertThat(grpcCommand.getRelationId()).isEqualTo(CommandTestFactory.RELATION_ID); assertThat(grpcCommand.getOrder()).isNotNull(); } + } } \ No newline at end of file diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCommandServiceTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCommandServiceTest.java index 791ff31cbf4d61491303b9a23f6015bf532427df..5c04e64bac486e88f2ee75d808b63227c671018f 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCommandServiceTest.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCommandServiceTest.java @@ -1,5 +1,6 @@ package de.itvsh.ozg.pluto.command; +import static org.assertj.core.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; @@ -21,8 +22,6 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Spy; -import static org.assertj.core.api.Assertions.*; - import de.itvsh.ozg.pluto.common.security.PolicyService; import de.itvsh.ozg.pluto.grpc.command.GrpcCommand; import de.itvsh.ozg.pluto.grpc.command.GrpcCommandResponse; @@ -119,22 +118,24 @@ class GrpcCommandServiceTest { } @Nested - class TestIsRelatedToVorgang { + class TestIsStatusChangeOrder { @ParameterizedTest - @EnumSource(mode = Mode.INCLUDE, names = { "FORWARD_SUCCESSFULL", "FORWARD_FAILED", "RESEND_POSTFACH_MAIL", "UPDATE_ATTACHED_ITEM" }) - void shouldReturnFalse(Order order) { - var result = service.isRelatedToVorgang(order); + @EnumSource(mode = Mode.INCLUDE, names = { "VORGANG_ANNEHMEN", "VORGANG_VERWERFEN", "VORGANG_ZURUECKHOLEN", "VORGANG_BEARBEITEN", + "VORGANG_BESCHEIDEN", "VORGANG_ZURUECKSTELLEN", "VORGANG_ABSCHLIESSEN", "VORGANG_WIEDEREROEFFNEN" }) + void shouldReturnTrue(Order order) { + var result = service.isStatusChangeOrder(order.name()); - assertThat(result).isFalse(); + assertThat(result).isTrue(); } @ParameterizedTest - @EnumSource(mode = Mode.EXCLUDE, names = { "FORWARD_SUCCESSFULL", "FORWARD_FAILED", "RESEND_POSTFACH_MAIL", "UPDATE_ATTACHED_ITEM" }) - void shouldReturnTrue(Order order) { - var result = service.isRelatedToVorgang(order); + @EnumSource(mode = Mode.EXCLUDE, names = { "VORGANG_ANNEHMEN", "VORGANG_VERWERFEN", "VORGANG_ZURUECKHOLEN", "VORGANG_BEARBEITEN", + "VORGANG_BESCHEIDEN", "VORGANG_ZURUECKSTELLEN", "VORGANG_ABSCHLIESSEN", "VORGANG_WIEDEREROEFFNEN" }) + void shouldReturnFalse(Order order) { + var result = service.isStatusChangeOrder(order.name()); - assertThat(result).isTrue(); + assertThat(result).isFalse(); } } diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapperTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapperTest.java index 37b18a13b6875d48b8e4db04a4d5c4156b19d322..d808512808d7b23662a45a61161b67439442a88a 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapperTest.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestMapperTest.java @@ -78,14 +78,26 @@ class GrpcCreateCommandRequestMapperTest { assertThat(request.getRelationId()).isEqualTo(GrpcCreateCommandRequestTestFactory.RELATION_ID); } - @Test - void shouldMapOrder() { + @Nested + class shouldMapOrder { - GrpcCreateCommandRequest grpcRequest = GrpcCreateCommandRequestTestFactory.create(); + @Test + void fromOrderStringField() { + GrpcCreateCommandRequest grpcRequest = GrpcCreateCommandRequestTestFactory.createBuilder().clearOrder().build(); - CreateCommandRequest request = mapper.fromGrpc(grpcRequest); + CreateCommandRequest request = mapper.fromGrpc(grpcRequest); - assertThat(request.getOrder().name()).isEqualTo(GrpcCreateCommandRequestTestFactory.ORDER.name()); + assertThat(request.getOrder()).isEqualTo(GrpcCreateCommandRequestTestFactory.ORDER.name()); + } + + @Test + void fromOrderField() { + GrpcCreateCommandRequest grpcRequest = GrpcCreateCommandRequestTestFactory.createBuilder().clearOrderString().build(); + + CreateCommandRequest request = mapper.fromGrpc(grpcRequest); + + assertThat(request.getOrder()).isEqualTo(GrpcCreateCommandRequestTestFactory.ORDER.name()); + } } } } \ No newline at end of file diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestTestFactory.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestTestFactory.java index e282941cc9e90fd993abf7a57cacf52fa5362b9b..479731db4ad1649ac6cf39271c027c2256e6af71 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestTestFactory.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/GrpcCreateCommandRequestTestFactory.java @@ -21,6 +21,7 @@ public class GrpcCreateCommandRequestTestFactory { .setCallContext(CALLCONTEXT) .setRelationId(RELATION_ID) .setOrder(ORDER) + .setOrderString(ORDER.name()) .setRelationVersion(RELATION_VERSION) .setVorgangId(VorgangTestFactory.ID); } diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/PersistPostfachMailByCommandServiceITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/PersistPostfachMailByCommandServiceITCase.java index d73dcb0d902a0121d3f851bdbba69c80e441353b..26fb29ba946dc96a221223563403577ee0b588f7 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/PersistPostfachMailByCommandServiceITCase.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/command/PersistPostfachMailByCommandServiceITCase.java @@ -1,5 +1,6 @@ package de.itvsh.ozg.pluto.command; +import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; import java.util.Collections; @@ -15,8 +16,6 @@ import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.test.context.support.WithMockUser; -import static org.assertj.core.api.Assertions.*; - import de.itvsh.kop.common.test.DataITCase; import de.itvsh.ozg.mail.postfach.PostfachMailTestFactory; import de.itvsh.ozg.pluto.attached_item.VorgangAttachedItem; diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/VorgangEventListenerTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/VorgangEventListenerTest.java index 074a00933c7421ee917cf3964e61fd7d7b771962..7eb716343d1da23a42ad6ff16eab8d7c995ff79c 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/VorgangEventListenerTest.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/VorgangEventListenerTest.java @@ -12,7 +12,7 @@ import de.itvsh.ozg.pluto.vorgang.redirect.VorgangRedirectedEventTestFactory; class VorgangEventListenerTest { - @InjectMocks // NOSONAR + @InjectMocks private VorgangEventListener listener; @Mock diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListenerITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListenerITCase.java index fb06c6da42d5bbac06c12d4c37e200cff0ed87a3..ff69c6f932db7ac54c369ff7d1168cca2fa4bf57 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListenerITCase.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListenerITCase.java @@ -38,7 +38,7 @@ class ForwardingEventListenerITCase { class TestForwardVorgang { @Test void shouldCallForwardingService() { - var command = CommandTestFactory.createBuilder().order(Order.REDIRECT_VORGANG).build(); + var command = CommandTestFactory.createBuilder().order(Order.REDIRECT_VORGANG.name()).build(); publisher.publishEvent(CommandCreatedEventTestFactory.create(command)); @@ -61,7 +61,7 @@ class ForwardingEventListenerITCase { @ParameterizedTest @EnumSource(mode = Mode.EXCLUDE, names = { "REDIRECT_VORGANG" }) void shouldNOTCallServiceOnAnyOtherOrder(Order order) { - Command command = CommandTestFactory.createBuilder().order(order).build(); + Command command = CommandTestFactory.createBuilder().order(order.name()).build(); publisher.publishEvent(MailSentEventTestFactory.create(command)); @@ -73,7 +73,7 @@ class ForwardingEventListenerITCase { class CommandCreatedEvent { @Test void shouldCallForwardingService() { - var command = CommandTestFactory.createBuilder().order(Order.FORWARD_SUCCESSFULL).build(); + var command = CommandTestFactory.createBuilder().order(Order.FORWARD_SUCCESSFULL.name()).build(); publisher.publishEvent(CommandCreatedEventTestFactory.create(command)); diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListenerTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListenerTest.java index 3126553a10fa58e3bc8b295359413ebe65332acb..91e165aaecad129a65a3e8feb541b0d50e28e4ca 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListenerTest.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingEventListenerTest.java @@ -39,7 +39,7 @@ class ForwardingEventListenerTest { @Test void shouldCallService() { - Command command = CommandTestFactory.createBuilder().order(Order.FORWARD_SUCCESSFULL).build(); + Command command = CommandTestFactory.createBuilder().order(Order.FORWARD_SUCCESSFULL.name()).build(); listener.markAsSuccessfull(CommandCreatedEventTestFactory.create(command)); @@ -53,7 +53,7 @@ class ForwardingEventListenerTest { @Test void shouldCallService() { - Command command = CommandTestFactory.createBuilder().order(Order.FORWARD_FAILED).build(); + Command command = CommandTestFactory.createBuilder().order(Order.FORWARD_FAILED.name()).build(); listener.markAsFailed(CommandCreatedEventTestFactory.create(command));