You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2017/05/30 09:04:58 UTC

[09/12] camel git commit: CAMEL-11356: Camel-Kubernetes: refactoring tests by using Kubernetes-server-mock and Openshift-server-mock - RC and RQ tests

CAMEL-11356: Camel-Kubernetes: refactoring tests by using Kubernetes-server-mock and Openshift-server-mock - RC and RQ tests


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/863f8a53
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/863f8a53
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/863f8a53

Branch: refs/heads/master
Commit: 863f8a53395fe77252c5b3b49506e7110f88117a
Parents: d5f98dc
Author: Andrea Cosentino <an...@gmail.com>
Authored: Tue May 30 09:24:19 2017 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Tue May 30 11:01:11 2017 +0200

----------------------------------------------------------------------
 ...ubernetesReplicationControllersProducer.java |  10 +-
 .../KubernetesResourcesQuotaProducer.java       |   2 +-
 ...netesReplicationControllersProducerTest.java |   2 +
 ...tedKubernetesResourcesQuotaProducerTest.java |   2 +
 ...netesReplicationControllersProducerTest.java | 297 +++++--------------
 .../KubernetesResourcesQuotaProducerTest.java   |  98 ++----
 6 files changed, 106 insertions(+), 305 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/863f8a53/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
index d4f44d6..2d39d6b 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
@@ -23,6 +23,9 @@ import io.fabric8.kubernetes.api.model.ReplicationController;
 import io.fabric8.kubernetes.api.model.ReplicationControllerBuilder;
 import io.fabric8.kubernetes.api.model.ReplicationControllerList;
 import io.fabric8.kubernetes.api.model.ReplicationControllerSpec;
+import io.fabric8.kubernetes.client.Watch;
+import io.fabric8.kubernetes.client.Watcher;
+import io.fabric8.kubernetes.client.dsl.FilterWatchListMultiDeletable;
 import io.fabric8.kubernetes.client.dsl.MixedOperation;
 import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
 import io.fabric8.kubernetes.client.dsl.RollableScalableResource;
@@ -105,7 +108,7 @@ public class KubernetesReplicationControllersProducer extends DefaultProducer {
                     .replicationControllers().inNamespace(namespaceName).list();
         } else {
             rcList = getEndpoint().getKubernetesClient()
-                    .replicationControllers().list();
+                    .replicationControllers().inAnyNamespace().list();
         }
         
         MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true);
