This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit a1948b803fa00dd5c462c7abfee91b2e1e8ff42d Author: Andrea Cosentino <[email protected]> AuthorDate: Thu Sep 19 09:10:16 2019 +0200 CAMEL-13994 - listPods operation of kubernetes component dont support namespace option --- .../component/kubernetes/pods/KubernetesPodsProducer.java | 9 +++++++-- .../kubernetes/producer/KubernetesPodsProducerTest.java | 13 ++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java index c84c7d0..a28d3ed 100644 --- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java +++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java @@ -87,8 +87,13 @@ public class KubernetesPodsProducer extends DefaultProducer { } protected void doList(Exchange exchange, String operation) throws Exception { - PodList podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().list(); - + PodList podList; + String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class); + if (ObjectHelper.isNotEmpty(namespaceName)) { + podList = getEndpoint().getKubernetesClient().pods().inNamespace(namespaceName).list(); + } else { + podList = getEndpoint().getKubernetesClient().pods().inAnyNamespace().list(); + } MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(podList.getItems()); } diff --git a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesPodsProducerTest.java b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesPodsProducerTest.java index 8eb8fc9..78d9f07 100644 --- a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesPodsProducerTest.java +++ b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/producer/KubernetesPodsProducerTest.java @@ -48,9 +48,20 @@ public class KubernetesPodsProducerTest extends KubernetesTestSupport { @Test public void listTest() throws Exception { server.expect().withPath("/api/v1/pods").andReturn(200, new PodListBuilder().addNewItem().and().addNewItem().and().addNewItem().and().build()).once(); + server.expect().withPath("/api/v1/namespaces/test/pods").andReturn(200, new PodListBuilder().addNewItem().and().addNewItem().and().build()).once(); List<Pod> result = template.requestBody("direct:list", "", List.class); - assertEquals(3, result.size()); + + Exchange ex = template.request("direct:list", new Processor() { + + @Override + public void process(Exchange exchange) throws Exception { + exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, "test"); + } + }); + List<Pod> resultNamespaced = ex.getOut().getBody(List.class); + + assertEquals(2, resultNamespaced.size()); } @Test
