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

Reply via email to