diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserId.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserId.java index 5928feea1b0044f7d59ba5366cfd3b140907791b..2efee90d68e7a131b4a3c9f3963a3692bc9971d6 100644 --- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserId.java +++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserId.java @@ -24,6 +24,8 @@ import lombok.extern.log4j.Log4j2; public class M012_MigrationUserId {// NOSONAR private static final String KOP_USERMANAGER_URL_KEY = "kop.usermanager.url"; + private static final String SYSTEM_USER_PREFIX = "system"; + static final String COLLECTION_VORGANG_NAME = "vorgang"; static final String ASSIGNED_TO_FIELD = "assignedTo"; @@ -137,6 +139,10 @@ public class M012_MigrationUserId {// NOSONAR } private Optional<String> getNewInternalId(String currentId) { + if (currentId.startsWith(SYSTEM_USER_PREFIX)) { + return Optional.empty(); + } + try { return Optional.of(getInternalId(currentId)); } catch (HttpClientErrorException e) { diff --git a/pluto-server/src/main/resources/application-local.yml b/pluto-server/src/main/resources/application-local.yml index 3771011de521e481d24e72ff7770c5f2fb28ffc3..d579ea1636eeba4a2b3214b4e253b8f7839fe8a7 100644 --- a/pluto-server/src/main/resources/application-local.yml +++ b/pluto-server/src/main/resources/application-local.yml @@ -54,7 +54,7 @@ kop: notification: mail-from: ea@ozg-sh.de usermanager: - url: http://localhost:8080/api/migrate/user + url: http://localhost:9092/migration/user aktenzeichen: de.itvsh.ozg.pluto.vorgang.AktenzeichenProviderEA diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserIdITCase.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserIdITCase.java index bf2623fc255ce4f65121b8da97777a0e8ee8a8b5..ddd498ccd19f7784c61f197c945c76d68c55c647 100644 --- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserIdITCase.java +++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/migration/M012_MigrationUserIdITCase.java @@ -289,6 +289,7 @@ class M012_MigrationUserIdITCase { @Nested class TestAttachedItemCreatedBy { + private static final String SYSTEM_NOTIFICATION_MANAGER_NEW_VORGANG = "system-notification_manager-new_vorgang"; private final static String CREATED_BY = UUID.randomUUID().toString(); private final static String NEW_CREATED_BY = new ObjectId().toHexString(); @@ -298,7 +299,7 @@ class M012_MigrationUserIdITCase { void init() { dbUtils.dropVorgangAttachedItemCollection(); - vorganAttachedItem = dbUtils.saveVorgangAttachedItem(createVorgangAttachedItemWithCreatedBy()); + vorganAttachedItem = dbUtils.saveVorgangAttachedItem(createVorgangAttachedItemWithCreatedBy(CREATED_BY)); } @Test @@ -311,6 +312,17 @@ class M012_MigrationUserIdITCase { .containsEntry(M012_MigrationUserId.CREATED_BY_FIELD, NEW_CREATED_BY); } + @Test + void shouldNotMigrateOnSystemUser() { + dbUtils.dropVorgangAttachedItemCollection(); + vorganAttachedItem = dbUtils + .saveVorgangAttachedItem(createVorgangAttachedItemWithCreatedBy(SYSTEM_NOTIFICATION_MANAGER_NEW_VORGANG)); + + migrateVorgangAttachedItemCreatedBy(); + + verify(migration, never()).getInternalId(any()); + } + @DisplayName("on exception") @Nested class TestOnException { @@ -362,7 +374,7 @@ class M012_MigrationUserIdITCase { @Test void shouldFindWithOldCreatedByData() { - dbUtils.saveVorgangAttachedItem(createVorgangAttachedItemWithCreatedBy()); + dbUtils.saveVorgangAttachedItem(createVorgangAttachedItemWithCreatedBy(CREATED_BY)); var vorgangAttachedItems = findVorgangAttachedItem(); @@ -387,9 +399,9 @@ class M012_MigrationUserIdITCase { } } - private static Document createVorgangAttachedItemWithCreatedBy() { + private static Document createVorgangAttachedItemWithCreatedBy(String createdById) { return new Document(M012_MigrationUserId.VORGANG_ATTACHED_ITEM_ITEM_FIELD, - new Document(M012_MigrationUserId.CREATED_BY_FIELD, CREATED_BY)); + new Document(M012_MigrationUserId.CREATED_BY_FIELD, createdById)); } } }