@@ -131,9 +134,8 @@ public class KubernetesReplicationControllersProducer extends DefaultProducer {
             }
             rcList = replicationControllers.list();
         } else {
-            MixedOperation<ReplicationController, ReplicationControllerList, DoneableReplicationController, 
-            RollableScalableResource<ReplicationController, DoneableReplicationController>> replicationControllers = getEndpoint().getKubernetesClient()
-                    .replicationControllers();
+            FilterWatchListMultiDeletable<ReplicationController, ReplicationControllerList, Boolean, Watch, Watcher<ReplicationController>> replicationControllers = getEndpoint().getKubernetesClient()
+                    .replicationControllers().inAnyNamespace();
             for (Map.Entry<String, String> entry : labels.entrySet()) {
                 replicationControllers.withLabel(entry.getKey(),
                         entry.getValue());

http://git-wip-us.apache.org/repos/asf/camel/blob/863f8a53/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
index 54b91c0..32a521b 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
@@ -95,7 +95,7 @@ public class KubernetesResourcesQuotaProducer extends DefaultProducer {
 
     protected void doList(Exchange exchange, String operation) throws Exception {
         ResourceQuotaList resList = getEndpoint().getKubernetesClient()
-                .resourceQuotas().list();
+                .resourceQuotas().inAnyNamespace().list();
         exchange.getOut().setBody(resList.getItems());
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/863f8a53/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersProducerTest.java
index 9738387..0e6fd3b 100644
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersProducerTest.java
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesReplicationControllersProducerTest.java
@@ -18,7 +18,9 @@ package org.apache.camel.component.kubernetes.deprecated;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.kubernetes.producer.KubernetesReplicationControllersProducerTest;
+import org.junit.Ignore;
 
+@Ignore
 @Deprecated
 public class DeprecatedKubernetesReplicationControllersProducerTest extends
         KubernetesReplicationControllersProducerTest {

http://git-wip-us.apache.org/repos/asf/camel/blob/863f8a53/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesResourcesQuotaProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesResourcesQuotaProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesResourcesQuotaProducerTest.java
index c7fe9e8..1eb08b0 100644
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesResourcesQuotaProducerTest.java
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/deprecated/DeprecatedKubernetesResourcesQuotaProducerTest.java
@@ -18,7 +18,9 @@ package org.apache.camel.component.kubernetes.deprecated;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.kubernetes.producer.KubernetesResourcesQuotaProducerTest;
+import org.junit.Ignore;
 
+@Ignore
 @Deprecated
 public class DeprecatedKubernetesResourcesQuotaProducerTest extends KubernetesResourcesQuotaProducerTest {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/863f8a53/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesReplicationControllersProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesReplicationControllersProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesReplicationControllersProducerTest.java
index 7617c15..bc3048a 100644
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesReplicationControllersProducerTest.java
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesReplicationControllersProducerTest.java
@@ -17,269 +17,126 @@
 package org.apache.camel.component.kubernetes.producer;
 
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import io.fabric8.kubernetes.api.model.PodTemplateSpec;
-import io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder;
 import io.fabric8.kubernetes.api.model.ReplicationController;
-import io.fabric8.kubernetes.api.model.ReplicationControllerSpec;
+import io.fabric8.kubernetes.api.model.ReplicationControllerBuilder;
+import io.fabric8.kubernetes.api.model.ReplicationControllerListBuilder;
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.component.kubernetes.KubernetesTestSupport;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.impl.JndiRegistry;
+import org.junit.Rule;
 import org.junit.Test;
 
-public class KubernetesReplicationControllersProducerTest extends
-        KubernetesTestSupport {
+public class KubernetesReplicationControllersProducerTest extends KubernetesTestSupport {
 
-    @Test
-    public void listTest() throws Exception {
-        if (ObjectHelper.isEmpty(authToken)) {
-            return;
-        }
-        List<ReplicationController> result = template.requestBody(
-                "direct:list", "", List.class);
+    @Rule
+    public KubernetesServer server = new KubernetesServer();
 
-        boolean fabric8Exists = false;
+    @Override
+    protected JndiRegistry createRegistry() throws Exception {
+        JndiRegistry registry = super.createRegistry();
+        registry.bind("kubernetesClient", server.getClient());
+        return registry;
+    }
 
-        Iterator<ReplicationController> it = result.iterator();
-        while (it.hasNext()) {
-            ReplicationController rc = it.next();
-            if ("fabric8".equalsIgnoreCase(rc.getMetadata().getName())) {
-                fabric8Exists = true;
-            }
-        }
+    @Test
+    public void listTest() throws Exception {
+        server.expect().withPath("/api/v1/replicationcontrollers")
+            .andReturn(200, new ReplicationControllerListBuilder().addNewItem().and().addNewItem().and().addNewItem().and().build()).once();
+        List<ReplicationController> result = template.requestBody("direct:list", "", List.class);
 
-        assertTrue(fabric8Exists);
+        assertEquals(3, result.size());
     }
 
     @Test
     public void listByLabelsTest() throws Exception {
-        if (ObjectHelper.isEmpty(authToken)) {
-            return;
-        }
+        server.expect().withPath("/api/v1/replicationcontrollers?labelSelector=" + toUrlEncoded("key1=value1,key2=value2"))
+            .andReturn(200, new ReplicationControllerListBuilder().addNewItem().and().addNewItem().and().addNewItem().and().build()).once();
         Exchange ex = template.request("direct:listByLabels", new Processor() {
 
             @Override
             public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(
-                        KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                        "default");
                 Map<String, String> labels = new HashMap<String, String>();
-                labels.put("component", "elasticsearch");
-                exchange.getIn()
-                        .setHeader(
-                                KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS,
-                                labels);
+                labels.put("key1", "value1");
+                labels.put("key2", "value2");
+                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS, labels);
             }
         });
 
         List<ReplicationController> result = ex.getOut().getBody(List.class);
 
-        boolean rcExists = false;
-        Iterator<ReplicationController> it = result.iterator();
-        while (it.hasNext()) {
-            ReplicationController rc = it.next();
-            if ("elasticsearch".equalsIgnoreCase(rc.getMetadata().getName())) {
-                rcExists = true;
-            }
-        }
-
-        assertFalse(rcExists);
+        assertEquals(3, result.size());
     }
 
     @Test
     public void getReplicationControllerTest() throws Exception {
-        if (ObjectHelper.isEmpty(authToken)) {
-            return;
-        }
-        Exchange ex = template.request("direct:getReplicationController",
-                new Processor() {
+        ReplicationController rc1 = new ReplicationControllerBuilder().withNewMetadata().withName("rc1").withNamespace("test").and().build();
+
+        server.expect().withPath("/api/v1/namespaces/test/replicationcontrollers/rc1").andReturn(200, rc1).once();
+        Exchange ex = template.request("direct:getReplicationController", new Processor() {
 
-                    @Override
-                    public void process(Exchange exchange) throws Exception {
-                        exchange.getIn().setHeader(
-                                KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                                "default");
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME,
-                                        "elasticsearch");
-                    }
-                });
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "test");
+                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, "rc1");
+            }
+        });
 
-        ReplicationController result = ex.getOut().getBody(
-                ReplicationController.class);
+        ReplicationController result = ex.getOut().getBody(ReplicationController.class);
 
-        assertNull(result);
+        assertNotNull(result);
     }
 
     @Test
     public void createAndDeleteReplicationController() throws Exception {
-        if (ObjectHelper.isEmpty(authToken)) {
-            return;
-        }
-        Exchange ex = template.request("direct:createReplicationController",
-                new Processor() {
-
-                    @Override
-                    public void process(Exchange exchange) throws Exception {
-                        exchange.getIn().setHeader(
-                                KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                                "default");
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME,
-                                        "test");
-                        Map<String, String> labels = new HashMap<String, String>();
-                        labels.put("this", "rocks");
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS,
-                                        labels);
-                        ReplicationControllerSpec rcSpec = new ReplicationControllerSpec();
-                        rcSpec.setReplicas(2);
-                        PodTemplateSpecBuilder builder = new PodTemplateSpecBuilder();
-                        PodTemplateSpec t = builder.withNewMetadata()
-                                .withName("nginx-template")
-                                .addToLabels("server", "nginx").endMetadata()
-                                .withNewSpec().addNewContainer()
-                                .withName("wildfly").withImage("jboss/wildfly")
-                                .addNewPort().withContainerPort(80).endPort()
-                                .endContainer().endSpec().build();
-                        rcSpec.setTemplate(t);
-                        Map<String, String> selectorMap = new HashMap<String, String>();
-                        selectorMap.put("server", "nginx");
-                        rcSpec.setSelector(selectorMap);
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_SPEC,
-                                        rcSpec);
-                    }
-                });
-
-        ReplicationController rc = ex.getOut().getBody(
-                ReplicationController.class);
+        server.expect().withPath("/api/v1/namespaces/test/replicationcontrollers/repl1").andReturn(200, new ReplicationControllerBuilder().withNewMetadata().withName("repl1")
+            .withResourceVersion("1").endMetadata().withNewSpec().withReplicas(0).endSpec().withNewStatus().withReplicas(1).endStatus().build()).once();
 
-        assertEquals(rc.getMetadata().getName(), "test");
+        server.expect().withPath("/api/v1/namespaces/test/replicationcontrollers/repl1").andReturn(200, new ReplicationControllerBuilder().withNewMetadata().withName("repl1")
+            .withResourceVersion("1").endMetadata().withNewSpec().withReplicas(0).endSpec().withNewStatus().withReplicas(0).endStatus().build()).times(5);
 
-        ex = template.request("direct:deleteReplicationController",
-                new Processor() {
+        Exchange ex = template.request("direct:deleteReplicationController", new Processor() {
 
-                    @Override
-                    public void process(Exchange exchange) throws Exception {
-                        exchange.getIn().setHeader(
-                                KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                                "default");
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME,
-                                        "test");
-                    }
-                });
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "test");
+                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, "repl1");
+            }
+        });
 
         boolean rcDeleted = ex.getOut().getBody(Boolean.class);
 
         assertTrue(rcDeleted);
     }
