use of io.syndesis.server.endpoint.v1.handler.integration.IntegrationDeploymentHandler in project syndesis by syndesisio.
the class PublicApiHandlerTest method testPublishIntegration.
@Test
public void testPublishIntegration() {
final DataManager dataManager = mock(DataManager.class);
final Integration integration = new Integration.Builder().id("integration-id").build();
final SecurityContext securityContext = newMockSecurityContext();
when(dataManager.fetch(Integration.class, "integration-id")).thenReturn(integration);
final IntegrationDeploymentHandler deploymentHandler = mock(IntegrationDeploymentHandler.class);
when(deploymentHandler.update(securityContext, "integration-id")).thenReturn(new IntegrationDeployment.Builder().spec(integration).targetState(IntegrationDeploymentState.Published).build());
// null's are not used
final PublicApiHandler handler = new PublicApiHandler(dataManager, null, deploymentHandler, null, null, new EnvironmentHandler(dataManager), null, null);
final IntegrationDeployment deployment = handler.publishIntegration(securityContext, "integration-id");
assertThat(deployment.getTargetState()).isEqualTo(IntegrationDeploymentState.Published);
}
use of io.syndesis.server.endpoint.v1.handler.integration.IntegrationDeploymentHandler in project syndesis by syndesisio.
the class PublicApiHandlerTest method testStopIntegration.
@Test
public void testStopIntegration() {
final DataManager dataManager = mock(DataManager.class);
final Integration integration = new Integration.Builder().id("integration-id").build();
final SecurityContext securityContext = newMockSecurityContext();
when(dataManager.fetch(Integration.class, "integration-id")).thenReturn(integration);
when(dataManager.fetchAllByPropertyValue(IntegrationDeployment.class, "integrationId", "integration-id")).thenReturn(Stream.of(new IntegrationDeployment.Builder().targetState(IntegrationDeploymentState.Published).version(2).spec(integration).build()));
final IntegrationDeploymentHandler deploymentHandler = mock(IntegrationDeploymentHandler.class);
// null's are not used
final PublicApiHandler handler = new PublicApiHandler(dataManager, null, deploymentHandler, null, null, new EnvironmentHandler(dataManager), null, null);
handler.stopIntegration(securityContext, "integration-id");
verify(deploymentHandler).updateTargetState("integration-id", 2, new TargetStateRequest(IntegrationDeploymentState.Unpublished));
}
use of io.syndesis.server.endpoint.v1.handler.integration.IntegrationDeploymentHandler in project syndesis by syndesisio.
the class PublicApiHandlerTest method importResources.
@Test
public void importResources() {
final DataManager dataManager = mock(DataManager.class);
final SecurityContext securityContext = newMockSecurityContext();
final InputStream givenDataStream = new ByteArrayInputStream(new byte[0]);
// too convoluted to use the implementation directly
final IntegrationSupportHandler supportHandler = mock(IntegrationSupportHandler.class);
final Connection testConnection = new Connection.Builder().id("connection-id").connectorId("connector-id").name("test-connection").build();
final Integration integration = new Integration.Builder().id("integration-id").addConnection(testConnection).build();
Map<String, List<WithResourceId>> resultMap = new HashMap<>();
resultMap.put("integration-id", Collections.singletonList(integration));
resultMap.put("connection-id", Collections.singletonList(testConnection));
when(supportHandler.importIntegration(securityContext, givenDataStream)).thenReturn(resultMap);
final Environment env = newEnvironment("env");
when(dataManager.fetchByPropertyValue(Environment.class, "name", "env")).thenReturn(Optional.of(env));
when(dataManager.fetch(Connector.class, "connector-id")).thenReturn(new Connector.Builder().putProperty("prop", new ConfigurationProperty.Builder().build()).build());
when(dataManager.fetchAll(eq(Integration.class), any())).then((Answer<ListResult<Integration>>) invocation -> {
final Object[] arguments = invocation.getArguments();
ListResult<Integration> result = new ListResult.Builder<Integration>().addItem(integration).build();
for (int i = 1; i < arguments.length; i++) {
@SuppressWarnings("unchecked") Function<ListResult<Integration>, ListResult<Integration>> operator = (Function<ListResult<Integration>, ListResult<Integration>>) arguments[i];
result = operator.apply(result);
}
return result;
});
final EnvironmentHandler environmentHandler = new EnvironmentHandler(dataManager);
final IntegrationDeploymentHandler deploymentHandler = mock(IntegrationDeploymentHandler.class);
final EncryptionComponent encryptionComponent = mock(EncryptionComponent.class);
when(encryptionComponent.encryptPropertyValues(any(), any())).thenReturn(Collections.singletonMap("prop", "value"));
IntegrationHandler integrationHandler = mock(IntegrationHandler.class);
when(integrationHandler.getOverview(any())).thenReturn(new IntegrationOverview.Builder().createFrom(integration).connections(Collections.singletonList(testConnection.builder().putConfiguredProperty("prop", "value").build())).build());
// null's are not used
final PublicApiHandler handler = new PublicApiHandler(dataManager, encryptionComponent, deploymentHandler, null, null, environmentHandler, supportHandler, integrationHandler);
final PublicApiHandler.ImportFormDataInput formInput = new PublicApiHandler.ImportFormDataInput();
formInput.setData(givenDataStream);
formInput.setProperties(new ByteArrayInputStream("test-connection.prop=value".getBytes(StandardCharsets.UTF_8)));
formInput.setRefreshIntegrations(Boolean.TRUE);
formInput.setEnvironment("env");
formInput.setDeploy(Boolean.TRUE);
final ContinuousDeliveryImportResults importResults = handler.importResources(securityContext, formInput);
verify(deploymentHandler).update(securityContext, "integration-id");
assertThat(importResults.getLastImportedAt()).isNotNull();
assertThat(importResults.getResults().size()).isEqualTo(2);
// verify the integration connection was refreshed
final Integration importedIntegration = (Integration) importResults.getResults().get(0);
assertThat(importedIntegration.getConnections().get(0).getConfiguredProperties().get("prop")).isEqualTo("value");
}
Aggregations