diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandRepository.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandRepository.java index 012a8c3613bea48d6d5dae7c6beba98e3494f10f..343e08a038be9e5c6d4cebb814c54d13d6827de9 100644 --- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandRepository.java +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandRepository.java @@ -57,7 +57,7 @@ import de.ozgcloud.command.CommandStatus; class CommandRepository { private static final String MONGODB_ID = "id"; - private static final String MONGODB_STATUS = "status"; + static final String MONGODB_STATUS = "status"; private static final String MONGODB_REFERENCE_STATUS = "$status"; private static final String MONGODB_FINISHED_AT = "finishedAt"; private static final String MONGODB_RELATION_VERSION = "relationVersion"; diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceITCase.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceITCase.java index e22db2e28e1106c2e140a3ad2ce80321fda82c33..36429601be30bae6182023940b10249ba1bd6a6f 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceITCase.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceITCase.java @@ -142,7 +142,7 @@ class CommandServiceITCase { @Test void shouldRevokeFinishedCommand() { - var commandId = saveSubCommandWithParent(); + var commandId = saveSubCommandWithFailedParent(); commandService.setCommandFinished(commandId); @@ -152,17 +152,24 @@ class CommandServiceITCase { }); } - private String saveSubCommandWithParent() { - var parentId = mongoOperations.save(CommandTestFactory.createBuilder().id(null).status(CommandStatus.ERROR) + private String saveSubCommandWithFailedParent() { + var parentId = mongoOperations.save(createFailedParentCommand()).getId(); + return mongoOperations.save(createSubCommand(parentId)).getId(); + } + + private Command createFailedParentCommand() { + return CommandTestFactory.createBuilder().id(null).status(CommandStatus.ERROR) .bodyObject(Map.of( PersistedCommand.PROPERTY_EXECUTION_MODE, SubCommandExecutionMode.PARALLEL.name(), PersistedCommand.PROPERTY_COMPLETE_IF_SUBS_COMPLETED, true - )).build()).getId(); - return mongoOperations.save(CommandTestFactory.createBuilder().id(null).vorgangId(vorgang.getId()) - .previousState(Map.of("status", Vorgang.Status.NEU.name())) - .bodyObject(Map.of(PersistedCommand.PROPERTY_PARENT_ID, parentId)).build()).getId(); + )).build(); } + private Command createSubCommand(String parentId) { + return CommandTestFactory.createBuilder().id(null).vorgangId(vorgang.getId()) + .previousState(Map.of(CommandRepository.MONGODB_STATUS, Vorgang.Status.NEU.name())) + .bodyObject(Map.of(PersistedCommand.PROPERTY_PARENT_ID, parentId)).build(); + } } @Nested