CAMEL-7999: Add test to validate all the json schemas in the camel-catalog
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c75ca16d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c75ca16d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c75ca16d Branch: refs/heads/camel-2.15.x Commit: c75ca16d14668d14961c97bf583b8654559bcb39 Parents: caa1b44 Author: Claus Ibsen <davscl...@apache.org> Authored: Sun Mar 15 07:54:58 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sun Mar 15 07:55:18 2015 +0100 ---------------------------------------------------------------------- platforms/catalog/pom.xml | 6 ++ .../catalog/CamelCatalogJsonSchemaTest.java | 90 ++++++++++++++++++++ 2 files changed, 96 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/c75ca16d/platforms/catalog/pom.xml ---------------------------------------------------------------------- diff --git a/platforms/catalog/pom.xml b/platforms/catalog/pom.xml index 3b5614d..99799bd 100644 --- a/platforms/catalog/pom.xml +++ b/platforms/catalog/pom.xml @@ -41,6 +41,12 @@ <!-- testing --> <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>${jackson2-version}</version> + </dependency> + + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> http://git-wip-us.apache.org/repos/asf/camel/blob/c75ca16d/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogJsonSchemaTest.java ---------------------------------------------------------------------- diff --git a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogJsonSchemaTest.java b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogJsonSchemaTest.java new file mode 100644 index 0000000..0ddf8d5 --- /dev/null +++ b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogJsonSchemaTest.java @@ -0,0 +1,90 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.catalog; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.Test; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class CamelCatalogJsonSchemaTest { + + private CamelCatalog catalog = new DefaultCamelCatalog(); + + @Test + public void testValidateJsonComponent() throws Exception { + for (String name : catalog.findComponentNames()) { + String json = catalog.componentJSonSchema(name); + + // validate we can parse the json + ObjectMapper mapper = new ObjectMapper(); + JsonNode tree = mapper.readTree(json); + assertNotNull(tree); + + assertTrue(name, tree.has("component")); + assertTrue(name, tree.has("componentProperties")); + assertTrue(name, tree.has("properties")); + } + } + + @Test + public void testValidateJsonDataFormats() throws Exception { + for (String name : catalog.findDataFormatNames()) { + String json = catalog.dataFormatJSonSchema(name); + + // validate we can parse the json + ObjectMapper mapper = new ObjectMapper(); + JsonNode tree = mapper.readTree(json); + assertNotNull(tree); + + assertTrue(name, tree.has("dataformat")); + assertTrue(name, tree.has("properties")); + } + } + + @Test + public void testValidateJsonLanguages() throws Exception { + for (String name : catalog.findLanguageNames()) { + String json = catalog.languageJSonSchema(name); + + // validate we can parse the json + ObjectMapper mapper = new ObjectMapper(); + JsonNode tree = mapper.readTree(json); + assertNotNull(tree); + + assertTrue(name, tree.has("language")); + assertTrue(name, tree.has("properties")); + } + } + + @Test + public void testValidateJsonModels() throws Exception { + for (String name : catalog.findModelNames()) { + String json = catalog.modelJSonSchema(name); + + // validate we can parse the json + ObjectMapper mapper = new ObjectMapper(); + JsonNode tree = mapper.readTree(json); + assertNotNull(tree); + + assertTrue(name, tree.has("model")); + assertTrue(name, tree.has("properties")); + } + } +}