From b7b2183a99db37226476c326a46611f7926698fd Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 23 Jun 2022 10:13:16 +0200 Subject: [PATCH] OZG-1513 create and handle command for sending postfach nachricht; Refactoring: allow order als string in grpc endpoint --- ...ntragstellerNotificationEventListener.java | 13 ++++- .../command/CommandRemoteService.java | 2 + .../notification/command/CommandService.java | 15 +++--- .../postfach/PostfachNachricht.java | 4 ++ .../notification/vorgang/VorgangService.java | 2 +- ...gstellerNotificationEventListenerTest.java | 9 ++++ .../command/CommandServiceTest.java | 27 ++++++++++ .../PostfachNachrichtTestFactory.java | 3 +- pluto-interface/pom.xml | 2 +- pluto-server/pom.xml | 12 +++-- .../VorgangAttachedItemEventListener.java | 4 +- .../de/itvsh/ozg/pluto/command/Command.java | 2 +- .../ozg/pluto/command/CommandService.java | 13 ++++- .../pluto/command/CreateCommandRequest.java | 2 +- .../command/GrpcCommandResponseMapper.java | 9 +++- .../ozg/pluto/command/GrpcCommandService.java | 14 +++--- .../GrpcCreateCommandRequestMapper.java | 9 ++++ .../de/itvsh/ozg/pluto/command/Order.java | 6 +++ .../PersistPostfachMailByCommandService.java | 2 +- .../itvsh/ozg/pluto/command/StatusOrder.java | 12 ++++- .../pluto/vorgang/VorgangEventListener.java | 2 +- .../ozg/pluto/vorgang/VorgangService.java | 5 +- .../redirect/ForwardingEventListener.java | 6 +-- ...organgAttachedItemEventListenerITCase.java | 4 +- .../VorgangAttachedItemITCase.java | 7 ++- .../ozg/pluto/command/CommandITCase.java | 8 +-- .../ozg/pluto/command/CommandServiceTest.java | 49 ++++++++++++++++++- .../ozg/pluto/command/CommandTestFactory.java | 2 +- .../CreateCommandRequestTestFactory.java | 2 +- .../pluto/command/GrpcCommandMapperTest.java | 5 +- .../pluto/command/GrpcCommandServiceTest.java | 23 ++++----- .../GrpcCreateCommandRequestMapperTest.java | 22 +++++++-- .../GrpcCreateCommandRequestTestFactory.java | 1 + ...istPostfachMailByCommandServiceITCase.java | 3 +- .../vorgang/VorgangEventListenerTest.java | 2 +- .../ForwardingEventListenerITCase.java | 6 +-- .../redirect/ForwardingEventListenerTest.java | 4 +- 37 files changed, 235 insertions(+), 78 deletions(-) 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 c54b50fd1..c4ec067e8 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 6e4ed28fe..a57f8712e 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 dc1bc3765..783581413 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 79fdb98f7..6d81611ec 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 a54913307..bb5d1fea9 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 46875c9be..40687f5c1 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 9076b8f0b..8744f7a77 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 125c9f907..85ad49c12 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 a738d2ea5..cd6163e1f 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 39cb4c7eb..b062a14c5 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 9d2c2b38a..ff6f0377a 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 34b656f2b..1c097b51d 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 c20100699..2c5193e3f 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 20f44f722..0557061ca 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 289de5371..4128a1315 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 c4ed34002..d6c1a95fb 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 c50fc53ef..a47a7c336 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 645fa4322..8e013b51a 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 49bfc3de1..0b3ff7dd6 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 b8ecc8168..9c8fe81a3 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 3515f85dc..215f656bc 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 712caaa4b..e03e58f54 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 3e047ad02..e9e678eb9 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 972b19488..f3b839066 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 c8eb44098..593decd4b 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 78f37fd0e..7923f0f4f 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 cdd1fa8d9..4fdf601e1 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 3f16352fd..6f1feca03 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 bcf0d8767..bb8cb428c 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 288c7e27c..8e583c5ad 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 791ff31cb..5c04e64ba 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 37b18a13b..d80851280 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 e282941cc..479731db4 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 d73dcb0d9..26fb29ba9 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 074a00933..7eb716343 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 fb06c6da4..ff69c6f93 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 3126553a1..91e165aae 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)); -- GitLab