From 904e2571289e850cf474556147cf3bbba388efb2 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 4 Nov 2024 12:48:16 +0100 Subject: [PATCH] OZG-6991 publish command executed event --- .../vorgang/vorgang/VorgangEventListener.java | 2 ++ .../vorgang/VorgangEventListenerTest.java | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangEventListener.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangEventListener.java index d8d18d10a..35e7a7419 100644 --- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangEventListener.java +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangEventListener.java @@ -36,6 +36,7 @@ import de.ozgcloud.command.CommandCreatedEvent; import de.ozgcloud.command.CommandExecutedEvent; import de.ozgcloud.command.CommandFailedEvent; import de.ozgcloud.command.CommandRevokeFailedEvent; +import de.ozgcloud.command.CommandRevokedEvent; import de.ozgcloud.command.RevokeCommandEvent; import de.ozgcloud.vorgang.command.CommandService; import de.ozgcloud.vorgang.command.Order; @@ -132,6 +133,7 @@ public class VorgangEventListener { var command = event.getSource(); try { vorgangService.unlockVorgang(command); + publisher.publishEvent(new CommandRevokedEvent(command)); } catch (RuntimeException e) { LOG.error("Error unlocking vorgang.", e); publisher.publishEvent(new CommandRevokeFailedEvent(command.getId(), e.getMessage())); diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangEventListenerTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangEventListenerTest.java index 1777bbfa4..95d602135 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangEventListenerTest.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangEventListenerTest.java @@ -47,6 +47,7 @@ import de.ozgcloud.command.Command; import de.ozgcloud.command.CommandExecutedEvent; import de.ozgcloud.command.CommandFailedEvent; import de.ozgcloud.command.CommandRevokeFailedEvent; +import de.ozgcloud.command.CommandRevokedEvent; import de.ozgcloud.command.RevokeCommandEvent; import de.ozgcloud.common.errorhandling.TechnicalException; import de.ozgcloud.vorgang.command.CommandCreatedEventTestFactory; @@ -268,7 +269,9 @@ class VorgangEventListenerTest { class TestRevokeLockVorgang { @Captor - private ArgumentCaptor<CommandRevokeFailedEvent> eventCaptor; + private ArgumentCaptor<CommandRevokedEvent> commandRevokedEventCaptor; + @Captor + private ArgumentCaptor<CommandRevokeFailedEvent> commandRevokeFailedEventCaptor; @Test void shouldCallUnlockVorgang() { @@ -279,6 +282,16 @@ class VorgangEventListenerTest { verify(service).unlockVorgang(command); } + @Test + void shouldPublishCommandRevokedEvent() { + var command = CommandTestFactory.create(); + + listener.onRevokeLockVorgang(new RevokeCommandEvent(command)); + + verify(publisher).publishEvent(commandRevokedEventCaptor.capture()); + assertThat(commandRevokedEventCaptor.getValue().getSource()).isSameAs(command); + } + @Test void shouldPublishCommandFailedEvent() { var command = CommandTestFactory.create(); @@ -287,8 +300,8 @@ class VorgangEventListenerTest { listener.onRevokeLockVorgang(new RevokeCommandEvent(command)); - verify(publisher).publishEvent(eventCaptor.capture()); - assertThat(eventCaptor.getValue()).satisfies(event -> { + verify(publisher).publishEvent(commandRevokeFailedEventCaptor.capture()); + assertThat(commandRevokeFailedEventCaptor.getValue()).satisfies(event -> { assertThat(event.getSource()).isEqualTo(CommandTestFactory.ID); assertThat(event.getErrorMessage()).isEqualTo(errorMessage); }); -- GitLab