This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git

commit 350b2baa811787aed1cb689754b40d96c24b4abd
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Tue Apr 27 17:06:27 2021 +0200

    Camel-Kamelets catalog: More catalog methods
---
 .../apache/camel/kamelets/catalog/KameletsCatalog.java   | 11 +++++++++++
 .../camel/kamelets/catalog/KameletsCatalogTest.java      | 16 ++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git 
a/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
 
b/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
index ed982e7..dbe5f5b 100644
--- 
a/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
+++ 
b/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
@@ -20,6 +20,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
 import io.fabric8.camelk.v1alpha1.Kamelet;
+import io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps;
 import org.apache.commons.io.Charsets;
 import org.apache.commons.io.IOUtils;
 import org.slf4j.Logger;
@@ -31,6 +32,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 public class KameletsCatalog {
 
@@ -80,4 +82,13 @@ public class KameletsCatalog {
                 .collect(Collectors.toList());
         return collect;
     }
+
+    public JSONSchemaProps getKameletsDefinition(String name) {
+        Kamelet kamelet = kameletModels.get(name);
+        if (kamelet != null) {
+                return kamelet.getSpec().getDefinition();
+        } else {
+            return null;
+        }
+    }
 }
diff --git 
a/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
 
b/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
index 53881d8..1bd6fdb 100644
--- 
a/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
+++ 
b/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.kamelets.catalog;
 
+import io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps;
 import org.apache.camel.kamelets.catalog.model.KameletTypeEnum;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -23,6 +24,8 @@ import org.junit.jupiter.api.Test;
 import java.io.IOException;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class KameletsCatalogTest {
     static KameletsCatalog catalog;
@@ -46,4 +49,17 @@ public class KameletsCatalogTest {
     void testKameletsByType() throws Exception {
         assertEquals(6, 
catalog.getKameletsByType(KameletTypeEnum.ACTION.type()).size());
     }
+
+    @Test
+    void testGetKameletsDefinition() throws Exception {
+        JSONSchemaProps props = 
catalog.getKameletsDefinition("aws-sqs-source");
+        assertEquals(6, props.getProperties().keySet().size());
+        assertTrue(props.getProperties().keySet().contains("queueNameOrArn"));
+    }
+
+    @Test
+    void testGetKameletsDefinitionNotExists() throws Exception {
+        JSONSchemaProps props = catalog.getKameletsDefinition("word");
+        assertNull(props);
+    }
 }

Reply via email to