[ 
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)

Reply via email to