-    
+
     @Test
     public void createScaleAndDeleteReplicationController() throws Exception {
-        if (ObjectHelper.isEmpty(authToken)) {
-            return;
-        }
-        Exchange ex = template.request("direct:createReplicationController",
-                new Processor() {
-
-                    @Override
-                    public void process(Exchange exchange) throws Exception {
-                        exchange.getIn().setHeader(
-                                KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                                "default");
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME,
-                                        "test");
-                        Map<String, String> labels = new HashMap<String, String>();
-                        labels.put("this", "rocks");
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLERS_LABELS,
-                                        labels);
-                        ReplicationControllerSpec rcSpec = new ReplicationControllerSpec();
-                        rcSpec.setReplicas(1);
-                        PodTemplateSpecBuilder builder = new PodTemplateSpecBuilder();
-                        PodTemplateSpec t = builder.withNewMetadata()
-                                .withName("nginx-template")
-                                .addToLabels("server", "nginx").endMetadata()
-                                .withNewSpec().addNewContainer()
-                                .withName("wildfly").withImage("jboss/wildfly")
-                                .addNewPort().withContainerPort(80).endPort()
-                                .endContainer().endSpec().build();
-                        rcSpec.setTemplate(t);
-                        Map<String, String> selectorMap = new HashMap<String, String>();
-                        selectorMap.put("server", "nginx");
-                        rcSpec.setSelector(selectorMap);
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_SPEC,
-                                        rcSpec);
-                    }
-                });
-
-        ReplicationController rc = ex.getOut().getBody(
-                ReplicationController.class);
-
-        assertEquals(rc.getMetadata().getName(), "test");
-        
-        ex = template.request("direct:scaleReplicationController",
-                new Processor() {
+        server.expect().withPath("/api/v1/namespaces/test/replicationcontrollers/repl1").andReturn(200, new ReplicationControllerBuilder().withNewMetadata().withName("repl1")
+            .withResourceVersion("1").endMetadata().withNewSpec().withReplicas(5).endSpec().withNewStatus().withReplicas(1).endStatus().build()).once();
 
-                    @Override
-                    public void process(Exchange exchange) throws Exception {
-                        exchange.getIn().setHeader(
-                                KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                                "default");
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME,
-                                        "test");
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_REPLICAS,
-                                        2);
-                    }
-                });
-        
-        Thread.sleep(10000);
+        server.expect().withPath("/api/v1/namespaces/test/replicationcontrollers/repl1").andReturn(200, new ReplicationControllerBuilder().withNewMetadata().withName("repl1")
+            .withResourceVersion("1").endMetadata().withNewSpec().withReplicas(5).endSpec().withNewStatus().withReplicas(5).endStatus().build()).always();
+        Exchange ex = template.request("direct:scaleReplicationController", new Processor() {
 
-        Integer replicas = ex.getOut().getBody(Integer.class);
-        
-        assertTrue(replicas == 2);
-
-        ex = template.request("direct:deleteReplicationController",
-                new Processor() {
-
-                    @Override
-                    public void process(Exchange exchange) throws Exception {
-                        exchange.getIn().setHeader(
-                                KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                                "default");
-                        exchange.getIn()
-                                .setHeader(
-                                        KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME,
-                                        "test");
-                    }
-                });
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "test");
+                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_NAME, "repl1");
+                exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_REPLICATION_CONTROLLER_REPLICAS, 1);
+            }
+        });
 
