diff options
6 files changed, 309 insertions, 101 deletions
diff --git a/common-be/pom.xml b/common-be/pom.xml index afd28346fb..c995ced9ad 100644 --- a/common-be/pom.xml +++ b/common-be/pom.xml @@ -1,109 +1,115 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> - <groupId>org.openecomp.sdc.be</groupId> - <artifactId>common-be</artifactId> + <groupId>org.openecomp.sdc.be</groupId> + <artifactId>common-be</artifactId> - <parent> - <groupId>org.openecomp.sdc</groupId> - <artifactId>sdc-main</artifactId> - <version>1.5.0-SNAPSHOT</version> - </parent> + <parent> + <groupId>org.openecomp.sdc</groupId> + <artifactId>sdc-main</artifactId> + <version>1.5.0-SNAPSHOT</version> + </parent> - <dependencies> - <!-- Common of SD&C --> - <dependency> - <groupId>org.openecomp.sdc</groupId> - <artifactId>common-app-api</artifactId> - <version>${project.version}</version> - <scope>provided</scope> - </dependency> + <dependencies> + <!-- Common of SD&C --> + <dependency> + <groupId>org.openecomp.sdc</groupId> + <artifactId>common-app-api</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-lang3</artifactId> - <version>${lang3.version}</version> - <scope>provided</scope> - </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + <version>${lang3.version}</version> + <scope>provided</scope> + </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>${logback.version}</version> - <scope>provided</scope> - </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>${logback.version}</version> + <scope>provided</scope> + </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>${guava.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.functionaljava</groupId> - <artifactId>functionaljava</artifactId> - <version>${functionaljava.version}</version> - <scope>provided</scope> - </dependency> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <version>${guava.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.functionaljava</groupId> + <artifactId>functionaljava</artifactId> + <version>${functionaljava.version}</version> + <scope>provided</scope> + </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-databind</artifactId> - <version>${jackson.version}</version> - <scope>provided</scope> - </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>${jackson.version}</version> + <scope>provided</scope> + </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.onap.sdc.common</groupId> - <artifactId>onap-tosca-datatype</artifactId> - <version>${tosca.datatype.version}</version> - </dependency> - <dependency> - <groupId>org.projectlombok</groupId> - <artifactId>lombok</artifactId> - <version>${lombok.version}</version> - </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>${junit.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.onap.sdc.common</groupId> + <artifactId>onap-tosca-datatype</artifactId> + <version>${tosca.datatype.version}</version> + </dependency> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>${lombok.version}</version> + </dependency> - </dependencies> - <build> - <plugins> - <plugin> - <groupId>com.github.sylvainlaurent.maven</groupId> - <artifactId>yaml-json-validator-maven-plugin</artifactId> - <executions> - <execution> - <id>validate</id> - <phase>validate</phase> - <goals> - <goal>validate</goal> - </goals> - <configuration> - <validationSets> - <validationSet> - <includes> - <include>src/main/resources/**/*.y*ml</include> - <include>src/test/resources/**/*.y*ml</include> - </includes> - </validationSet> - <validationSet> - <includes> - <include>src/main/resources/**/*.json</include> - <include>src/test/resources/**/*.json</include> - </includes> - </validationSet> - </validationSets> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>com.github.sylvainlaurent.maven</groupId> + <artifactId>yaml-json-validator-maven-plugin</artifactId> + <executions> + <execution> + <id>validate</id> + <phase>validate</phase> + <goals> + <goal>validate</goal> + </goals> + <configuration> + <validationSets> + <validationSet> + <includes> + <include>src/main/resources/**/*.y*ml</include> + <include>src/test/resources/**/*.y*ml</include> + </includes> + </validationSet> + <validationSet> + <includes> + <include>src/main/resources/**/*.json</include> + <include>src/test/resources/**/*.json</include> + </includes> + </validationSet> + </validationSets> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> </project> diff --git a/common-be/src/main/java/org/openecomp/sdc/be/utils/PropertyDefinitionUtils.java b/common-be/src/main/java/org/openecomp/sdc/be/utils/PropertyDefinitionUtils.java index 92aa832278..600401bd07 100644 --- a/common-be/src/main/java/org/openecomp/sdc/be/utils/PropertyDefinitionUtils.java +++ b/common-be/src/main/java/org/openecomp/sdc/be/utils/PropertyDefinitionUtils.java @@ -1,3 +1,22 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T 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.openecomp.sdc.be.utils; import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; diff --git a/common-be/src/main/java/org/openecomp/sdc/be/utils/TypeUtils.java b/common-be/src/main/java/org/openecomp/sdc/be/utils/TypeUtils.java index 7d21afb609..576582b9bf 100644 --- a/common-be/src/main/java/org/openecomp/sdc/be/utils/TypeUtils.java +++ b/common-be/src/main/java/org/openecomp/sdc/be/utils/TypeUtils.java @@ -1,3 +1,22 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T 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.openecomp.sdc.be.utils; import java.util.Map; @@ -38,7 +57,7 @@ public class TypeUtils { private String elementName; - private ToscaTagNamesEnum(String elementName) { + ToscaTagNamesEnum(String elementName) { this.elementName = elementName; } diff --git a/common-be/src/test/java/org/openecomp/sdc/be/utils/CommonBeUtilsTest.java b/common-be/src/test/java/org/openecomp/sdc/be/utils/CommonBeUtilsTest.java index dbe17e6968..7670913163 100644 --- a/common-be/src/test/java/org/openecomp/sdc/be/utils/CommonBeUtilsTest.java +++ b/common-be/src/test/java/org/openecomp/sdc/be/utils/CommonBeUtilsTest.java @@ -16,6 +16,8 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= + * Modifications copyright (c) 2019 Nokia + * ================================================================================ */ package org.openecomp.sdc.be.utils; @@ -30,7 +32,6 @@ public class CommonBeUtilsTest { @Test public void testCompareAsdcComponentVersions() { - assertTrue(CommonBeUtils.compareAsdcComponentVersions("1.1", "0.15")); assertFalse(CommonBeUtils.compareAsdcComponentVersions("0.5", "0.5")); assertFalse(CommonBeUtils.compareAsdcComponentVersions("0.5", "0.6")); @@ -42,9 +43,8 @@ public class CommonBeUtilsTest { @Test public void testConformanceLevelCompare() { - assertTrue(CommonBeUtils.conformanceLevelCompare("1.1", "0.15") > 0); - assertEquals(0, CommonBeUtils.conformanceLevelCompare("0.5", "0.5")); + assertEquals(0, CommonBeUtils.conformanceLevelCompare("0.5", "0.5")); assertTrue(CommonBeUtils.conformanceLevelCompare("0.5", "0.6") < 0); assertTrue(CommonBeUtils.conformanceLevelCompare("1.5", "2.6") < 0); assertTrue(CommonBeUtils.conformanceLevelCompare("1.5", "1.5.3") < 0); @@ -52,4 +52,10 @@ public class CommonBeUtilsTest { assertTrue(CommonBeUtils.conformanceLevelCompare("0.10", "0.1") > 0); assertTrue(CommonBeUtils.conformanceLevelCompare("2", "1.15") > 0); } + + @Test + public void testGenerateToscaResourceName(){ + assertEquals(CommonBeUtils.generateToscaResourceName("ANY_RESOURCE", "ANY_RESOURCE_SYSTEM_NAME"), + "org.openecomp.resource.any_resource.ANY_RESOURCE_SYSTEM_NAME"); + } } diff --git a/common-be/src/test/java/org/openecomp/sdc/be/utils/PropertyDefinitionUtilsTest.java b/common-be/src/test/java/org/openecomp/sdc/be/utils/PropertyDefinitionUtilsTest.java new file mode 100644 index 0000000000..b9f11d32a7 --- /dev/null +++ b/common-be/src/test/java/org/openecomp/sdc/be/utils/PropertyDefinitionUtilsTest.java @@ -0,0 +1,101 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2019 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.openecomp.sdc.be.utils; + +import static java.util.Collections.emptyMap; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.junit.Test; +import org.openecomp.sdc.be.datatypes.elements.GetInputValueDataDefinition; +import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; + +public class PropertyDefinitionUtilsTest { + + private static final String NAME = "NAME"; + private static final String UNIQUE_ID = "UNIQUE_ID"; + private static final String PROP_NAME = "PROP_NAME"; + private static final String FIRST = "FIRST"; + private static final String SECOND = "SECOND"; + private static final String THIRD = "THIRD"; + + @Test + public void testConvertListOfProperties() { + List<PropertyDataDefinition> inputDataDefinitions = createDataDefinitions(); + List<PropertyDataDefinition> propertyDataDefinitions = PropertyDefinitionUtils + .convertListOfProperties(inputDataDefinitions); + + assertEquals(propertyDataDefinitions.size(), 1); + assertEquals(propertyDataDefinitions.get(0).getName(), NAME); + assertEquals(propertyDataDefinitions.get(0).getUniqueId(), UNIQUE_ID); + assertNotSame(inputDataDefinitions, propertyDataDefinitions); + assertEquals(inputDataDefinitions, propertyDataDefinitions); + assertNotSame(inputDataDefinitions.get(0), propertyDataDefinitions.get(0)); + assertEquals(inputDataDefinitions.get(0), propertyDataDefinitions.get(0)); + } + + @Test + public void testResolveGetInputPropertiesForEmptyMap() { + Map<String, List<PropertyDataDefinition>> inputProps = PropertyDefinitionUtils + .resolveGetInputProperties(null); + assertEquals(inputProps, emptyMap()); + } + + @Test + public void testResolveGetInputPropertiesForNotEmptyMap() { + Map<String, List<PropertyDataDefinition>> props = new HashMap<>(); + props.put(FIRST, createDataDefinitions()); + props.put(SECOND, createDataDefinitions()); + props.put(THIRD, createDataDefinitionsWithEmptyGetInputValueDefinition()); + Map<String, List<PropertyDataDefinition>> result = PropertyDefinitionUtils.resolveGetInputProperties(props); + assertEquals(result.size(), 3); + assertEquals(result.get(FIRST).size(), 1); + assertEquals(result.get(FIRST).get(0).getUniqueId(), UNIQUE_ID); + assertEquals(result.get(SECOND).size(), 1); + assertEquals(result.get(THIRD).size(), 0); + } + + private List<PropertyDataDefinition> createDataDefinitions(){ + ArrayList<PropertyDataDefinition> propertyDataDefinitions = new ArrayList<>(); + PropertyDataDefinition dataDefinition = new PropertyDataDefinition(); + dataDefinition.setUniqueId(UNIQUE_ID); + dataDefinition.setName(NAME); + List<GetInputValueDataDefinition> getInputValues = new ArrayList<>(); + GetInputValueDataDefinition getInputValueDataDefinition = new GetInputValueDataDefinition(); + getInputValueDataDefinition.setPropName(PROP_NAME); + getInputValues.add(getInputValueDataDefinition); + dataDefinition.setGetInputValues(getInputValues); + propertyDataDefinitions.add(dataDefinition); + return propertyDataDefinitions; + } + + private List<PropertyDataDefinition> createDataDefinitionsWithEmptyGetInputValueDefinition(){ + ArrayList<PropertyDataDefinition> propertyDataDefinitions = new ArrayList<>(); + PropertyDataDefinition dataDefinition = new PropertyDataDefinition(); + dataDefinition.setUniqueId(UNIQUE_ID); + dataDefinition.setName(NAME); + propertyDataDefinitions.add(dataDefinition); + return propertyDataDefinitions; + } +}
\ No newline at end of file diff --git a/common-be/src/test/java/org/openecomp/sdc/be/utils/TypeUtilsTest.java b/common-be/src/test/java/org/openecomp/sdc/be/utils/TypeUtilsTest.java new file mode 100644 index 0000000000..fc5cea4b82 --- /dev/null +++ b/common-be/src/test/java/org/openecomp/sdc/be/utils/TypeUtilsTest.java @@ -0,0 +1,57 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T 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========================================================= + * Modifications copyright (c) 2019 Nokia + * ================================================================================ + */ +package org.openecomp.sdc.be.utils; + +import java.util.HashMap; +import java.util.Map; +import java.util.function.Consumer; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum; + +@RunWith(MockitoJUnitRunner.class) +public class TypeUtilsTest { + + private static final String ANY_GROUP = "anyGroup"; + + @SuppressWarnings("unchecked") + private Consumer<String> anyConsumer = (Consumer<String>) Mockito.spy(Consumer.class); + + @Test + public void testSetFieldShouldConsumeForJSONContainingParam() { + Map<String, Object> toscaJson = new HashMap<>(); + toscaJson.put(ToscaTagNamesEnum.GROUPS.getElementName(), ANY_GROUP); + TypeUtils.setField(toscaJson, ToscaTagNamesEnum.GROUPS, anyConsumer); + Mockito.verify(anyConsumer).accept(ANY_GROUP); + } + + @Test + public void testSetFieldShouldDoNothingForJSONNotContainingParam() { + Map<String, Object> toscaJson = new HashMap<>(); + toscaJson.put(ToscaTagNamesEnum.GROUPS.getElementName(), ANY_GROUP); + TypeUtils.setField(toscaJson, ToscaTagNamesEnum.INPUTS, anyConsumer); + Mockito.verifyZeroInteractions(anyConsumer); + } + +}
\ No newline at end of file |