aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-tosca-converter-lib
diff options
context:
space:
mode:
authorvempo <vitaliy.emporopulo@amdocs.com>2017-10-22 18:07:39 +0300
committervempo <vitaliy.emporopulo@amdocs.com>2017-10-22 18:07:39 +0300
commit30e46525c1406fb3b10603606c4efcc033ee58c4 (patch)
tree9b05b6d93dd59110ebe9ab1d95f260ad549af0a6 /openecomp-be/lib/openecomp-tosca-converter-lib
parent6ebd9c581142c2ca033c7bfba73b69ab6b378fee (diff)
Fix occurences not deserialized properly
add json deserializer for RequirementDefinition Issue-Id : SDC-474 Change-Id: I734a671b02a319fc3e90239bb8b0202c898fe473 Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-tosca-converter-lib')
-rw-r--r--openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/ToscaConverterImplTest.java80
1 files changed, 74 insertions, 6 deletions
diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/ToscaConverterImplTest.java b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/ToscaConverterImplTest.java
index 4abed3e316..f29ca4a427 100644
--- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/ToscaConverterImplTest.java
+++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/src/test/java/org/openecomp/core/converter/impl/ToscaConverterImplTest.java
@@ -1,26 +1,30 @@
package org.openecomp.core.converter.impl;
import org.apache.commons.collections.CollectionUtils;
+import org.junit.Assert;
import org.junit.Test;
import org.openecomp.core.converter.ToscaConverter;
import org.openecomp.core.impl.ToscaConverterImpl;
import org.openecomp.core.utilities.file.FileContentHandler;
import org.openecomp.core.utilities.file.FileUtils;
+import org.openecomp.core.utilities.json.JsonUtil;
import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
+import org.openecomp.sdc.tosca.datatypes.model.NodeType;
import org.openecomp.sdc.tosca.datatypes.model.RequirementAssignment;
+import org.openecomp.sdc.tosca.datatypes.model.RequirementDefinition;
import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
import org.openecomp.sdc.tosca.services.ToscaExtensionYamlUtil;
import org.openecomp.sdc.tosca.services.YamlUtil;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.NotDirectoryException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.ListIterator;
@@ -33,7 +37,10 @@ import static org.openecomp.core.converter.datatypes.Constants.mainStName;
public class ToscaConverterImplTest {
- private static ToscaConverter toscaConverter = new ToscaConverterImpl();
+ private static final ToscaConverter toscaConverter = new ToscaConverterImpl();
+ private static final String VIRTUAL_LINK = "virtualLink";
+ private static final String UNBOUNDED = "UNBOUNDED";
+
private static String inputFilesPath;
private static String outputFilesPath;
private static Map<String, ServiceTemplate> expectedOutserviceTemplates;
@@ -57,7 +64,72 @@ public class ToscaConverterImplTest {
checkSTResults(expectedOutserviceTemplates, null, mainSt);
}
+ @Test
+ public void testOccurrencesUpperString() {
+ Object[] occurrences = buildOccurrences("0", UNBOUNDED);
+ Assert.assertEquals(occurrences[0], 0);
+ Assert.assertEquals(occurrences[1], UNBOUNDED);
+ }
+
+ @Test
+ public void testOccurrencesAsInts() {
+ Object[] occurrences = buildOccurrences("0", "1");
+ Assert.assertEquals(occurrences[0], 0);
+ Assert.assertEquals(occurrences[1], 1);
+ }
+
+ @Test
+ public void testOccurrencesAsStrings() {
+ String test = "TEST_A";
+ Object[] occurrences = buildOccurrences(UNBOUNDED, test);
+ Assert.assertEquals(occurrences[0], UNBOUNDED);
+ Assert.assertEquals(occurrences[1], test);
+ }
+
+ @Test
+ public void testOccurrencesLowerString() {
+ Object[] occurrences = buildOccurrences(UNBOUNDED, "100");
+ Assert.assertEquals(occurrences[0], UNBOUNDED);
+ Assert.assertEquals(occurrences[1], 100);
+ }
+
+ @Test
+ public void testOccurrencesEmpty() {
+ Object[] occurrences = buildOccurrences();
+ Assert.assertEquals(occurrences.length, 0);
+ }
+
+ @Test
+ public void testOccurrencesMany() {
+ String test = "TEST_B";
+ Object[] occurrences = buildOccurrences("1", "2", test);
+ Assert.assertEquals(occurrences[0], 1);
+ Assert.assertEquals(occurrences[1], 2);
+ Assert.assertEquals(occurrences[2], test);
+ }
+
+ @Test
+ public void testDefaultOccurrences() {
+ Object[] occurrences = buildOccurrences((List<String>) null);
+ Assert.assertEquals(1, occurrences[0]);
+ Assert.assertEquals(1, occurrences[1]);
+ }
+
+ private Object[] buildOccurrences(String... bounds) {
+ return buildOccurrences(Arrays.asList(bounds));
+ }
+ private Object[] buildOccurrences(List<String> bounds) {
+ NodeType nodeType = JsonUtil.json2Object("{derived_from=tosca.nodes.Root, description=MME_VFC, " +
+ "properties={vendor={type=string, default=ERICSSON}, " +
+ "csarVersion={type=string, default=v1.0}, csarProvider={type=string, default=ERICSSON}, " +
+ "id={type=string, default=vMME}, version={type=string, default=v1.0}, csarType={type=string, default=NFAR}}, " +
+ "requirements=[{virtualLink={" +
+ (bounds == null ? "" : "occurrences=[" + String.join(", ", bounds) + "], ") +
+ "capability=tosca.capabilities.network.Linkable}}]}", NodeType.class);
+ List<Map<String, RequirementDefinition>> requirements = nodeType.getRequirements();
+ return requirements.get(0).get(VIRTUAL_LINK).getOccurrences();
+ }
private FileContentHandler createFileContentHandlerFromInput(String inputFilesPath)
throws IOException {
@@ -141,10 +213,6 @@ public class ToscaConverterImplTest {
yamlFile.close();
} catch (IOException ignore) {
}
- } catch (FileNotFoundException e) {
- throw e;
- } catch (IOException e) {
- throw e;
}
}
}