From 140d7b6c2b362a1c5ac9399882c58b71c00d80a3 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 29 Oct 2024 21:27:50 +0100 Subject: [PATCH] OZG-6991 set client on command --- .../src/main/java/de/ozgcloud/command/Command.java | 2 +- .../src/test/java/de/ozgcloud/command/TestCommand.java | 2 +- .../java/de/ozgcloud/vorgang/command/CommandService.java | 1 + .../de/ozgcloud/vorgang/command/PersistedCommand.java | 2 +- .../java/de/ozgcloud/vorgang/vorgang/VorgangService.java | 4 ++-- .../de/ozgcloud/vorgang/command/CommandServiceTest.java | 9 +++++++++ .../de/ozgcloud/vorgang/command/CommandTestFactory.java | 2 +- .../de/ozgcloud/vorgang/vorgang/VorgangServiceTest.java | 2 +- 8 files changed, 17 insertions(+), 7 deletions(-) diff --git a/vorgang-manager-command/src/main/java/de/ozgcloud/command/Command.java b/vorgang-manager-command/src/main/java/de/ozgcloud/command/Command.java index 03beadfa1..4e0940d8a 100644 --- a/vorgang-manager-command/src/main/java/de/ozgcloud/command/Command.java +++ b/vorgang-manager-command/src/main/java/de/ozgcloud/command/Command.java @@ -44,7 +44,7 @@ public interface Command { public String getCreatedBy(); public String getCreatedByName(); public CommandStatus getStatus(); - String getCreatedByClient(); + String getCreatedByClientName(); public Map<String, Object> getBodyObject(); public Map<String, String> getBody(); diff --git a/vorgang-manager-command/src/test/java/de/ozgcloud/command/TestCommand.java b/vorgang-manager-command/src/test/java/de/ozgcloud/command/TestCommand.java index 3d2c5d826..98a46f1f9 100644 --- a/vorgang-manager-command/src/test/java/de/ozgcloud/command/TestCommand.java +++ b/vorgang-manager-command/src/test/java/de/ozgcloud/command/TestCommand.java @@ -21,7 +21,7 @@ public class TestCommand implements Command { private ZonedDateTime finishedAt; private String createdBy; private String createdByName; - private String createdByClient; + private String createdByClientName; private CommandStatus status; diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandService.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandService.java index ff7653e64..e4432b43d 100644 --- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandService.java +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandService.java @@ -87,6 +87,7 @@ public class CommandService { .body(request.getBody()) .bodyObject(request.getBodyObject()); + userService.findUser().map(CallContextUser::getClientName).ifPresent(builder::createdByClientName); builder = addUserIfExists(builder, Optional.ofNullable(request.getCallContext()).map(CallContext::getUser), userService.findUser()); return builder.build(); } diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/PersistedCommand.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/PersistedCommand.java index 0973a3979..7e045d3e1 100644 --- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/PersistedCommand.java +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/PersistedCommand.java @@ -63,7 +63,7 @@ public class PersistedCommand implements Command { private String createdBy; private String createdByName; - private String createdByClient; + private String createdByClientName; @Setter private CommandStatus status; diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangService.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangService.java index 801685f1f..ec32c6183 100644 --- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangService.java +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangService.java @@ -237,7 +237,7 @@ public class VorgangService { } void validateLockCommand(Command command) { - if (Objects.isNull(command.getCreatedByClient())) { + if (Objects.isNull(command.getCreatedByClientName())) { throw new TechnicalException("Missing client name in lock command"); } if (Objects.isNull(getReason(command.getBodyObject()))) { @@ -247,7 +247,7 @@ public class VorgangService { Map<String, Object> buildLockPatch(Command command) { return Map.of(KEY_HEADER_LOCK, Map.of( - Lock.FIELD_CLIENT_NAME, command.getCreatedByClient(), + Lock.FIELD_CLIENT_NAME, command.getCreatedByClientName(), Lock.FIELD_LOCKED_SINCE, ZonedDateTime.now(ZoneId.of("UTC")), Lock.FIELD_REASON, getReason(command.getBodyObject()))); } diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceTest.java index 3f4d68d90..dfb6e5119 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceTest.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceTest.java @@ -102,6 +102,15 @@ class CommandServiceTest { assertThat(command.getRelationVersion()).isEqualTo(CreateCommandRequestTestFactory.RELATION_VERSION); } + @Test + void shouldSetClientName() { + when(currentUserService.findUser()).thenReturn(Optional.of(CallContextUserTestFactory.create())); + + var command = (PersistedCommand) service.createCommand(request); + + assertThat(command.getCreatedByClientName()).isEqualTo(CallContextTestFactory.CLIENT); + } + @Test void shouldHandleMissingCallContext() { var request = CreateCommandRequestTestFactory.createBuilder().callContext(null).build(); diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandTestFactory.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandTestFactory.java index 47f9149c3..c87132fce 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandTestFactory.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandTestFactory.java @@ -61,7 +61,7 @@ public class CommandTestFactory { .createdAt(CREATED_AT) .createdBy(CREATED_BY) .createdByName(CREATED_BY_NAME) - .createdByClient(CREATED_BY_CLIENT) + .createdByClientName(CREATED_BY_CLIENT) .status(STATUS) .relationId(RELATION_ID) .relationVersion(RELATION_VERSION) diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangServiceTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangServiceTest.java index db34a67ab..3a3d53b5c 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangServiceTest.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/VorgangServiceTest.java @@ -563,7 +563,7 @@ class VorgangServiceTest { @Test void shouldThrowExceptionOnMissingClient() { - var command = CommandTestFactory.createBuilder().createdByClient(null).build(); + var command = CommandTestFactory.createBuilder().createdByClientName(null).build(); assertThrows(TechnicalException.class, () -> service.validateLockCommand(command)); } -- GitLab