diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/pom.xml b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/pom.xml index 4d45464a94..353e909d09 100644 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/pom.xml +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/pom.xml @@ -52,12 +52,6 @@ 2.0.0-SNAPSHOT test - - org.codehaus.groovy - groovy-json - ${nifi.groovy.version} - test - diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/main/java/org/apache/nifi/serialization/record/MockSchemaRegistry.java b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/main/java/org/apache/nifi/serialization/record/MockSchemaRegistry.java index 4d4ffe5f20..972044b973 100644 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/main/java/org/apache/nifi/serialization/record/MockSchemaRegistry.java +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/main/java/org/apache/nifi/serialization/record/MockSchemaRegistry.java @@ -40,7 +40,7 @@ public class MockSchemaRegistry extends AbstractControllerService implements Sch schemaNameMap.put(name, schema); } - private RecordSchema retrieveSchemaByName(final SchemaIdentifier schemaIdentifier) throws IOException, SchemaNotFoundException { + RecordSchema retrieveSchemaByName(final SchemaIdentifier schemaIdentifier) throws IOException, SchemaNotFoundException { final Optional schemaName = schemaIdentifier.getName(); if (!schemaName.isPresent()) { throw new org.apache.nifi.schema.access.SchemaNotFoundException("Cannot retrieve schema because Schema Name is not present"); diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/test/groovy/org/apache/nifi/serialization/record/TestMockSchemaRegistry.groovy b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/test/groovy/org/apache/nifi/serialization/record/TestMockSchemaRegistry.groovy deleted file mode 100644 index f6e0dc9afe..0000000000 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/test/groovy/org/apache/nifi/serialization/record/TestMockSchemaRegistry.groovy +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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.nifi.serialization.record - -import org.apache.avro.Schema -import org.apache.nifi.avro.AvroTypeUtil -import org.junit.jupiter.api.Test - -import static groovy.json.JsonOutput.* -import static org.junit.jupiter.api.Assertions.assertEquals -import static org.junit.jupiter.api.Assertions.assertNotNull - -class TestMockSchemaRegistry { - @Test - void testGetSchemaByName() { - def registry = new MockSchemaRegistry() - def schema = prettyPrint(toJson([ - name: "TestSchema", - type: "record", - fields: [ - [ name: "msg", type: "string" ] - ] - ])) - def recordSchema = AvroTypeUtil.createSchema(new Schema.Parser().parse(schema)) - registry.addSchema("simple", recordSchema) - - def identifier = SchemaIdentifier.builder().name("simple").build() - def result = registry.retrieveSchemaByName(identifier) - - assertNotNull(result, "Failed to load schema.") - assertEquals(result.fieldNames, recordSchema.fieldNames) - } -} diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/test/java/org/apache/nifi/serialization/record/TestMockSchemaRegistry.java b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/test/java/org/apache/nifi/serialization/record/TestMockSchemaRegistry.java new file mode 100644 index 0000000000..c07869a036 --- /dev/null +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-mock-record-utils/src/test/java/org/apache/nifi/serialization/record/TestMockSchemaRegistry.java @@ -0,0 +1,59 @@ +/* + * 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.nifi.serialization.record; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import org.apache.avro.Schema; +import org.apache.nifi.avro.AvroTypeUtil; +import org.apache.nifi.schema.access.SchemaNotFoundException; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +class TestMockSchemaRegistry { + @Test + void testGetSchemaByName() throws IOException, SchemaNotFoundException { + final ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT); + final MockSchemaRegistry registry = new MockSchemaRegistry(); + final Map map = new LinkedHashMap<>(3); + map.put("name", "TestSchema"); + map.put("type", "record"); + final Map map1 = new LinkedHashMap<>(2); + map1.put("name", "msg"); + map1.put("type", "string"); + map.put("fields", new ArrayList<>(Collections.singletonList(map1))); + final String schema = mapper.writeValueAsString(map); + final RecordSchema recordSchema = AvroTypeUtil.createSchema(new Schema.Parser().parse(schema)); + registry.addSchema("simple", recordSchema); + + final SchemaIdentifier identifier = SchemaIdentifier.builder().name("simple").build(); + final RecordSchema result = registry.retrieveSchemaByName(identifier); + + assertNotNull(result, "Failed to load schema."); + assertEquals(result.getFieldNames(), recordSchema.getFieldNames()); + } +}