Repository: camel Updated Branches: refs/heads/master 52d41c5e5 -> c0af48134
CAMEL-8394 Consolidated configurations and moved client state to component Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/29f9fe56 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/29f9fe56 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/29f9fe56 Branch: refs/heads/master Commit: 29f9fe56a371eb06a9a2c747254a0f7265a6745b Parents: 52d41c5 Author: Andrew Block <andy.bl...@gmail.com> Authored: Wed Feb 25 09:18:12 2015 -0600 Committer: Claus Ibsen <davscl...@apache.org> Committed: Wed Feb 25 16:24:36 2015 +0100 ---------------------------------------------------------------------- components/camel-docker/README.md | 35 +---- .../component/docker/DockerClientFactory.java | 88 ++++++------ .../component/docker/DockerClientProfile.java | 32 ++--- .../camel/component/docker/DockerComponent.java | 13 ++ .../component/docker/DockerConfiguration.java | 140 ++++++++++++++++--- .../docker/consumer/DockerEventsConsumer.java | 6 +- .../docker/producer/DockerProducer.java | 5 +- .../docker/DockerClientProfileRegistryTest.java | 65 --------- .../docker/headers/BaseDockerHeaderTest.java | 10 +- 9 files changed, 207 insertions(+), 187 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/29f9fe56/components/camel-docker/README.md ---------------------------------------------------------------------- diff --git a/components/camel-docker/README.md b/components/camel-docker/README.md index 637b8aa..e827061 100644 --- a/components/camel-docker/README.md +++ b/components/camel-docker/README.md @@ -19,51 +19,26 @@ All URI option can be passed as Header properties. Values found in a message hea | ------------- | ---------------- | |containerId|CamelDockerContainerId | -## Client Profile +## Configuration -A client profile encapsulates the parameters necessary to communicate with docker. It is constructed into a *DockerClientProfile* object from the following uri or or header values as described below +Options on the Docker Endpoint mapped to a *DockerConfiguration* POJO. This object contains the values integral to the communication with the Docker sever as first order attributes along with a Map of additional parameters based on the options for each type of interaction. -The following options are required +The following are the the primary options for communicating with the Docker server | Option | Header | Description | Default Value | |-----------|-----------|-----------------|-------------------| | host | CamelDockerHost | Docker host | localhost | | port | CamelDockerPort | Docker port | 2375 | - -The following are additional optional parameters - -| Option | Header | Description | Default Value | -|-----------|-----------|-----------------|-------------------| | username | CamelDockerUserName | User name to authenticate with | | | password | CamelDockerPassword | Password to authenticate with | | | secure | CamelDockerSecure | Use HTTPS communication | false | -|certPath | CamelDockerCertPath | Location containing the SSL certificate chain | | +|certPath | CamelDockerCertPath | Location containing the SSL certificate chain | | | email | CamelDockerEmail | Email address associated with the user | | | requestTimeout | CamelDockerRequestTimeout | Request timeout for response (in seconds) | 30 | -|serverAddress | CamelDockerServerAddress | Address of the Docker registry server (If not specified, *host* will be used) | | +|serverAddress | CamelDockerServerAddress | Address of the Docker registry server (If not specified, *host* will be used) | https://index.docker.io/v1/ | |maxTotalConnections | CamelDockerMaxTotalConnections | Maximum number of total connections | 100 | |maxPerRouteConnections | CamelDockerMaxPerRouteConnections | Maximum number of connections per route | 100 | -### Client Profile Bean - -Instead of leveraging uri or header parameters, a DockerClientProfile bean may be referenced using the *clientProfile* uri option which has been defined in the Camel Registry. This gives the user the option of defining a static configuration for docker connectivity without requiring the use of defining each parameter on the endpoint. - -The following illustrates how a DockerClientProfile can be defined in Spring DSL - - <bean id="devClientProfile" class="org.apache.camel.component.docker.DockerClientProfile"> - <property name="host" value="192.168.59.103" /> - <property name="port" value="2376" /> - <property name="secure" value="true" /> - <property name="certPath" value="/Users/cameluser/.boot2docker/certs/boot2docker-vm" - </bean> - - -Reference the bean in your Camel route - -``` -<from uri="direct:in" /> -<to uri="docker://info?clientProfile=#devClientProfile" /> -``` ## Consumer Operations http://git-wip-us.apache.org/repos/asf/camel/blob/29f9fe56/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java index dfd7531..b95fb5e 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientFactory.java @@ -34,58 +34,48 @@ import org.apache.camel.util.ObjectHelper; public final class DockerClientFactory { private DockerClientFactory() { - //Helper class + // Helper class } /** * Produces a {@link DockerClient} to communicate with Docker */ - public static DockerClient getDockerClient(DockerConfiguration dockerConfiguration, Message message) throws DockerException { + public static DockerClient getDockerClient(DockerComponent dockerComponent, DockerConfiguration dockerConfiguration, Message message) throws DockerException { ObjectHelper.notNull(dockerConfiguration, "dockerConfiguration"); - DockerClientProfile endpointClientProfile = dockerConfiguration.getClientProfile(); - - DockerClientProfile clientProfile; - DockerClient client; - - // Check if profile is specified in configuration - if (endpointClientProfile != null) { - clientProfile = endpointClientProfile; - } else { - - clientProfile = new DockerClientProfile(); - - Integer port = DockerHelper.getProperty(DockerConstants.DOCKER_PORT, dockerConfiguration, message, Integer.class, clientProfile.getPort()); - String host = DockerHelper.getProperty(DockerConstants.DOCKER_HOST, dockerConfiguration, message, String.class, clientProfile.getHost()); - - Integer maxTotalConnections = DockerHelper.getProperty(DockerConstants.DOCKER_MAX_TOTAL_CONNECTIONS, dockerConfiguration, - message, Integer.class, clientProfile.getMaxTotalConnections()); - Integer maxPerRouteConnections = DockerHelper.getProperty(DockerConstants.DOCKER_MAX_PER_ROUTE_CONNECTIONS, dockerConfiguration, - message, Integer.class, clientProfile.getMaxPerRouteConnections()); - - String username = DockerHelper.getProperty(DockerConstants.DOCKER_USERNAME, dockerConfiguration, message, String.class, clientProfile.getUsername()); - String password = DockerHelper.getProperty(DockerConstants.DOCKER_PASSWORD, dockerConfiguration, message, String.class, clientProfile.getPassword()); - String email = DockerHelper.getProperty(DockerConstants.DOCKER_EMAIL, dockerConfiguration, message, String.class, clientProfile.getEmail()); - Integer requestTimeout = DockerHelper.getProperty(DockerConstants.DOCKER_API_REQUEST_TIMEOUT, dockerConfiguration, message, Integer.class, clientProfile.getRequestTimeout()); - String serverAddress = DockerHelper.getProperty(DockerConstants.DOCKER_SERVER_ADDRESS, dockerConfiguration, message, String.class, clientProfile.getServerAddress()); - String certPath = DockerHelper.getProperty(DockerConstants.DOCKER_CERT_PATH, dockerConfiguration, message, String.class, clientProfile.getCertPath()); - Boolean secure = DockerHelper.getProperty(DockerConstants.DOCKER_SECURE, dockerConfiguration, message, Boolean.class, clientProfile.isSecure()); - - clientProfile.setHost(host); - clientProfile.setPort(port); - clientProfile.setEmail(email); - clientProfile.setUsername(username); - clientProfile.setPassword(password); - clientProfile.setRequestTimeout(requestTimeout); - clientProfile.setServerAddress(serverAddress); - clientProfile.setCertPath(certPath); - clientProfile.setMaxTotalConnections(maxTotalConnections); - clientProfile.setMaxPerRouteConnections(maxPerRouteConnections); - clientProfile.setSecure(secure); - } - - client = dockerConfiguration.getClient(clientProfile); + DockerClientProfile clientProfile = new DockerClientProfile(); + + Integer port = DockerHelper.getProperty(DockerConstants.DOCKER_PORT, dockerConfiguration, message, Integer.class, dockerConfiguration.getPort()); + String host = DockerHelper.getProperty(DockerConstants.DOCKER_HOST, dockerConfiguration, message, String.class, dockerConfiguration.getHost()); + + Integer maxTotalConnections = DockerHelper.getProperty(DockerConstants.DOCKER_MAX_TOTAL_CONNECTIONS, dockerConfiguration, message, Integer.class, + dockerConfiguration.getMaxTotalConnections()); + Integer maxPerRouteConnections = DockerHelper.getProperty(DockerConstants.DOCKER_MAX_PER_ROUTE_CONNECTIONS, dockerConfiguration, message, Integer.class, + dockerConfiguration.getMaxPerRouteConnections()); + + String username = DockerHelper.getProperty(DockerConstants.DOCKER_USERNAME, dockerConfiguration, message, String.class, dockerConfiguration.getUsername()); + String password = DockerHelper.getProperty(DockerConstants.DOCKER_PASSWORD, dockerConfiguration, message, String.class, dockerConfiguration.getPassword()); + String email = DockerHelper.getProperty(DockerConstants.DOCKER_EMAIL, dockerConfiguration, message, String.class, dockerConfiguration.getEmail()); + Integer requestTimeout = DockerHelper.getProperty(DockerConstants.DOCKER_API_REQUEST_TIMEOUT, dockerConfiguration, message, Integer.class, + dockerConfiguration.getRequestTimeout()); + String serverAddress = DockerHelper.getProperty(DockerConstants.DOCKER_SERVER_ADDRESS, dockerConfiguration, message, String.class, dockerConfiguration.getServerAddress()); + String certPath = DockerHelper.getProperty(DockerConstants.DOCKER_CERT_PATH, dockerConfiguration, message, String.class, dockerConfiguration.getCertPath()); + Boolean secure = DockerHelper.getProperty(DockerConstants.DOCKER_SECURE, dockerConfiguration, message, Boolean.class, dockerConfiguration.isSecure()); + + clientProfile.setHost(host); + clientProfile.setPort(port); + clientProfile.setEmail(email); + clientProfile.setUsername(username); + clientProfile.setPassword(password); + clientProfile.setRequestTimeout(requestTimeout); + clientProfile.setServerAddress(serverAddress); + clientProfile.setCertPath(certPath); + clientProfile.setMaxTotalConnections(maxTotalConnections); + clientProfile.setMaxPerRouteConnections(maxPerRouteConnections); + clientProfile.setSecure(secure); + + DockerClient client = dockerComponent.getClient(clientProfile); if (client != null) { return client; @@ -101,10 +91,10 @@ public final class DockerClientFactory { sslConfig = new NoImplSslConfig(); } - DockerClientConfig.DockerClientConfigBuilder configBuilder = new DockerClientConfig.DockerClientConfigBuilder() - .withUsername(clientProfile.getUsername()).withPassword(clientProfile.getPassword()).withEmail(clientProfile.getEmail()).withReadTimeout(clientProfile.getRequestTimeout()) - .withUri(clientProfile.toUrl()).withMaxPerRouteConnections(clientProfile.getMaxPerRouteConnections()).withMaxTotalConnections(clientProfile.getMaxTotalConnections()) - .withSSLConfig(sslConfig).withServerAddress(clientProfile.getServerAddress()); + DockerClientConfig.DockerClientConfigBuilder configBuilder = new DockerClientConfig.DockerClientConfigBuilder().withUsername(clientProfile.getUsername()) + .withPassword(clientProfile.getPassword()).withEmail(clientProfile.getEmail()).withReadTimeout(clientProfile.getRequestTimeout()).withUri(clientProfile.toUrl()) + .withMaxPerRouteConnections(clientProfile.getMaxPerRouteConnections()).withMaxTotalConnections(clientProfile.getMaxTotalConnections()).withSSLConfig(sslConfig) + .withServerAddress(clientProfile.getServerAddress()); if (clientProfile.getCertPath() != null) { configBuilder.withDockerCertPath(clientProfile.getCertPath()); @@ -113,7 +103,7 @@ public final class DockerClientFactory { DockerClientConfig config = configBuilder.build(); DockerCmdExecFactory dockerClientFactory = new DockerCmdExecFactoryImpl(); client = DockerClientBuilder.getInstance(config).withDockerCmdExecFactory(dockerClientFactory).build(); - dockerConfiguration.setClient(clientProfile, client); + dockerComponent.setClient(clientProfile, client); return client; } http://git-wip-us.apache.org/repos/asf/camel/blob/29f9fe56/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java index f1a147c..6aff114 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerClientProfile.java @@ -20,38 +20,34 @@ import java.net.MalformedURLException; import java.net.URL; import org.apache.camel.component.docker.exception.DockerException; -import org.apache.camel.spi.UriParam; -import org.apache.camel.spi.UriParams; import org.apache.camel.util.ObjectHelper; /** * The elements representing a client initiating a connection to Docker */ -@UriParams public class DockerClientProfile { - @UriParam(defaultValue = "localhost") - private String host = "localhost"; - @UriParam(defaultValue = "2375") - private Integer port = 2375; - @UriParam + private String host; + + private Integer port; + private String username; - @UriParam + private String password; - @UriParam + private String email; - @UriParam + private String serverAddress; - @UriParam + private Integer requestTimeout; - @UriParam + private Boolean secure; - @UriParam + private String certPath; - @UriParam(defaultValue = "100") - private Integer maxTotalConnections = 100; - @UriParam(defaultValue = "100") - private Integer maxPerRouteConnections = 100; + + private Integer maxTotalConnections; + + private Integer maxPerRouteConnections; public String getHost() { return host; http://git-wip-us.apache.org/repos/asf/camel/blob/29f9fe56/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java index b89b5d8..650ed1d 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java @@ -16,6 +16,9 @@ */ package org.apache.camel.component.docker; +import com.github.dockerjava.api.DockerClient; + +import java.util.HashMap; import java.util.Map; import org.apache.camel.Endpoint; @@ -28,6 +31,7 @@ import org.apache.camel.impl.DefaultComponent; public class DockerComponent extends DefaultComponent { private DockerConfiguration configuration; + private Map<DockerClientProfile,DockerClient> clients = new HashMap<DockerClientProfile,DockerClient>(); public DockerComponent() { @@ -72,4 +76,13 @@ public class DockerComponent extends DefaultComponent { return configuration; } + public DockerClient getClient(DockerClientProfile clientProfile) throws DockerException { + return clients.get(clientProfile); + } + + public void setClient(DockerClientProfile clientProfile, DockerClient client) { + clients.put(clientProfile, client); + } + + } http://git-wip-us.apache.org/repos/asf/camel/blob/29f9fe56/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java index bd60604..f8d507a 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java @@ -19,9 +19,7 @@ package org.apache.camel.component.docker; import java.util.HashMap; import java.util.Map; -import com.github.dockerjava.api.DockerClient; import org.apache.camel.RuntimeCamelException; -import org.apache.camel.component.docker.exception.DockerException; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriParams; import org.apache.camel.spi.UriPath; @@ -32,42 +30,144 @@ public class DockerConfiguration implements Cloneable { @UriPath private DockerOperation operation; + @UriParam(defaultValue = "localhost") + private String host = "localhost"; + + @UriParam(defaultValue = "2375") + private Integer port = 2375; + + @UriParam + private String username; + + @UriParam + private String password; + + @UriParam + private String email; + + @UriParam(defaultValue = "https://index.docker.io/v1/") + private String serverAddress = "https://index.docker.io/v1/"; + @UriParam - private DockerClientProfile clientProfile; + private Integer requestTimeout; + + @UriParam + private Boolean secure; + + @UriParam + private String certPath; + + @UriParam(defaultValue = "100") + private Integer maxTotalConnections = 100; + + @UriParam(defaultValue = "100") + private Integer maxPerRouteConnections = 100; private Map<String, Object> parameters = new HashMap<String, Object>(); - private Map<DockerClientProfile, DockerClient> clients = new HashMap<DockerClientProfile, DockerClient>(); - public Map<String, Object> getParameters() { - return parameters; + public String getHost() { + return host; } - public void setParameters(Map<String, Object> parameters) { - this.parameters = parameters; + public void setHost(String host) { + this.host = host; } - public DockerOperation getOperation() { - return operation; + public Integer getPort() { + return port; } - public void setOperation(DockerOperation operation) { - this.operation = operation; + public void setPort(Integer port) { + this.port = port; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getServerAddress() { + return serverAddress; + } + + public void setServerAddress(String serverAddress) { + this.serverAddress = serverAddress; + } + + public Integer getRequestTimeout() { + return requestTimeout; + } + + public void setRequestTimeout(Integer requestTimeout) { + this.requestTimeout = requestTimeout; + } + + public Boolean isSecure() { + return secure; + } + + public void setSecure(Boolean secure) { + this.secure = secure; + } + + public String getCertPath() { + return certPath; + } + + public void setCertPath(String certPath) { + this.certPath = certPath; } - public DockerClient getClient(DockerClientProfile clientProfile) throws DockerException { - return clients.get(clientProfile); + public Integer getMaxTotalConnections() { + return maxTotalConnections; } - public void setClient(DockerClientProfile clientProfile, DockerClient client) { - clients.put(clientProfile, client); + public void setMaxTotalConnections(Integer maxTotalConnections) { + this.maxTotalConnections = maxTotalConnections; } - public void setClientProfile(DockerClientProfile clientProfile) { - this.clientProfile = clientProfile; + public Integer getMaxPerRouteConnections() { + return maxPerRouteConnections; } - public DockerClientProfile getClientProfile() { - return clientProfile; + public void setMaxPerRouteConnections(Integer maxPerRouteConnections) { + this.maxPerRouteConnections = maxPerRouteConnections; + } + + + public Map<String, Object> getParameters() { + return parameters; + } + + public void setParameters(Map<String, Object> parameters) { + this.parameters = parameters; + } + + public DockerOperation getOperation() { + return operation; + } + + public void setOperation(DockerOperation operation) { + this.operation = operation; } public DockerConfiguration copy() { http://git-wip-us.apache.org/repos/asf/camel/blob/29f9fe56/components/camel-docker/src/main/java/org/apache/camel/component/docker/consumer/DockerEventsConsumer.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/consumer/DockerEventsConsumer.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/consumer/DockerEventsConsumer.java index e9c4985..7895c44 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/consumer/DockerEventsConsumer.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/consumer/DockerEventsConsumer.java @@ -27,6 +27,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Message; import org.apache.camel.Processor; import org.apache.camel.component.docker.DockerClientFactory; +import org.apache.camel.component.docker.DockerComponent; import org.apache.camel.component.docker.DockerConstants; import org.apache.camel.component.docker.DockerEndpoint; import org.apache.camel.component.docker.DockerHelper; @@ -43,6 +44,8 @@ public class DockerEventsConsumer extends DefaultConsumer implements EventCallba private DockerEndpoint endpoint; + private DockerComponent component; + private EventsCmd eventsCmd; private ExecutorService eventsExecutorService; @@ -50,6 +53,7 @@ public class DockerEventsConsumer extends DefaultConsumer implements EventCallba public DockerEventsConsumer(DockerEndpoint endpoint, Processor processor) throws Exception { super(endpoint, processor); this.endpoint = endpoint; + this.component = (DockerComponent) endpoint.getComponent(); } @@ -80,7 +84,7 @@ public class DockerEventsConsumer extends DefaultConsumer implements EventCallba @Override protected void doStart() throws Exception { - eventsCmd = DockerClientFactory.getDockerClient(endpoint.getConfiguration(), null).eventsCmd(this); + eventsCmd = DockerClientFactory.getDockerClient(component, endpoint.getConfiguration(), null).eventsCmd(this); eventsCmd.withSince(String.valueOf(processInitialEvent())); eventsExecutorService = eventsCmd.exec(); http://git-wip-us.apache.org/repos/asf/camel/blob/29f9fe56/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java index 8bc3b3d..9512145 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java @@ -70,6 +70,7 @@ import com.github.dockerjava.api.model.Volumes; import org.apache.camel.Exchange; import org.apache.camel.Message; import org.apache.camel.component.docker.DockerClientFactory; +import org.apache.camel.component.docker.DockerComponent; import org.apache.camel.component.docker.DockerConfiguration; import org.apache.camel.component.docker.DockerConstants; import org.apache.camel.component.docker.DockerEndpoint; @@ -87,10 +88,12 @@ import org.slf4j.LoggerFactory; public class DockerProducer extends DefaultProducer { private static final Logger LOGGER = LoggerFactory.getLogger(DockerProducer.class); private DockerConfiguration configuration; + private DockerComponent component; public DockerProducer(DockerEndpoint endpoint) { super(endpoint); this.configuration = endpoint.getConfiguration(); + this.component = (DockerComponent) endpoint.getComponent(); } public void process(Exchange exchange) throws Exception { @@ -98,7 +101,7 @@ public class DockerProducer extends DefaultProducer { DockerCmd<?> dockerCmd = null; Message message = exchange.getIn(); - DockerClient client = DockerClientFactory.getDockerClient(configuration, message); + DockerClient client = DockerClientFactory.getDockerClient(component, configuration, message); DockerOperation operation = configuration.getOperation(); http://git-wip-us.apache.org/repos/asf/camel/blob/29f9fe56/components/camel-docker/src/test/java/org/apache/camel/component/docker/DockerClientProfileRegistryTest.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/test/java/org/apache/camel/component/docker/DockerClientProfileRegistryTest.java b/components/camel-docker/src/test/java/org/apache/camel/component/docker/DockerClientProfileRegistryTest.java deleted file mode 100644 index 158de7c..0000000 --- a/components/camel-docker/src/test/java/org/apache/camel/component/docker/DockerClientProfileRegistryTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.camel.component.docker; - -import org.apache.camel.CamelContext; -import org.apache.camel.impl.JndiRegistry; -import org.apache.camel.impl.PropertyPlaceholderDelegateRegistry; -import org.apache.camel.test.junit4.CamelTestSupport; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.modules.junit4.PowerMockRunner; - -/** - * Validates a {@link DockerClientProfile} is bound from the Camel registry - */ -@RunWith(PowerMockRunner.class) -public class DockerClientProfileRegistryTest extends CamelTestSupport { - - - @Override - protected CamelContext createCamelContext() throws Exception { - CamelContext camelContext = super.createCamelContext(); - - DockerClientProfile profile = new DockerClientProfile(); - profile.setHost("192.168.59.103"); - profile.setPort(2376); - profile.setSecure(true); - profile.setCertPath("/Users/cameluser/.boot2docker/certs/boot2docker-vm"); - - PropertyPlaceholderDelegateRegistry registry = (PropertyPlaceholderDelegateRegistry) camelContext.getRegistry(); - JndiRegistry jndiRegistry = (JndiRegistry) registry.getRegistry(); - jndiRegistry.bind("dockerProfile", profile); - - - return camelContext; - } - - @Test - public void clientProfileTest() { - DockerEndpoint endpoint = resolveMandatoryEndpoint(context(), "docker://info?clientProfile=#dockerProfile", DockerEndpoint.class); - assertNotNull(endpoint.getConfiguration().getClientProfile()); - DockerClientProfile clientProfile = endpoint.getConfiguration().getClientProfile(); - assertEquals("192.168.59.103", clientProfile.getHost()); - assertEquals((Integer) 2376, clientProfile.getPort()); - assertTrue(clientProfile.isSecure()); - assertEquals("/Users/cameluser/.boot2docker/certs/boot2docker-vm", clientProfile.getCertPath()); - - } - - -} http://git-wip-us.apache.org/repos/asf/camel/blob/29f9fe56/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java b/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java index c490317..56f0bd4 100644 --- a/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java +++ b/components/camel-docker/src/test/java/org/apache/camel/component/docker/headers/BaseDockerHeaderTest.java @@ -68,10 +68,8 @@ public abstract class BaseDockerHeaderTest<T> extends CamelTestSupport { dockerConfiguration = new DockerConfiguration(); dockerConfiguration.setParameters(getDefaultParameters()); - - dockerConfiguration.setClient(getClientProfile(), dockerClient); - DockerComponent dockerComponent = new DockerComponent(dockerConfiguration); + dockerComponent.setClient(getClientProfile(), dockerClient); camelContext.addComponent("docker", dockerComponent); @@ -99,6 +97,10 @@ public abstract class BaseDockerHeaderTest<T> extends CamelTestSupport { return 100; } + protected String getServerAddress() { + return "https://index.docker.io/v1/"; + } + public T getMockObject() { return mockObject; } @@ -108,6 +110,7 @@ public abstract class BaseDockerHeaderTest<T> extends CamelTestSupport { parameters.put(DockerConstants.DOCKER_HOST, getHost()); parameters.put(DockerConstants.DOCKER_PORT, getPort()); parameters.put(DockerConstants.DOCKER_EMAIL, getEmail()); + parameters.put(DockerConstants.DOCKER_SERVER_ADDRESS, getServerAddress()); parameters.put(DockerConstants.DOCKER_MAX_PER_ROUTE_CONNECTIONS, getMaxPerRouteConnections()); parameters.put(DockerConstants.DOCKER_MAX_TOTAL_CONNECTIONS, getMaxTotalConnections()); @@ -119,6 +122,7 @@ public abstract class BaseDockerHeaderTest<T> extends CamelTestSupport { clientProfile.setHost(getHost()); clientProfile.setPort(getPort()); clientProfile.setEmail(getEmail()); + clientProfile.setServerAddress(getServerAddress()); clientProfile.setMaxPerRouteConnections(getMaxPerRouteConnections()); clientProfile.setMaxTotalConnections(getMaxTotalConnections());