-        boolean rcDeleted = ex.getOut().getBody(Boolean.class);
+        Thread.sleep(3000);
+        int replicas = ex.getOut().getBody(Integer.class);
 
-        assertTrue(rcDeleted);
+        assertEquals(5, replicas);
     }
 
     @Override
@@ -287,24 +144,12 @@ public class KubernetesReplicationControllersProducerTest extends
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("direct:list")
-                        .toF("kubernetes-replication-controllers://%s?oauthToken=%s&operation=listReplicationControllers",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes-replication-controllers://%s?oauthToken=%s&operation=listReplicationControllersByLabels",
-                                host, authToken);
-                from("direct:getReplicationController")
-                        .toF("kubernetes-replication-controllers://%s?oauthToken=%s&operation=getReplicationController",
-                                host, authToken);
-                from("direct:createReplicationController")
-                        .toF("kubernetes-replication-controllers://%s?oauthToken=%s&operation=createReplicationController",
-                                host, authToken);
-                from("direct:scaleReplicationController")
-                        .toF("kubernetes-replication-controllers://%s?oauthToken=%s&operation=scaleReplicationController",
-                                host, authToken);
-                from("direct:deleteReplicationController")
-                        .toF("kubernetes-replication-controllers://%s?oauthToken=%s&operation=deleteReplicationController",
-                                host, authToken);
+                from("direct:list").to("kubernetes-replication-controllers:///?kubernetesClient=#kubernetesClient&operation=listReplicationControllers");
+                from("direct:listByLabels").to("kubernetes-replication-controllers:///?kubernetesClient=#kubernetesClient&operation=listReplicationControllersByLabels");
+                from("direct:getReplicationController").to("kubernetes-replication-controllers:///?kubernetesClient=#kubernetesClient&operation=getReplicationController");
+                from("direct:createReplicationController").to("kubernetes-replication-controllers:///?kubernetesClient=#kubernetesClient&operation=createReplicationController");
+                from("direct:scaleReplicationController").to("kubernetes-replication-controllers:///?kubernetesClient=#kubernetesClient&operation=scaleReplicationController");
+                from("direct:deleteReplicationController").to("kubernetes-replication-controllers:///?kubernetesClient=#kubernetesClient&operation=deleteReplicationController");
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/863f8a53/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesResourcesQuotaProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesResourcesQuotaProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesResourcesQuotaProducerTest.java
index e5ba26c..ce14e44 100644
--- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesResourcesQuotaProducerTest.java
+++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesResourcesQuotaProducerTest.java
@@ -16,97 +16,58 @@
  */
 package org.apache.camel.component.kubernetes.producer;
 
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
-import io.fabric8.kubernetes.api.model.Quantity;
 import io.fabric8.kubernetes.api.model.ResourceQuota;
