use of io.gravitee.rest.api.model.InstallationEntity in project gravitee-management-rest-api by gravitee-io.
the class InstallationCommandHandlerTest method handle.
@Test
public void handle() {
final InstallationEntity installation = new InstallationEntity();
installation.setId(INSTALLATION_ID);
installation.getAdditionalInformation().put(CUSTOM_KEY, CUSTOM_VALUE);
InstallationPayload installationPayload = new InstallationPayload();
InstallationCommand command = new InstallationCommand(installationPayload);
installationPayload.setId(INSTALLATION_ID);
installationPayload.setStatus("ACCEPTED");
when(installationService.getOrInitialize()).thenReturn(installation);
TestObserver<InstallationReply> obs = cut.handle(command).test();
obs.awaitTerminalEvent();
obs.assertValue(reply -> reply.getCommandId().equals(command.getId()) && reply.getCommandStatus().equals(CommandStatus.SUCCEEDED));
final HashMap<String, String> expectedAdditionalInfos = new HashMap<>();
expectedAdditionalInfos.put(CUSTOM_KEY, CUSTOM_VALUE);
expectedAdditionalInfos.put(InstallationService.COCKPIT_INSTALLATION_STATUS, "ACCEPTED");
verify(installationService, times(1)).setAdditionalInformation(expectedAdditionalInfos);
}
use of io.gravitee.rest.api.model.InstallationEntity in project gravitee-management-rest-api by gravitee-io.
the class ListEnvironmentOperationHandlerTest method shouldListEnvironments.
@Test
public void shouldListEnvironments() throws JsonProcessingException {
// Given
EnvironmentEntity envA = new EnvironmentEntity();
envA.setId("my-env-A");
envA.setOrganizationId(ORGANIZATION_ID);
envA.setName("ENV A");
EnvironmentEntity envB = new EnvironmentEntity();
envB.setId("my-env-B");
envB.setOrganizationId(ORGANIZATION_ID);
envB.setName("ENV B");
EnvironmentEntity envC_ERROR = new EnvironmentEntity();
envC_ERROR.setId("my-env-C");
envC_ERROR.setOrganizationId(ORGANIZATION_ID);
envC_ERROR.setName("ENV C");
when(environmentService.findByOrganization(ORGANIZATION_ID)).thenReturn(Arrays.asList(envA, envB, envC_ERROR));
when(objectMapper.writeValueAsString(envA)).thenReturn("envA");
when(objectMapper.writeValueAsString(envB)).thenReturn("envB");
when(objectMapper.writeValueAsString(envC_ERROR)).thenThrow(new JsonProcessingException("") {
});
InstallationEntity installationEntity = new InstallationEntity();
installationEntity.setId(INSTALLATION_ID);
when(installationService.get()).thenReturn(installationEntity);
BridgeCommand command = new BridgeCommand();
command.setOperation(BridgeOperation.LIST_ENVIRONMENT.name());
command.setId(COMMAND_ID);
command.setInstallationId(INSTALLATION_ID);
command.setOrganizationId(ORGANIZATION_ID);
command.setEnvironmentId(ENVIRONMENT_ID);
// When
TestObserver<BridgeReply> obs = cut.handle(command).test();
// Then
obs.awaitTerminalEvent();
obs.assertValue(reply -> {
if (reply.getCommandId().equals(command.getId()) && reply.getCommandStatus().equals(CommandStatus.SUCCEEDED) && BridgeMultiReply.class.isInstance(reply)) {
BridgeMultiReply multiReply = ((BridgeMultiReply) reply);
if (multiReply.getReplies() != null && multiReply.getReplies().size() == 3) {
for (BridgeSimpleReply simpleReply : multiReply.getReplies()) {
if (simpleReply.getEnvironmentId().equals(envA.getId()) && simpleReply.getCommandStatus() == CommandStatus.ERROR) {
return false;
}
if (simpleReply.getEnvironmentId().equals(envB.getId()) && simpleReply.getCommandStatus() == CommandStatus.ERROR) {
return false;
}
if (simpleReply.getEnvironmentId().equals(envC_ERROR.getId()) && simpleReply.getCommandStatus() == CommandStatus.SUCCEEDED) {
return false;
}
}
return true;
}
}
return false;
});
}
use of io.gravitee.rest.api.model.InstallationEntity in project gravitee-management-rest-api by gravitee-io.
the class PromoteApiOperationHandlerTest method shouldHandlePromotionRequestIfCannotWritePayload.
@Test
public void shouldHandlePromotionRequestIfCannotWritePayload() throws JsonProcessingException {
BridgeCommand command = new BridgeCommand();
command.setOperation(BridgeOperation.PROMOTE_API.name());
command.setId(COMMAND_ID);
command.setInstallationId(INSTALLATION_ID);
command.setOrganizationId(ORGANIZATION_ID);
command.setEnvironmentId(ENVIRONMENT_ID);
command.setPayload(new BridgePayload());
final BridgeTarget bridgeTarget = new BridgeTarget();
bridgeTarget.setEnvironmentId("target");
command.setTarget(bridgeTarget);
when(objectMapper.readValue(command.getPayload().getContent(), PromotionEntity.class)).thenReturn(getAPromotionEntity());
InstallationEntity installationEntity = new InstallationEntity();
installationEntity.setId(INSTALLATION_ID);
when(installationService.get()).thenReturn(installationEntity);
when(objectMapper.writeValueAsString(any())).thenThrow(JsonProcessingException.class);
when(promotionService.createOrUpdate(any())).thenReturn(getAPromotionEntity());
// When
TestObserver<BridgeReply> obs = cut.handle(command).test();
// Then
obs.awaitTerminalEvent();
obs.assertValue(reply -> reply.getCommandId().equals(command.getId()) && reply.getCommandStatus().equals(CommandStatus.ERROR) && reply.getMessage().equals("Problem while serializing promotion request for environment [" + ENVIRONMENT_ID + "]"));
}
use of io.gravitee.rest.api.model.InstallationEntity in project gravitee-management-rest-api by gravitee-io.
the class GoodbyeCommandHandlerTest method handleWithException.
@Test
public void handleWithException() {
final InstallationEntity installation = new InstallationEntity();
installation.setId(INSTALLATION_ID);
installation.getAdditionalInformation().put(CUSTOM_KEY, CUSTOM_VALUE);
GoodbyeCommand command = new GoodbyeCommand();
when(installationService.getOrInitialize()).thenReturn(installation);
when(installationService.setAdditionalInformation(anyMap())).thenThrow(new TechnicalManagementException());
when(promotionService.search(any(), any(), any())).thenReturn(new Page<>(emptyList(), 0, 0, 0));
TestObserver<GoodbyeReply> obs = cut.handle(command).test();
obs.awaitTerminalEvent();
obs.assertValue(reply -> reply.getCommandId().equals(command.getId()) && reply.getCommandStatus().equals(CommandStatus.ERROR));
}
use of io.gravitee.rest.api.model.InstallationEntity in project gravitee-management-rest-api by gravitee-io.
the class BridgeCommandFactoryTest method setup.
@Before
public void setup() {
InstallationEntity installationEntity = new InstallationEntity();
installationEntity.setId(INSTALLATION_ID);
when(installationService.get()).thenReturn(installationEntity);
bridgeCommandFactory = new BridgeCommandFactory(installationService);
GraviteeContext.setCurrentOrganization(ORGANIZATION_ID);
GraviteeContext.setCurrentEnvironment(ENVIRONMENT_ID);
}
Aggregations