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