-import io.fabric8.kubernetes.api.model.ResourceQuotaSpec;
+import io.fabric8.kubernetes.api.model.ResourceQuotaBuilder;
+import io.fabric8.kubernetes.api.model.ResourceQuotaListBuilder;
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
 import org.apache.camel.component.kubernetes.KubernetesTestSupport;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.impl.JndiRegistry;
+import org.junit.Rule;
 import org.junit.Test;
 
 public class KubernetesResourcesQuotaProducerTest extends KubernetesTestSupport {
 
+    @Rule
+    public KubernetesServer server = new KubernetesServer();
+
+    @Override
+    protected JndiRegistry createRegistry() throws Exception {
+        JndiRegistry registry = super.createRegistry();
+        registry.bind("kubernetesClient", server.getClient());
+        return registry;
+    }
+    
     @Test
     public void listTest() throws Exception {
-        if (ObjectHelper.isEmpty(authToken)) {
-            return;
-        }
+        server.expect().withPath("/api/v1/resourcequotas").andReturn(200, new ResourceQuotaListBuilder().addNewItem().and().addNewItem().and().addNewItem().and().build()).once();
         List<ResourceQuota> result = template.requestBody("direct:list", "",
                 List.class);
 
-        assertTrue(result.size() == 0);
+        assertEquals(3, result.size());
     }
 
     @Test
-    public void createAndDeleteResourceQuota() throws Exception {
-        if (ObjectHelper.isEmpty(authToken)) {
-            return;
-        }
-        Exchange ex = template.request("direct:create", new Processor() {
+    public void deleteResourceQuota() throws Exception {
+        ResourceQuota rq1 = new ResourceQuotaBuilder().withNewMetadata().withName("rq1").withNamespace("test").and().build();
+        server.expect().withPath("/api/v1/namespaces/test/resourcequotas/rq1").andReturn(200, rq1).once();
 
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(
-                        KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                        "default");
-                exchange.getIn().setHeader(
-                        KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME,
-                        "test");
-                Map<String, String> labels = new HashMap<String, String>();
-                labels.put("this", "rocks");
-                exchange.getIn().setHeader(
-                        KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_LABELS,
-                        labels);
-                ResourceQuotaSpec rsSpec = new ResourceQuotaSpec();
-                Map<String, Quantity> mp = new HashMap<String, Quantity>();
-                mp.put("pods", new Quantity("100"));
-                rsSpec.setHard(mp);
-                exchange.getIn().setHeader(
-                        KubernetesConstants.KUBERNETES_RESOURCE_QUOTA_SPEC,
-                        rsSpec);
-            }
-        });
-
-        ResourceQuota rs = ex.getOut().getBody(ResourceQuota.class);
-
-        assertEquals(rs.getMetadata().getName(), "test");
-        
-        ex = template.request("direct:get", new Processor() {
+        Exchange ex = template.request("direct:delete", new Processor() {
 
             @Override
             public void process(Exchange exchange) throws Exception {
                 exchange.getIn().setHeader(
                         KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                        "default");
-                exchange.getIn().setHeader(
-                        KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME,
                         "test");
-            }
-        });
-        
-        ResourceQuota rsGet = ex.getOut().getBody(ResourceQuota.class);
-        
-        assertEquals(rsGet.getMetadata().getName(), "test");
-        assertEquals(rsGet.getSpec().getHard().get("pods"), new Quantity("100"));
-
-        ex = template.request("direct:delete", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(
-                        KubernetesConstants.KUBERNETES_NAMESPACE_NAME,
-                        "default");
                 exchange.getIn().setHeader(
                         KubernetesConstants.KUBERNETES_RESOURCES_QUOTA_NAME,
-                        "test");
+                        "rq1");
             }
         });
 
@@ -121,20 +82,9 @@ public class KubernetesResourcesQuotaProducerTest extends KubernetesTestSupport
             @Override
             public void configure() throws Exception {
                 from("direct:list")
-                        .toF("kubernetes-resources-quota://%s?oauthToken=%s&operation=listResourcesQuota",
-                                host, authToken);
-                from("direct:listByLabels")
-                        .toF("kubernetes-resources-quota://%s?oauthToken=%s&operation=listResourcesQuotaByLabels",
-                                host, authToken);
-                from("direct:get")
-                        .toF("kubernetes-resources-quota://%s?oauthToken=%s&operation=getResourceQuota",
-                                host, authToken);
-                from("direct:create")
-                        .toF("kubernetes-resources-quota://%s?oauthToken=%s&operation=createResourceQuota",
-                                host, authToken);
+                        .to("kubernetes-resources-quota:///?kubernetesClient=#kubernetesClient&operation=listResourcesQuota");
                 from("direct:delete")
-                        .toF("kubernetes-resources-quota://%s?oauthToken=%s&operation=deleteResourceQuota",
-                                host, authToken);
+                        .to("kubernetes-resources-quota:///?kubernetesClient=#kubernetesClient&operation=deleteResourceQuota");
             }
         };
     }