This is an automated email from the ASF dual-hosted git repository. jeremyross pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new db6a2d7 CAMEL-17189: User-supplied SalesforceHttpClient db6a2d7 is described below commit db6a2d7c4f4555904d6c60efc6aeb056c6c276b4 Author: Jeremy Ross <jeremy.g.r...@gmail.com> AuthorDate: Mon Nov 15 19:58:21 2021 -0600 CAMEL-17189: User-supplied SalesforceHttpClient Make sure we actually use the SalesforceHttpClient that the user provides. --- .../component/salesforce/SalesforceComponent.java | 16 ++++++++----- .../SalesforceComponentIntegrationTest.java | 27 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java index c99fa0a..0fca548 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java @@ -378,14 +378,18 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP // create a Jetty HttpClient if not already set if (httpClient == null) { - final SSLContextParameters contextParameters = Optional.ofNullable(sslContextParameters) - .orElseGet(() -> Optional.ofNullable(retrieveGlobalSslContextParameters()) - .orElseGet(() -> new SSLContextParameters())); + if (config != null && config.getHttpClient() != null) { + httpClient = config.getHttpClient(); + } else { + final SSLContextParameters contextParameters = Optional.ofNullable(sslContextParameters) + .orElseGet(() -> Optional.ofNullable(retrieveGlobalSslContextParameters()) + .orElseGet(() -> new SSLContextParameters())); - final SslContextFactory sslContextFactory = new SslContextFactory(); - sslContextFactory.setSslContext(contextParameters.createSSLContext(getCamelContext())); + final SslContextFactory sslContextFactory = new SslContextFactory(); + sslContextFactory.setSslContext(contextParameters.createSSLContext(getCamelContext())); - httpClient = createHttpClient(this, sslContextFactory, getCamelContext(), workerPoolSize, workerPoolMaxSize); + httpClient = createHttpClient(this, sslContextFactory, getCamelContext(), workerPoolSize, workerPoolMaxSize); + } if (config != null) { config.setHttpClient(httpClient); } diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceComponentIntegrationTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceComponentIntegrationTest.java new file mode 100644 index 0000000..af38b25 --- /dev/null +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceComponentIntegrationTest.java @@ -0,0 +1,27 @@ +package org.apache.camel.component.salesforce; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class SalesforceComponentIntegrationTest extends AbstractSalesforceTestBase { + + private SalesforceHttpClient client = new SalesforceHttpClient(); + private SalesforceComponent component; + + @Test + public void usesUserSuppliedHttpClient() { + assertEquals(client, component.getHttpClient()); + } + + @Override + protected void createComponent() throws Exception { + super.createComponent(); + client = new SalesforceHttpClient(); + SalesforceEndpointConfig config = new SalesforceEndpointConfig(); + config.setHttpClient(client); + component = (SalesforceComponent) context.getComponent("salesforce"); + component.setConfig(config); + component.getLoginConfig().setLazyLogin(true); + } +}