use of org.apache.camel.component.salesforce.SalesforceComponent in project camel by apache.
the class SubscriptionHelperTest method precedenceShouldBeFollowed.
@Test
public void precedenceShouldBeFollowed() {
final SalesforceEndpointConfig componentConfig = new SalesforceEndpointConfig();
componentConfig.setDefaultReplayId(1L);
componentConfig.setInitialReplayIdMap(Collections.singletonMap("my-topic-1", 2L));
componentConfig.setInitialReplayIdMap(Collections.singletonMap("my-topic-2", 3L));
final SalesforceEndpointConfig endpointConfig = new SalesforceEndpointConfig();
endpointConfig.setDefaultReplayId(4L);
endpointConfig.setInitialReplayIdMap(Collections.singletonMap("my-topic-1", 5L));
final SalesforceComponent component = mock(SalesforceComponent.class);
when(component.getConfig()).thenReturn(componentConfig);
final SalesforceEndpoint endpoint = mock(SalesforceEndpoint.class);
when(endpoint.getReplayId()).thenReturn(null);
when(endpoint.getComponent()).thenReturn(component);
when(endpoint.getConfiguration()).thenReturn(endpointConfig);
assertEquals("Expecting replayId for `my-topic-1` to be 5, as endpoint configuration has priority", Optional.of(5L), determineReplayIdFor(endpoint, "my-topic-1"));
assertEquals("Expecting replayId for `my-topic-2` to be 3, as endpoint does not configure it", Optional.of(3L), determineReplayIdFor(endpoint, "my-topic-2"));
assertEquals("Expecting replayId for `my-topic-3` to be 4, as it is endpoint's default", Optional.of(4L), determineReplayIdFor(endpoint, "my-topic-3"));
endpointConfig.setDefaultReplayId(null);
assertEquals("Expecting replayId for `my-topic-3` to be 1, as it is component's default when endpoint does not have a default", Optional.of(1L), determineReplayIdFor(endpoint, "my-topic-3"));
when(endpoint.getReplayId()).thenReturn(6L);
assertEquals("Expecting replayId for `my-topic-1` to be 6, as it is endpoint configured explicitly on the endpoint", Optional.of(6L), determineReplayIdFor(endpoint, "my-topic-1"));
assertEquals("Expecting replayId for `my-topic-2` to be 6, as it is endpoint configured explicitly on the endpoint", Optional.of(6L), determineReplayIdFor(endpoint, "my-topic-2"));
assertEquals("Expecting replayId for `my-topic-3` to be 6, as it is endpoint configured explicitly on the endpoint", Optional.of(6L), determineReplayIdFor(endpoint, "my-topic-3"));
}
use of org.apache.camel.component.salesforce.SalesforceComponent in project camel by apache.
the class SubscriptionHelper method determineReplayIdFor.
static Optional<Long> determineReplayIdFor(final SalesforceEndpoint endpoint, final String topicName) {
final String channelName = getChannelName(topicName);
final Long replayId = endpoint.getReplayId();
final SalesforceComponent component = endpoint.getComponent();
final SalesforceEndpointConfig endpointConfiguration = endpoint.getConfiguration();
final Map<String, Long> endpointInitialReplayIdMap = endpointConfiguration.getInitialReplayIdMap();
final Long endpointReplayId = endpointInitialReplayIdMap.getOrDefault(topicName, endpointInitialReplayIdMap.get(channelName));
final Long endpointDefaultReplayId = endpointConfiguration.getDefaultReplayId();
final SalesforceEndpointConfig componentConfiguration = component.getConfig();
final Map<String, Long> componentInitialReplayIdMap = componentConfiguration.getInitialReplayIdMap();
final Long componentReplayId = componentInitialReplayIdMap.getOrDefault(topicName, componentInitialReplayIdMap.get(channelName));
final Long componentDefaultReplayId = componentConfiguration.getDefaultReplayId();
// over give topic values
return Stream.of(replayId, endpointReplayId, componentReplayId, endpointDefaultReplayId, componentDefaultReplayId).filter(Objects::nonNull).findFirst();
}
use of org.apache.camel.component.salesforce.SalesforceComponent in project wildfly-camel by wildfly-extras.
the class SalesforceIntegrationTest method testSalesforceQueryProducer.
@Test
public void testSalesforceQueryProducer() throws Exception {
Map<String, Object> salesforceOptions = createSalesforceOptions();
Assume.assumeTrue("[#1676] Enable Salesforce testing in Jenkins", salesforceOptions.size() == SalesforceOption.values().length);
SalesforceLoginConfig loginConfig = new SalesforceLoginConfig();
IntrospectionSupport.setProperties(loginConfig, salesforceOptions);
SalesforceComponent component = new SalesforceComponent();
component.setPackages("org.wildfly.camel.test.salesforce.dto");
component.setLoginConfig(loginConfig);
CamelContext camelctx = new DefaultCamelContext();
camelctx.addComponent("salesforce", component);
camelctx.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("direct:query").to("salesforce:query?sObjectQuery=SELECT id,name from Opportunity&sObjectClass=" + QueryRecordsOpportunity.class.getName());
}
});
camelctx.start();
try {
ProducerTemplate template = camelctx.createProducerTemplate();
QueryRecordsOpportunity queryRecords = template.requestBody("direct:query", null, QueryRecordsOpportunity.class);
Assert.assertNotNull("Expected query records result to not be null", queryRecords);
} finally {
camelctx.stop();
}
}
Aggregations