X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Forg%2Fonap%2Faai%2Fbabel%2Fservice%2FCsarToXmlConverterTest.java;h=62e926536b5a57c379b65426292d6e534deaac96;hb=80a8e4b685a16ef58603fc487d7c0c2adf427b02;hp=9310d2d1c9f5faaf345c53524015efcc12691fdd;hpb=e651abed417b8a173a0745042c7dc5b20c0b7036;p=aai%2Fbabel.git diff --git a/src/test/java/org/onap/aai/babel/service/CsarToXmlConverterTest.java b/src/test/java/org/onap/aai/babel/service/CsarToXmlConverterTest.java index 9310d2d..62e9265 100644 --- a/src/test/java/org/onap/aai/babel/service/CsarToXmlConverterTest.java +++ b/src/test/java/org/onap/aai/babel/service/CsarToXmlConverterTest.java @@ -1,5 +1,5 @@ /** - * ============LICENSE_START======================================================= + * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. @@ -22,7 +22,6 @@ package org.onap.aai.babel.service; import static org.junit.Assert.assertThat; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; @@ -38,10 +37,10 @@ import org.junit.Test; import org.junit.rules.ExpectedException; import org.onap.aai.babel.csar.CsarConverterException; import org.onap.aai.babel.csar.CsarToXmlConverter; +import org.onap.aai.babel.parser.ArtifactGeneratorToscaParser; import org.onap.aai.babel.service.data.BabelArtifact; import org.onap.aai.babel.util.ArtifactTestUtils; import org.onap.aai.babel.xml.generator.XmlArtifactGenerationException; -import org.onap.aai.babel.xml.generator.data.GeneratorConstants; /** * Tests {@link CsarToXmlConverter} @@ -49,29 +48,53 @@ import org.onap.aai.babel.xml.generator.data.GeneratorConstants; public class CsarToXmlConverterTest { private static final String ARTIFACT_GENERATOR_CONFIG = "artifact-generator.properties"; - private static final String CSAR_FOLDER = "compressedArtifacts"; - private static final String VALID_CSAR_FILE = "service-SdWanServiceTest-csar.csar"; private static final String INCORRECT_CSAR_NAME = "the_name_of_the_csar_file.csar"; private static final String SERVICE_VERSION = "1.0"; - private CsarToXmlConverter converter; - static { if (System.getProperty("APP_HOME") == null) { System.setProperty("APP_HOME", "."); } } + private enum CsarTest { + VALID_CSAR_FILE( + "service-SdWanServiceTest-csar.csar" + ), + NO_YAML_FILES( + "noYmlFilesArchive.zip" + ), + PORT_MIRROR_CSAR( + "service_PortMirror.csar" + ); + + private String filename; + private ArtifactTestUtils artifactTestUtils = new ArtifactTestUtils(); + + CsarTest(String filename) { + this.filename = filename; + } + + public String getName() { + return filename; + } + + public byte[] getContent() throws IOException { + return artifactTestUtils.getCompressedArtifact(filename); + } + } + + // The class to be tested. + private CsarToXmlConverter converter; + @Rule public ExpectedException exception = ExpectedException.none(); - private ArtifactTestUtils artifactTestUtils; @Before public void setup() { - System.setProperty(GeneratorConstants.PROPERTY_ARTIFACT_GENERATOR_CONFIG_FILE, - CsarToXmlConverterTest.class.getClassLoader().getResource(ARTIFACT_GENERATOR_CONFIG).getPath()); + System.setProperty(ArtifactGeneratorToscaParser.PROPERTY_ARTIFACT_GENERATOR_CONFIG_FILE, + new ArtifactTestUtils().getResourcePath(ARTIFACT_GENERATOR_CONFIG)); converter = new CsarToXmlConverter(); - artifactTestUtils = new ArtifactTestUtils(); } @After @@ -80,46 +103,59 @@ public class CsarToXmlConverterTest { } @Test(expected = NullPointerException.class) - public void generateXmlFromCsar_nullArtifactSupplied() throws CsarConverterException { + public void testNullArtifactSupplied() throws CsarConverterException { converter.generateXmlFromCsar(null, null, null); } @Test(expected = NullPointerException.class) - public void generateXmlFromCsar_missingName() throws CsarConverterException, IOException { - converter.generateXmlFromCsar(getCsar(VALID_CSAR_FILE), null, null); + public void testMissingName() throws CsarConverterException, IOException { + converter.generateXmlFromCsar(CsarTest.VALID_CSAR_FILE.getContent(), null, null); } @Test(expected = NullPointerException.class) - public void generateXmlFromCsar_missingVersion() throws CsarConverterException, IOException { - converter.generateXmlFromCsar(getCsar(VALID_CSAR_FILE), INCORRECT_CSAR_NAME, null); + public void testMissingVersion() throws CsarConverterException, IOException { + converter.generateXmlFromCsar(CsarTest.VALID_CSAR_FILE.getContent(), INCORRECT_CSAR_NAME, null); } @Test(expected = CsarConverterException.class) - public void generateXmlFromCsar_noPayloadExists() throws CsarConverterException { + public void testNoPayloadExists() throws CsarConverterException { converter.generateXmlFromCsar(new byte[0], INCORRECT_CSAR_NAME, SERVICE_VERSION); } @Test(expected = CsarConverterException.class) - public void generateXmlFromCsar_csarFileHasNoYmlFiles() throws CsarConverterException, IOException { - converter.generateXmlFromCsar(getCsar("noYmlFilesArchive.zip"), "noYmlFilesArchive.zip", SERVICE_VERSION); + public void testCsarFileHasNoYmlFiles() throws CsarConverterException, IOException { + converter.generateXmlFromCsar(CsarTest.NO_YAML_FILES.getContent(), "noYmlFilesArchive.zip", SERVICE_VERSION); } @Test - public void generateXmlFromCsar_artifactgenerator_config_systemPropertyNotSet() + public void testArtifactGeneratorConfigMissing() throws IOException, XmlArtifactGenerationException, CsarConverterException { exception.expect(CsarConverterException.class); exception.expectMessage("Cannot generate artifacts. artifactgenerator.config system property not configured"); // Unset the required system property - System.clearProperty(GeneratorConstants.PROPERTY_ARTIFACT_GENERATOR_CONFIG_FILE); - converter.generateXmlFromCsar(getCsar(VALID_CSAR_FILE), VALID_CSAR_FILE, SERVICE_VERSION); + System.clearProperty(ArtifactGeneratorToscaParser.PROPERTY_ARTIFACT_GENERATOR_CONFIG_FILE); + converter.generateXmlFromCsar(CsarTest.VALID_CSAR_FILE.getContent(), CsarTest.VALID_CSAR_FILE.getName(), + SERVICE_VERSION); } @Test public void generateXmlFromCsar() throws CsarConverterException, IOException, XmlArtifactGenerationException { Map expectedXmlFiles = createExpectedXmlFiles(); - List generatedArtifacts = - converter.generateXmlFromCsar(getCsar(VALID_CSAR_FILE), VALID_CSAR_FILE, SERVICE_VERSION); + List generatedArtifacts = converter.generateXmlFromCsar(CsarTest.VALID_CSAR_FILE.getContent(), + CsarTest.VALID_CSAR_FILE.getName(), SERVICE_VERSION); + + generatedArtifacts + .forEach(ga -> assertThat("The content of " + ga.getName() + " must match the expected content", + ga.getPayload(), matches(expectedXmlFiles.get(ga.getName())))); + } + + @Test + public void generatePortMirrorConfigurationModel() + throws CsarConverterException, IOException, XmlArtifactGenerationException { + Map expectedXmlFiles = createExpectedXmlFiles(); + List generatedArtifacts = converter.generateXmlFromCsar(CsarTest.PORT_MIRROR_CSAR.getContent(), + CsarTest.PORT_MIRROR_CSAR.getName(), SERVICE_VERSION); generatedArtifacts .forEach(ga -> assertThat("The content of " + ga.getName() + " must match the expected content", @@ -131,8 +167,8 @@ public class CsarToXmlConverterTest { protected String theExpected = expected; @Override - public boolean matches(Object o) { - return artifactTestUtils.compareXMLStrings((String) o, theExpected); + public boolean matches(Object item) { + return new ArtifactTestUtils().compareXmlStrings((String) item, theExpected); } @Override @@ -142,10 +178,6 @@ public class CsarToXmlConverterTest { }; } - private byte[] getCsar(String csarFileName) throws IOException { - return artifactTestUtils.loadResource(CSAR_FOLDER + File.separator + csarFileName); - } - private Map createExpectedXmlFiles() throws IOException { Map xmlMap = new HashMap<>(); @@ -154,9 +186,11 @@ public class CsarToXmlConverterTest { filesToLoad.add("AAI-SdWanTestVsp..DUMMY..module-0-resource-2.xml"); filesToLoad.add("AAI-Tunnel_XConnTest-resource-2.0.xml"); filesToLoad.add("AAI-SD-WAN-Test-VSP-resource-1.0.xml"); + filesToLoad.add("AAI-Port Mirror_Test-service-1.0.xml"); + filesToLoad.add("AAI-Port Mirroring Configuration-resource-35.0.xml"); for (String filename : filesToLoad) { - xmlMap.put(filename, artifactTestUtils.loadResourceAsString("generatedXml" + File.separator + filename)); + xmlMap.put(filename, new ArtifactTestUtils().loadResourceAsString("generatedXml/" + filename)); } return xmlMap;