aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Golabek <tomasz.golabek@nokia.com>2019-05-23 14:33:40 +0200
committerYuli Shlosberg <ys9693@att.com>2019-06-02 11:18:51 +0000
commit8423794738e6411f8a4c5ef97764c20a433a67bb (patch)
treeb0ce8a99bf10bb364aba0451bd02af75110d9884
parent2e1a80db4aae6ce537f1d2588efb90ce3a2d4107 (diff)
Unit tests for sdc-be-utils
utils from common-be covered by tests Change-Id: I63cda35fc00c3c9c751302babea04ad8c3c144eb Issue-ID: SDC-2326 Signed-off-by: Tomasz Golabek <tomasz.golabek@nokia.com>
-rw-r--r--common-be/pom.xml200
-rw-r--r--common-be/src/main/java/org/openecomp/sdc/be/utils/PropertyDefinitionUtils.java19
-rw-r--r--common-be/src/main/java/org/openecomp/sdc/be/utils/TypeUtils.java21
-rw-r--r--common-be/src/test/java/org/openecomp/sdc/be/utils/CommonBeUtilsTest.java12
-rw-r--r--common-be/src/test/java/org/openecomp/sdc/be/utils/PropertyDefinitionUtilsTest.java101
-rw-r--r--common-be/src/test/java/org/openecomp/sdc/be/utils/TypeUtilsTest.java57
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