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");
}
};
}