[
https://issues.apache.org/jira/browse/CAMEL-13766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16897883#comment-16897883
]
Hemang Ajmera commented on CAMEL-13766:
---------------------------------------
[~davsclaus] any clue on this one?
> Salesforce component Mocking does not work correctly
> ----------------------------------------------------
>
> Key: CAMEL-13766
> URL: https://issues.apache.org/jira/browse/CAMEL-13766
> Project: Camel
> Issue Type: Bug
> Components: camel-salesforce, camel-test
> Affects Versions: 2.24.0
> Reporter: Hemang Ajmera
> Priority: Minor
> Attachments: CAMEL-13766-Code.zip, camel-13766.log.zip
>
>
> In my unit test, I am replacing salesfoce component with a mock. However,
> still the component is getting activated with being replace with mock.
> Because of this test case fails in our Jenkins environment as from Jenkins
> server, there is no connectivity to salesforce.
>
> Here is the part of unit test code
> {code:java}
> @EndpointInject(uri = "mock:salesforce:query")
> private MockEndpoint sfMock;
> String sfResponse = "{}"; // Expected response value from SF
> RouteDefinition mainRoute = context.getRouteDefinition("main-route");
> mainRoute.adviceWith(context, new AdviceWithRouteBuilder(){
>
> @Override
> public void configure() throws Exception {
> mockEndpointsAndSkip("salesforce.*");
> }
> });
> sfMock.whenAnyExchangeReceived(new Processor(){
> @Override
> public void process(Exchange exchange) throws Exception {
> exchange.getIn().setBody(sfResponse);
> }
> });{code}
> Here is the logs in my local machine
>
> {quote}
> 2019-07-18 13:43:42.719 INFO 4288 --- [ main]
> org.eclipse.jetty.util.log : Logging initialized @22433ms to
> org.eclipse.jetty.util.log.Slf4jLog}}
> {{2019-07-18 13:43:42.890 INFO 4288 --- [ main]
> o.a.c.util.jsse.SSLContextParameters : Available providers: SUN version
> 1.8.}}
> {{2019-07-18 13:43:43.608 INFO 4288 --- [ main]
> o.a.c.c.s.internal.SalesforceSession : Login at Salesforce loginUrl:
> https://test.salesforce.com/services/oauth2/token}}
> {{2019-07-18 13:43:46.514 INFO 4288 --- [ main]
> o.a.c.c.s.internal.SalesforceSession : Login successful}}
> {{2019-07-18 13:43:46.519 INFO 4288 --- [ main]
> o.a.c.c.salesforce.SalesforceComponent : Found 0 generated classes in
> packages: [org.apache.camel.salesforce.dto]}}
> {{2019-07-18 13:43:46.523 INFO 4288 --- [ main]
> .c.i.InterceptSendToMockEndpointStrategy : Adviced endpoint
> [salesforce://query?format=JSON&rawPayload=true&sObjectQuery=SELECT+Id%2C+OwnerId%2CLastModifiedById%2CLastModifiedDate+FROM+Account+WHERE+Id+IN%28%27abcd%27%29]
> with mock endpoint [mock:salesforce:query]
> {quote}
> We can clearly see the component is initiated first and then replaced with
> mock. The idea of replacing with mock is that we should be able to test even
> if component cannot be initiated.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)