@Test public void shouldNotContactVerifierForNonDynamicActions() { final ConnectorDescriptor defaultDefinition = new ConnectorDescriptor.Builder().build(); final Response response = handler.enrichWithMetadata(SALESFORCE_LIMITS, null); assertThat(response.getStatus()).isEqualTo(Status.OK.getStatusCode()); @SuppressWarnings("unchecked") final Meta<ConnectorDescriptor> returnValue = (Meta<ConnectorDescriptor>) response.getEntity(); assertThat(returnValue.getValue()).isEqualTo(defaultDefinition); }
@Test public void shouldAddMetaAndSetStatusToBadRequestIfMetaCallFails() { @SuppressWarnings({"unchecked", "rawtypes"}) final Class<Entity<Map<String, Object>>> entityType = (Class) Entity.class; ArgumentCaptor.forClass(entityType); // simulates fallback return final DynamicActionMetadata fallback = new DynamicActionMetadata.Builder().build(); when(metadataCommand.execute()).thenReturn(fallback); when(((HystrixInvokableInfo<?>) metadataCommand).isSuccessfulExecution()).thenReturn(false); final Response response = handler.enrichWithMetadata(SALESFORCE_CREATE_OR_UPDATE, Collections.emptyMap()); assertThat(response.getStatus()).isEqualTo(Status.BAD_REQUEST.getStatusCode()); @SuppressWarnings("unchecked") final Meta<ConnectorDescriptor> meta = (Meta<ConnectorDescriptor>) response.getEntity(); final ConnectorDescriptor descriptor = new ConnectorDescriptor.Builder().createFrom(createOrUpdateSalesforceObjectDescriptor) .inputDataShape(ConnectionActionHandler.ANY_SHAPE)// .outputDataShape(salesforceOutputShape)// .build(); assertThat(meta.getValue()).isEqualTo(descriptor); final MetaData metadata = meta.getData(); assertThat(metadata).isNotNull(); assertThat(metadata.getType()).contains(MetaData.Type.WARNING); assertThat(metadata.getMessage()).contains("The query did not succeed"); }
@Test public void shouldProvideActionDefinition() { @SuppressWarnings({"unchecked", "rawtypes"}) final Class<Entity<Map<String, Object>>> entityType = (Class) Entity.class; ArgumentCaptor.forClass(entityType); final DynamicActionMetadata suggestions = new DynamicActionMetadata.Builder() .putProperty("sObjectName", Arrays.asList(DynamicActionMetadata.ActionPropertySuggestion.Builder.of("Account", "Account"), DynamicActionMetadata.ActionPropertySuggestion.Builder.of("Contact", "Contact"))) .build(); when(metadataCommand.execute()).thenReturn(suggestions); when(((HystrixInvokableInfo<?>) metadataCommand).isSuccessfulExecution()).thenReturn(true); final Response response = handler.enrichWithMetadata(SALESFORCE_CREATE_OR_UPDATE, Collections.emptyMap()); assertThat(response.getStatus()).isEqualTo(Status.OK.getStatusCode()); @SuppressWarnings("unchecked") final Meta<ConnectorDescriptor> meta = (Meta<ConnectorDescriptor>) response.getEntity(); final ConnectorDescriptor enrichedDefinitioin = new ConnectorDescriptor.Builder() .createFrom(createOrUpdateSalesforceObjectDescriptor) .replaceConfigurationProperty("sObjectName", c -> c.addEnum(ConfigurationProperty.PropertyValue.Builder.of("Account", "Account"), ConfigurationProperty.PropertyValue.Builder.of("Contact", "Contact"))) .inputDataShape(ConnectionActionHandler.ANY_SHAPE)// .build(); assertThat(meta.getValue()).isEqualTo(enrichedDefinitioin); }
.stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme(directEndpoint.schema) .putConfiguredProperty("name", directEndpoint.name) new Step.Builder() .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("mock") .putConfiguredProperty("name", "result")
new Step.Builder() .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("direct") .putConfiguredProperty("name", "expression") new Step.Builder() .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("mock") .putConfiguredProperty("name", "expression")
.stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("mock") .putConfiguredProperty("name", "timer")
new Step.Builder() .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("direct") .putConfiguredProperty("name", "start") new Step.Builder() .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("bean") .putConfiguredProperty("beanName", "myBean") new Step.Builder() .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("mock") .putConfiguredProperty("name", "result")
.stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("bean") .putConfiguredProperty("beanName", "io.syndesis.integration.runtime.IntegrationRouteTest.TestConfiguration") .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("mock") .putConfiguredProperty("name", "result")
when(((HystrixInvokableInfo<?>) metadataCommand).isSuccessfulExecution()).thenReturn(true); final ConnectorDescriptor enrichedDefinitioin = new ConnectorDescriptor.Builder() .createFrom(createOrUpdateSalesforceObjectDescriptor) .replaceConfigurationProperty("sObjectName",
.stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("log") .putConfiguredProperty("loggerName", "timer") .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder() .componentScheme("mock") .putConfiguredProperty("name", "timer")
protected Step newSqlEndpointStep(String actionId, Consumer<Step.Builder> stepConsumer, Consumer<ConnectorDescriptor.Builder> descriptorConsumer) { final Connector connector = getResourceManager().mandatoryLoadConnector("sql"); final ConnectorAction action = getResourceManager().mandatoryLookupAction(connector, actionId); final ConnectorDescriptor.Builder descriptorBuilder = new ConnectorDescriptor.Builder().createFrom(action.getDescriptor()); descriptorConsumer.accept(descriptorBuilder); final Step.Builder builder = new Step.Builder() .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder().createFrom(action).descriptor(descriptorBuilder.build()).build()) .connection(new io.syndesis.common.model.connection.Connection.Builder() .connector(connector) .putConfiguredProperty("user", db.properties.getProperty("sql-connector.user")) .putConfiguredProperty("password", db.properties.getProperty("sql-connector.password")) .putConfiguredProperty("url", db.properties.getProperty("sql-connector.url")) .build()); stepConsumer.accept(builder); return builder.build(); } }
@Test public void shouldNotExposeWebHooksVia3scaleWhen3scaleIsEnabled() { final ControllersConfigurationProperties properties = new ControllersConfigurationProperties(); properties.setExposeVia3scale(true); final ExposureDeploymentDataCustomizer customizer = new ExposureDeploymentDataCustomizer(properties); final IntegrationDeployment webHookIntegration = new IntegrationDeployment.Builder() .spec(new Integration.Builder() .addFlow(new Flow.Builder().addStep(new Step.Builder().action(new ConnectorAction.Builder() .descriptor(new ConnectorDescriptor.Builder().connectorId("webhook").build()).addTag("expose") .build()).build()).build()) .build()) .build(); assertThat(customizer.determineExposure(webHookIntegration)).containsOnly(Exposure.SERVICE, Exposure.ROUTE); } }
/** * Creates an immutable copy of a {@link ConnectorDescriptor} value. * Uses accessors to get values to initialize the new immutable instance. * If an instance is already immutable, it is returned as is. * @param instance The instance to copy * @return A copied immutable ConnectorDescriptor instance */ public static ConnectorDescriptor copyOf(ConnectorDescriptor instance) { if (instance instanceof ImmutableConnectorDescriptor) { return (ImmutableConnectorDescriptor) instance; } return new ConnectorDescriptor.Builder() .createFrom(instance) .build(); }
private static Connection dummyConnection() { Connector connector = new Connector.Builder() .addAction( new ConnectorAction.Builder().id("fromAction") .descriptor(new ConnectorDescriptor.Builder().build()) .build()) .addAction( new ConnectorAction.Builder().id("toAction") .descriptor(new ConnectorDescriptor.Builder().build()) .build()) .build(); return new Connection.Builder().connector(connector).build(); } }
protected final Step newSimpleEndpointStep(String scheme, Consumer<ConnectorDescriptor.Builder> consumer) { ConnectorDescriptor.Builder builder = new ConnectorDescriptor.Builder().componentScheme(scheme); consumer.accept(builder); return new Step.Builder() .stepKind(StepKind.endpoint) .action(new ConnectorAction.Builder() .descriptor(builder.build()) .build()) .build(); }
@Override ConnectorDescriptor.Builder createDescriptor(final ObjectNode json, final Swagger swagger, final Operation operation) { final ConnectorDescriptor.Builder actionDescriptor = new ConnectorDescriptor.Builder(); final DataShape inputDataShape = dataShapeGenerator.createShapeFromRequest(json, swagger, operation); actionDescriptor.inputDataShape(inputDataShape); final DataShape outputDataShape = dataShapeGenerator.createShapeFromResponse(json, swagger, operation); actionDescriptor.outputDataShape(outputDataShape); actionDescriptor.putConfiguredProperty("operationId", operation.getOperationId()); return actionDescriptor; }
@Override ConnectorDescriptor.Builder createDescriptor(final ObjectNode json, final Swagger swagger, final Operation operation) { return new ConnectorDescriptor.Builder(); } };
@Override ConnectorDescriptor.Builder createDescriptor(final ObjectNode json, final Swagger swagger, final Operation operation) { final ConnectorDescriptor.Builder actionDescriptor = new ConnectorDescriptor.Builder(); final DataShape inputDataShape = dataShapeGenerator.createShapeFromRequest(json, swagger, operation); actionDescriptor.inputDataShape(inputDataShape); final DataShape outputDataShape = dataShapeGenerator.createShapeFromResponse(json, swagger, operation); actionDescriptor.outputDataShape(outputDataShape); actionDescriptor.putConfiguredProperty("operationId", operation.getOperationId()); actionDescriptor.addConnectorCustomizer("io.syndesis.connector.rest.swagger.ResponseCustomizer"); return actionDescriptor; }
private static ConnectorAction newActionBy(final Connector connector) { return new ConnectorAction.Builder()// .descriptor(// new ConnectorDescriptor.Builder()// .connectorId(connector.getId().get())// .build())// .build(); }
@Override ConnectorDescriptor.Builder createDescriptor(final ObjectNode json, final Swagger swagger, final Operation operation) { return new ConnectorDescriptor.Builder(); } };