X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Forg%2Fonap%2Faai%2Fbabel%2Fxml%2Fgenerator%2Fmodel%2FTestModel.java;h=f1a579e3ea5443dab76423b16bbe68bde002a7c3;hb=f6107af893b29094f84fb2eea2b9dd8acc78dc53;hp=3d5e84141fc234a6cf17bd735e72ddc9e7b80017;hpb=1954294aed95c2db4eb2659dcef91248535de079;p=aai%2Fbabel.git diff --git a/src/test/java/org/onap/aai/babel/xml/generator/model/TestModel.java b/src/test/java/org/onap/aai/babel/xml/generator/model/TestModel.java index 3d5e841..f1a579e 100644 --- a/src/test/java/org/onap/aai/babel/xml/generator/model/TestModel.java +++ b/src/test/java/org/onap/aai/babel/xml/generator/model/TestModel.java @@ -2,8 +2,8 @@ * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ - * Copyright © 2017-2019 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017-2019 European Software Marketing Ltd. + * Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Copyright (c) 2017-2019 European Software Marketing Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,16 +26,9 @@ import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; import java.io.IOException; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; -import org.onap.aai.babel.parser.ArtifactGeneratorToscaParser; import org.onap.aai.babel.util.ArtifactTestUtils; -import org.onap.aai.babel.xml.generator.model.Widget.Type; -import org.onap.aai.babel.xml.generator.types.ModelType; /** * Direct tests of the Model abstract class (to improve code coverage). Not all methods are tested here. Some are @@ -43,57 +36,17 @@ import org.onap.aai.babel.xml.generator.types.ModelType; */ public class TestModel { - private Service serviceModel = new Service(); - private List resourceModels = - Arrays.asList(new Resource(Type.CR, true), new Resource(Type.INSTANCE_GROUP, true)); - private Widget widgetModel = new OamNetwork(); - private Model anonymousModel; - - static { - System.setProperty("APP_HOME", "."); - } - /** - * Initialise the Artifact Generator with filtering and mapping configuration. Also Load the Widget to UUID mappings - * from the Artifact Generator properties. + * Load the Widget Configuration, including the type mappings and the UUID mappings. * * @throws IOException - * if the Artifact Generator properties file is not loaded + * if the mappings configuration cannot be loaded */ - @Before - public void setup() throws IOException { - ArtifactTestUtils utils = new ArtifactTestUtils(); - utils.setGeneratorSystemProperties(); - - ArtifactGeneratorToscaParser.initGroupFilterConfiguration(); - utils.loadWidgetToUuidMappings(); - - anonymousModel = new Model() { - @Override - public boolean addResource(Resource resource) { - return false; - } - - @Override - public boolean addWidget(Widget resource) { - return false; - } - - @Override - public Type getWidgetType() { - return null; - } - - @Override - public Map getProperties() { - return Collections.emptyMap(); - } - - @Override - public boolean isResource() { - return false; - } - }; + @BeforeClass + public static void setup() throws IOException { + ArtifactTestUtils util = new ArtifactTestUtils(); + util.loadWidgetToUuidMappings(); + util.loadWidgetMappings(); } @Test @@ -102,70 +55,74 @@ public class TestModel { assertThat(Model.getModelFor(""), is(nullValue())); assertThat(Model.getModelFor("any.unknown.type"), is(nullValue())); - assertMapping("org.openecomp.resource.vfc", Type.VSERVER); - assertMapping("org.openecomp.resource.cp", Type.LINT); - assertMapping("org.openecomp.cp", Type.LINT); - assertMapping("org.openecomp.cp.some.suffix", Type.LINT); - assertMapping("org.openecomp.resource.vl", Type.L3_NET); - assertMapping("org.openecomp.resource.vf", Type.VF); - assertMapping("org.openecomp.groups.vfmodule", Type.VFMODULE); - assertMapping("org.openecomp.groups.VfModule", Type.VFMODULE); - assertMapping("org.openecomp.resource.vfc.nodes.heat.cinder", Type.VOLUME); - assertMapping("org.openecomp.nodes.PortMirroringConfiguration", "Configuration", Type.CONFIGURATION); - assertMapping("any.string", "Configuration", Type.CONFIGURATION); - assertMapping("org.openecomp.resource.cr.Kk1806Cr1", "CR", Type.CR); - assertMapping("any.string", "CR", Type.CR); + assertMapping("org.openecomp.resource.vfc", WidgetType.valueOf("VSERVER")); + assertMapping("org.openecomp.resource.cp", WidgetType.valueOf("LINT")); + assertMapping("org.openecomp.cp", WidgetType.valueOf("LINT")); + assertMapping("org.openecomp.cp.some.suffix", WidgetType.valueOf("LINT")); + assertMapping("org.openecomp.resource.vl", WidgetType.valueOf("L3_NET")); + assertMapping("org.openecomp.resource.vf", WidgetType.valueOf("VF")); + assertMapping("org.openecomp.groups.vfmodule", WidgetType.valueOf("VFMODULE")); + assertMapping("org.openecomp.groups.VfModule", WidgetType.valueOf("VFMODULE")); + assertMapping("org.openecomp.resource.vfc.nodes.heat.cinder", WidgetType.valueOf("VOLUME")); + assertMapping("org.openecomp.nodes.PortMirroringConfiguration", "Configuration", + WidgetType.valueOf("CONFIGURATION")); + assertMapping("any.string", "Configuration", WidgetType.valueOf("CONFIGURATION")); + assertMapping("org.openecomp.resource.cr.Kk1806Cr1", "CR", WidgetType.valueOf("CR")); + assertMapping("any.string", "CR", WidgetType.valueOf("CR")); + + assertMapping("org.openecomp.resource.vfc", "an.unknown.type", WidgetType.valueOf("VSERVER")); + } + + /** + * Test that there is no exception if processing a Model that has no metadata properties. + */ + @Test + public void testNullIdentProperties() { + createTestModel().populateModelIdentificationInformation(null); + } + + /** + * Test that an exception occurs if calling code passes an unsupported Widget Type value to the base implementation + * of the hasWidgetType() method. + */ + @Test(expected = IllegalArgumentException.class) + public void testUnknownWidgetType() { + createTestModel().hasWidgetType(null); + } - assertMapping("org.openecomp.resource.vfc", "an.unknown.type", Type.VSERVER); + /** + * Create any Model with a valid WidgetType, for method testing. + * + * @return a valid Model for testing purposes + */ + private Model createTestModel() { + return new Resource(WidgetType.valueOf("VSERVER"), false); } /** * Assert that the TOSCA type String is mapped to the expected Widget Type. - * + * * @param toscaType - * the TOSCA type or prefix + * the TOSCA type or prefix * @param widgetType - * the type of Widget expected from the mappings + * the type of Widget expected from the mappings */ - private void assertMapping(String toscaType, Type widgetType) { + private void assertMapping(String toscaType, WidgetType widgetType) { assertThat(Model.getModelFor(toscaType).getWidgetType(), is(widgetType)); } /** * Assert that the TOSCA metadata type is mapped to the expected Widget Type. - * + * * @param toscaType - * the name (or name prefix) of the TOSCA type + * the name (or name prefix) of the TOSCA type * @param metadataType - * the type specified in the TOSCA metadata + * the type specified in the TOSCA metadata * @param widgetType - * the type of Widget expected from the mappings + * the type of Widget expected from the mappings */ - private void assertMapping(String toscaType, String metadataType, Type widgetType) { + private void assertMapping(String toscaType, String metadataType, WidgetType widgetType) { assertThat(Model.getModelFor(toscaType, metadataType).getWidgetType(), is(widgetType)); } - @Test - public void testGetModelType() { - assertThat(serviceModel.getModelType(), is(ModelType.SERVICE)); - for (Resource resourceModel : resourceModels) { - assertThat(resourceModel.getModelType(), is(ModelType.RESOURCE)); - } - assertThat(widgetModel.getModelType(), is(ModelType.WIDGET)); - assertThat(anonymousModel.getModelType(), is(nullValue())); - } - - @Test - public void testGetModelNameVersionId() { - assertThat(anonymousModel.getModelNameVersionId(), is(nullValue())); - } - - @Test(expected = org.onap.aai.babel.xml.generator.error.IllegalAccessException.class) - public void testGetModelNameVersionIdIsUnsupported() { - assertThat(widgetModel.getModelNameVersionId(), is(nullValue())); - assertThat(resourceModels.get(0).getModelType(), is(ModelType.RESOURCE)); - assertThat(widgetModel.getModelType(), is(ModelType.WIDGET)); - assertThat(anonymousModel.getModelType(), is(nullValue())); - } - }