From 96579c293177b9539dc8ad2f15b6f8e760079183 Mon Sep 17 00:00:00 2001
From: Felix Reichenbach <felix.reichenbach@mgm-tp.com>
Date: Thu, 2 Jan 2025 16:52:51 +0100
Subject: [PATCH] OZG-7037 fix package reference in ArchiveEventlistener

---
 .../archivierung/ArchiveEventListener.java    |  8 +++---
 .../ArchiveEventListenerITCase.java           | 28 +++++++++++++++++++
 .../VorgangLockedEventTestFactory.java        | 12 ++++++++
 3 files changed, 44 insertions(+), 4 deletions(-)
 create mode 100644 archive-manager-server/src/test/java/de/ozgcloud/archive/archivierung/VorgangLockedEventTestFactory.java

diff --git a/archive-manager-server/src/main/java/de/ozgcloud/archive/archivierung/ArchiveEventListener.java b/archive-manager-server/src/main/java/de/ozgcloud/archive/archivierung/ArchiveEventListener.java
index a9f8f15..1525b91 100644
--- a/archive-manager-server/src/main/java/de/ozgcloud/archive/archivierung/ArchiveEventListener.java
+++ b/archive-manager-server/src/main/java/de/ozgcloud/archive/archivierung/ArchiveEventListener.java
@@ -46,10 +46,10 @@ import de.ozgcloud.command.VorgangLockedEvent;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 
-@Component()
+@Component
 @RequiredArgsConstructor
 @Log4j2
-class ArchiveEventListener {
+public class ArchiveEventListener {
 
 	static final int MAXIMUM_CHECKS_FOR_PENDING_COMMANDS = 3;
 	static final int WAIT_INTERVAL = 30 * 1000;
@@ -57,10 +57,10 @@ class ArchiveEventListener {
 	private static final String ERROR_MESSAGE_TEMPLATE = "Error on executing %s Command (id: %s).";
 
 	static final String ARCHIVE_VORGANG_ORDER = "ARCHIVE_VORGANG";
-	private static final String IS_ARCHIVE_VORGANG_EVENT = "{T(de.ozgcloud.archive.vorgang.ArchiveEventListener).IS_ARCHIVE_VORGANG_COMMAND.test(event.getSource())}";
+	private static final String IS_ARCHIVE_VORGANG_EVENT = "{T(de.ozgcloud.archive.archivierung.ArchiveEventListener).IS_ARCHIVE_VORGANG_COMMAND.test(event.getSource())}";
 	public static final Predicate<Command> IS_ARCHIVE_VORGANG_COMMAND = command -> ARCHIVE_VORGANG_ORDER.equals(command.getOrder());
 
-	private static final String IS_LOCKED_BY_ARCHIVE_MANAGER_EVENT = "{T(de.ozgcloud.archive.vorgang.ArchiveEventListener)."
+	private static final String IS_LOCKED_BY_ARCHIVE_MANAGER_EVENT = "{T(de.ozgcloud.archive.archivierung.ArchiveEventListener)."
 			+ "IS_LOCK_BY_ARCHIVE_MANAGER_COMMAND.test(event.getCommand())}";
 	public static final Predicate<Command> IS_LOCK_BY_ARCHIVE_MANAGER_COMMAND = command -> CallContextUser.ARCHIVE_MANAGER_CLIENT_NAME
 			.equals(command.getCreatedByClientName());
diff --git a/archive-manager-server/src/test/java/de/ozgcloud/archive/archivierung/ArchiveEventListenerITCase.java b/archive-manager-server/src/test/java/de/ozgcloud/archive/archivierung/ArchiveEventListenerITCase.java
index cffcb26..121c50c 100644
--- a/archive-manager-server/src/test/java/de/ozgcloud/archive/archivierung/ArchiveEventListenerITCase.java
+++ b/archive-manager-server/src/test/java/de/ozgcloud/archive/archivierung/ArchiveEventListenerITCase.java
@@ -23,6 +23,7 @@
  */
 package de.ozgcloud.archive.archivierung;
 
+import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
 import org.junit.jupiter.api.Nested;
@@ -31,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.context.ApplicationEventPublisher;
 
+import de.ozgcloud.archive.common.callcontext.CallContextUser;
 import de.ozgcloud.command.Command;
 import de.ozgcloud.command.CommandCreatedEventTestFactory;
 import de.ozgcloud.command.CommandTestFactory;
@@ -68,4 +70,30 @@ class ArchiveEventListenerITCase {
 			verifyNoInteractions(eventListener);
 		}
 	}
+
+	@Nested
+	class TestOnVorgangLockedEvent {
+
+		private static final Command COMMAND = CommandTestFactory.createBuilder()
+				.createdByClientName(CallContextUser.ARCHIVE_MANAGER_CLIENT_NAME)
+				.build();
+
+		@Test
+		void shouldReactOnOrder() {
+			var event = VorgangLockedEventTestFactory.withCommand(COMMAND);
+			doNothing().when(eventListener).onVorgangLockedEvent(any());
+
+			publisher.publishEvent(event);
+
+			verify(eventListener).onVorgangLockedEvent(event);
+		}
+
+		@Test
+		void shouldNotReactOnOtherOrder() {
+			publisher
+					.publishEvent(VorgangLockedEventTestFactory.withCommand(CommandTestFactory.createBuilder().createdByClientName("OTHER").build()));
+
+			verifyNoInteractions(eventListener);
+		}
+	}
 }
\ No newline at end of file
diff --git a/archive-manager-server/src/test/java/de/ozgcloud/archive/archivierung/VorgangLockedEventTestFactory.java b/archive-manager-server/src/test/java/de/ozgcloud/archive/archivierung/VorgangLockedEventTestFactory.java
new file mode 100644
index 0000000..7fb4dc2
--- /dev/null
+++ b/archive-manager-server/src/test/java/de/ozgcloud/archive/archivierung/VorgangLockedEventTestFactory.java
@@ -0,0 +1,12 @@
+package de.ozgcloud.archive.archivierung;
+
+import de.ozgcloud.command.Command;
+import de.ozgcloud.command.VorgangLockedEvent;
+
+public class VorgangLockedEventTestFactory {
+
+	public static VorgangLockedEvent withCommand(Command command) {
+		return new VorgangLockedEvent(command);
+	}
+
+}
-- 
GitLab