Wait until the action update event is processed

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>
This commit is contained in:
SirWayne
2017-04-18 13:46:08 +02:00
committed by Kai Zimmermann
parent 3ef38e5c6a
commit d96ef9e937
2 changed files with 19 additions and 4 deletions

View File

@@ -9,8 +9,10 @@
package org.eclipse.hawkbit.integration;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
import java.util.stream.Collectors;
@@ -595,10 +597,23 @@ public class AmqpMessageHandlerServiceIntegrationTest extends AmqpServiceIntegra
}
private void assertAction(final Long actionId, final Status... expectedActionStates) {
final Action action = waitUntilIsPresent(() -> controllerManagement.findActionWithDetails(actionId));
final List<Status> status = action.getActionStatus().stream().map(actionStatus -> actionStatus.getStatus())
createConditionFactory().await().until(() -> {
try {
securityRule.runAsPrivileged(() -> {
final Optional<Action> findActionWithDetails = controllerManagement.findActionWithDetails(actionId);
assertThat(findActionWithDetails).isPresent();
assertThat(convertStatusList(findActionWithDetails.get())).containsOnly(expectedActionStates);
return null;
});
} catch (final Exception e) {
fail(e.getMessage());
}
});
}
private List<Status> convertStatusList(Action action) {
return action.getActionStatus().stream().map(actionStatus -> actionStatus.getStatus())
.collect(Collectors.toList());
assertThat(status).containsOnly(expectedActionStates);
}
private Message createEventMessage(final String tenant, final EventTopic eventTopic, final Object payload) {

View File

@@ -78,7 +78,7 @@ public abstract class AmqpServiceIntegrationTest extends AbstractAmqpIntegration
});
try {
return callable.call().get();
return securityRule.runAsPrivileged(() -> callable.call().get());
} catch (final Exception e) {
return null;
}