From 49ddc1f78fa98356e2ab6207d17282a426624ac0 Mon Sep 17 00:00:00 2001 From: Remigiusz Janeczek Date: Thu, 24 Sep 2020 07:47:30 +0200 Subject: Filter empty imports from files in bpgen Issue-ID: DCAEGEN2-2454 Signed-off-by: Remigiusz Janeczek Change-Id: Ia51750c17483c3120d86949ea60be416065b0da9 --- mod/bpgenerator/TestCases/imports/imports.yaml | 2 + .../TestCases/imports/importsWithBlanks.yaml | 3 ++ .../models/blueprint/Imports.java | 11 +++-- .../models/blueprint/ImportsTest.java | 52 ++++++++++++++++++++++ .../ExternalCertificateParametersFactoryTest.java | 2 +- 5 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 mod/bpgenerator/TestCases/imports/imports.yaml create mode 100644 mod/bpgenerator/TestCases/imports/importsWithBlanks.yaml create mode 100644 mod/bpgenerator/src/test/java/org/onap/blueprintgenerator/models/blueprint/ImportsTest.java diff --git a/mod/bpgenerator/TestCases/imports/imports.yaml b/mod/bpgenerator/TestCases/imports/imports.yaml new file mode 100644 index 0000000..4b52b8a --- /dev/null +++ b/mod/bpgenerator/TestCases/imports/imports.yaml @@ -0,0 +1,2 @@ +imports: ['https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml', 'plugin:k8splugin?version=3.4.1', + 'plugin:pgaas?version=1.3.0', 'plugin:clamppolicyplugin?version=1.1.0', 'plugin:dmaap?version=1.5.0'] diff --git a/mod/bpgenerator/TestCases/imports/importsWithBlanks.yaml b/mod/bpgenerator/TestCases/imports/importsWithBlanks.yaml new file mode 100644 index 0000000..242c2a9 --- /dev/null +++ b/mod/bpgenerator/TestCases/imports/importsWithBlanks.yaml @@ -0,0 +1,3 @@ +imports: ['https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml', 'plugin:k8splugin?version=3.4.1', + '', ' ', ' ', 'plugin:pgaas?version=1.3.0', 'plugin:clamppolicyplugin?version=1.1.0', + 'plugin:dmaap?version=1.5.0'] diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Imports.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Imports.java index 4e7a4f1..7b55e17 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Imports.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Imports.java @@ -20,7 +20,6 @@ package org.onap.blueprintgenerator.models.blueprint; - import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.databind.ObjectMapper; @@ -32,8 +31,6 @@ import java.util.ArrayList; import lombok.Getter; import lombok.Setter; - - @Getter @Setter @JsonInclude(value=Include.NON_NULL) public class Imports { @@ -47,6 +44,7 @@ public class Imports { imps.add("plugin:dcaepolicyplugin?version=2.4.0"); return imps; } + public static ArrayList createDmaapImports(){ ArrayList imps = new ArrayList<>(); imps.add("https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml"); @@ -54,15 +52,16 @@ public class Imports { imps.add("plugin:dmaap?version=1.5.0"); return imps; } + public static ArrayList createImportsFromFile(String path) { - Imports imports; ObjectMapper importMapper = new ObjectMapper(new YAMLFactory().configure(YAMLGenerator.Feature.MINIMIZE_QUOTES, true)); File importPath = new File(path); try { - imports = importMapper.readValue(importPath, Imports.class); + Imports imports = importMapper.readValue(importPath, Imports.class); + imports.getImports().removeIf(String::isBlank); + return imports.getImports(); } catch (IOException e) { throw new RuntimeException(e); } - return imports.getImports(); } } diff --git a/mod/bpgenerator/src/test/java/org/onap/blueprintgenerator/models/blueprint/ImportsTest.java b/mod/bpgenerator/src/test/java/org/onap/blueprintgenerator/models/blueprint/ImportsTest.java new file mode 100644 index 0000000..1ce296a --- /dev/null +++ b/mod/bpgenerator/src/test/java/org/onap/blueprintgenerator/models/blueprint/ImportsTest.java @@ -0,0 +1,52 @@ +/*============LICENSE_START======================================================= + org.onap.dcae + ================================================================================ + Copyright (c) 2020 Nokia Intellectual Property. All rights reserved. + ================================================================================ + Licensed 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. + ============LICENSE_END========================================================= + */ + +package org.onap.blueprintgenerator.models.blueprint; + +import static org.junit.Assert.assertEquals; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.junit.Test; + +public class ImportsTest { + + private final List expectedImports = Arrays.asList( + "https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml", + "plugin:k8splugin?version=3.4.1", + "plugin:pgaas?version=1.3.0", + "plugin:clamppolicyplugin?version=1.1.0", + "plugin:dmaap?version=1.5.0" + ); + + @Test + public void shouldReadImportsFromFile() { + ArrayList importsFromFile = Imports.createImportsFromFile("TestCases/imports/imports.yaml"); + assertEquals(expectedImports, importsFromFile); + } + + @Test + public void shouldRemoveBlankImportsFromFile() { + ArrayList importsFromFile = + Imports.createImportsFromFile("TestCases/imports/importsWithBlanks.yaml"); + assertEquals(expectedImports, importsFromFile); + } + +} diff --git a/mod/bpgenerator/src/test/java/org/onap/blueprintgenerator/models/blueprint/tls/ExternalCertificateParametersFactoryTest.java b/mod/bpgenerator/src/test/java/org/onap/blueprintgenerator/models/blueprint/tls/ExternalCertificateParametersFactoryTest.java index e854b19..1cdb58b 100644 --- a/mod/bpgenerator/src/test/java/org/onap/blueprintgenerator/models/blueprint/tls/ExternalCertificateParametersFactoryTest.java +++ b/mod/bpgenerator/src/test/java/org/onap/blueprintgenerator/models/blueprint/tls/ExternalCertificateParametersFactoryTest.java @@ -25,7 +25,7 @@ import org.onap.blueprintgenerator.models.blueprint.tls.impl.ExternalCertificate import java.util.LinkedHashMap; import java.util.Map; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; import static org.onap.blueprintgenerator.models.blueprint.tls.TlsConstants.COMMON_NAME_FIELD; import static org.onap.blueprintgenerator.models.blueprint.tls.TlsConstants.DEFAULT_COMMON_NAME; import static org.onap.blueprintgenerator.models.blueprint.tls.TlsConstants.DEFAULT_SANS; -- cgit 1.2.3-korg