diff options
Diffstat (limited to 'catalog-be/src/test')
3 files changed, 72 insertions, 144 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/CsarUtilsTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/CsarUtilsTest.java index 07cf727a9e..4aa967be47 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/CsarUtilsTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/CsarUtilsTest.java @@ -235,8 +235,7 @@ public class CsarUtilsTest extends BeConfDependentTest { ByteBuffer bufferData = ByteBuffer.wrap(data); artifactData.setData(bufferData); - ToscaRepresentation tosca = new ToscaRepresentation(); - tosca.setMainYaml("value"); + ToscaRepresentation tosca = ToscaRepresentation.make("value".getBytes()); Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData)); @@ -322,8 +321,7 @@ public class CsarUtilsTest extends BeConfDependentTest { dependencies.add(triple); toscaTemplate.setDependencies(dependencies); - ToscaRepresentation tosca = new ToscaRepresentation(); - tosca.setMainYaml("value"); + ToscaRepresentation tosca = ToscaRepresentation.make("value".getBytes()); Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData)); @@ -438,8 +436,7 @@ public class CsarUtilsTest extends BeConfDependentTest { dependencies.add(triple); toscaTemplate.setDependencies(dependencies); - ToscaRepresentation tosca = new ToscaRepresentation(); - tosca.setMainYaml(new String(contentData, StandardCharsets.UTF_8)); + ToscaRepresentation tosca = ToscaRepresentation.make(contentData); Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData)); @@ -489,8 +486,7 @@ public class CsarUtilsTest extends BeConfDependentTest { dependencies.add(triple); toscaTemplate.setDependencies(dependencies); - ToscaRepresentation tosca = new ToscaRepresentation(); - tosca.setMainYaml(new String(contentData, StandardCharsets.UTF_8)); + ToscaRepresentation tosca = ToscaRepresentation.make(contentData); Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData)); @@ -579,8 +575,7 @@ public class CsarUtilsTest extends BeConfDependentTest { @Test public void testWriteComponentInterface() throws IOException { String fileName = "name.hello"; - ToscaRepresentation tosca = new ToscaRepresentation(); - tosca.setMainYaml("value"); + ToscaRepresentation tosca = ToscaRepresentation.make("value".getBytes()); Mockito.when(toscaExportUtils.exportComponentInterface(Mockito.any(Component.class), Mockito.any(Boolean.class))) .thenReturn(Either.left(tosca)); diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/ToscaRepresentationTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/ToscaRepresentationTest.java deleted file mode 100644 index 3da170883b..0000000000 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/ToscaRepresentationTest.java +++ /dev/null @@ -1,79 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2019 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.tosca; - -import org.apache.commons.lang3.tuple.Triple; -import org.junit.Test; -import org.openecomp.sdc.be.model.Component; - -import java.util.List; - - -public class ToscaRepresentationTest { - - private ToscaRepresentation createTestSubject() { - return new ToscaRepresentation(); - } - - - @Test - public void testGetMainYaml() throws Exception { - ToscaRepresentation testSubject; - String result; - - // default test - testSubject = createTestSubject(); - result = testSubject.getMainYaml(); - } - - - @Test - public void testSetMainYaml() throws Exception { - ToscaRepresentation testSubject; - String mainYaml = ""; - - // default test - testSubject = createTestSubject(); - testSubject.setMainYaml(mainYaml); - } - - - @Test - public void testGetDependencies() throws Exception { - ToscaRepresentation testSubject; - List<Triple<String, String, Component>> result; - - // default test - testSubject = createTestSubject(); - result = testSubject.getDependencies(); - } - - - @Test - public void testSetDependencies() throws Exception { - ToscaRepresentation testSubject; - List<Triple<String, String, Component>> dependencies = null; - - // default test - testSubject = createTestSubject(); - testSubject.setDependencies(dependencies); - } -} diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/InterfacesOperationsConverterTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/InterfacesOperationsConverterTest.java index 07ad8d5db9..93a45ad20f 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/InterfacesOperationsConverterTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/utils/InterfacesOperationsConverterTest.java @@ -16,9 +16,20 @@ package org.openecomp.sdc.be.tosca.utils; +import static org.mockito.Mockito.mock; +import static org.openecomp.sdc.be.tosca.InterfacesOperationsConverter.SELF; +import static org.openecomp.sdc.be.tosca.InterfacesOperationsConverter.addInterfaceTypeElement; + import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; import org.apache.commons.collections4.MapUtils; import org.junit.Assert; import org.junit.Before; @@ -41,7 +52,6 @@ import org.openecomp.sdc.be.model.InterfaceDefinition; import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.Service; import org.openecomp.sdc.be.model.ServiceMetadataDefinition; -import org.openecomp.sdc.tosca.datatypes.ToscaFunctions; import org.openecomp.sdc.be.tosca.InterfacesOperationsConverter; import org.openecomp.sdc.be.tosca.PropertyConvertor; import org.openecomp.sdc.be.tosca.ToscaExportHandler; @@ -49,17 +59,8 @@ import org.openecomp.sdc.be.tosca.ToscaRepresentation; import org.openecomp.sdc.be.tosca.model.ToscaNodeType; import org.openecomp.sdc.be.tosca.model.ToscaTemplate; import org.openecomp.sdc.common.util.YamlToObjectConverter; +import org.openecomp.sdc.tosca.datatypes.ToscaFunctions; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -import static org.mockito.Mockito.mock; -import static org.openecomp.sdc.be.tosca.InterfacesOperationsConverter.SELF; -import static org.openecomp.sdc.be.tosca.InterfacesOperationsConverter.addInterfaceTypeElement; @RunWith(MockitoJUnitRunner.class) public class InterfacesOperationsConverterTest { @@ -109,8 +110,10 @@ public class InterfacesOperationsConverterTest { template.setInterface_types(interfaceTypeElement); final ToscaRepresentation toscaRepresentation = handler.createToscaRepresentation(template); - Assert.assertFalse(toscaRepresentation.getMainYaml().contains("operations")); - Assert.assertTrue(toscaRepresentation.getMainYaml().contains("NodeTypeName")); + Assert.assertTrue(all( + containsAll("NodeTypeName"), + containsNone("operations") + ).apply(new String(toscaRepresentation.getMainYaml()))); } @Test @@ -135,8 +138,10 @@ public class InterfacesOperationsConverterTest { template.setInterface_types(interfaceTypeElement); final ToscaRepresentation toscaRepresentation = handler.createToscaRepresentation(template); - Assert.assertFalse(toscaRepresentation.getMainYaml().contains("operations")); - Assert.assertTrue(toscaRepresentation.getMainYaml().contains("NodeTypeName")); + Assert.assertTrue(all( + containsAll("NodeTypeName"), + containsNone("operations") + ).apply(new String(toscaRepresentation.getMainYaml()))); } @Test @@ -161,15 +166,13 @@ public class InterfacesOperationsConverterTest { template.setNode_types(nodeTypes); final ToscaRepresentation toscaRepresentation = handler.createToscaRepresentation(template); - String mainYaml = toscaRepresentation.getMainYaml(); - Assert.assertFalse(mainYaml.contains("operations")); - Assert.assertTrue(mainYaml.contains("resourceName:")); - Assert.assertTrue(mainYaml.contains("inputs:")); + String mainYaml = new String(toscaRepresentation.getMainYaml()); + Assert.assertTrue(all( + containsAll("resourceName:", "inputs:", "has description", MAPPED_PROPERTY_NAME, "com.some.resource.or.other.resourceName"), + containsNone("operations", "defaultp") + ).apply(mainYaml)); + validateOperationInputs(mainYaml, 2, null); - Assert.assertFalse(mainYaml.contains("defaultp")); - Assert.assertTrue(mainYaml.contains("has description")); - Assert.assertTrue(mainYaml.contains(MAPPED_PROPERTY_NAME)); - Assert.assertTrue(mainYaml.contains("com.some.resource.or.other.resourceName")); } @Test @@ -192,15 +195,12 @@ public class InterfacesOperationsConverterTest { nodeTypes.put(NODE_TYPE_NAME, nodeType); template.setNode_types(nodeTypes); final ToscaRepresentation toscaRepresentation = handler.createToscaRepresentation(template); - String mainYaml = toscaRepresentation.getMainYaml(); - Assert.assertFalse(mainYaml.contains("operations")); - Assert.assertTrue(mainYaml.contains("serviceName:")); - Assert.assertTrue(mainYaml.contains("inputs:")); + String mainYaml = new String(toscaRepresentation.getMainYaml()); + Assert.assertTrue(all( + containsAll("serviceName", "inputs:", "has description", MAPPED_PROPERTY_NAME, "com.some.service.or.other.serviceName"), + containsNone("operations", "defaultp") + ).apply(mainYaml)); validateOperationInputs(mainYaml, 2, null); - Assert.assertFalse(mainYaml.contains("defaultp")); - Assert.assertTrue(mainYaml.contains("has description")); - Assert.assertTrue(mainYaml.contains(MAPPED_PROPERTY_NAME)); - Assert.assertTrue(mainYaml.contains("com.some.service.or.other.serviceName")); } @@ -226,15 +226,12 @@ public class InterfacesOperationsConverterTest { template.setNode_types(nodeTypes); final ToscaRepresentation toscaRepresentation = handler.createToscaRepresentation(template); - String mainYaml = toscaRepresentation.getMainYaml(); - Assert.assertFalse(mainYaml.contains("operations")); - Assert.assertTrue(mainYaml.contains("resourceName:")); - Assert.assertTrue(mainYaml.contains("inputs:")); + String mainYaml = new String(toscaRepresentation.getMainYaml()); + Assert.assertTrue(all( + containsAll("resourceName:", "inputs:", "has description", MAPPED_PROPERTY_NAME, "com.some.resource.or.other.resourceName"), + containsNone("operations", "defaultp") + ).apply(mainYaml)); validateServiceProxyOperationInputs(mainYaml); - Assert.assertFalse(mainYaml.contains("defaultp")); - Assert.assertTrue(mainYaml.contains("has description")); - Assert.assertTrue(mainYaml.contains(MAPPED_PROPERTY_NAME)); - Assert.assertTrue(mainYaml.contains("com.some.resource.or.other.resourceName")); } @Test @@ -258,12 +255,10 @@ public class InterfacesOperationsConverterTest { template.setNode_types(nodeTypes); final ToscaRepresentation toscaRepresentation = handler.createToscaRepresentation(template); - Assert.assertFalse(toscaRepresentation.getMainYaml().contains("operations")); - Assert.assertFalse(toscaRepresentation.getMainYaml().contains(INPUT_NAME_PREFIX)); - Assert.assertFalse(toscaRepresentation.getMainYaml().contains("defaultp")); - Assert.assertTrue(toscaRepresentation.getMainYaml().contains("resourceNameNoInputs:")); - Assert.assertTrue(toscaRepresentation.getMainYaml().contains("has description")); - Assert.assertTrue(toscaRepresentation.getMainYaml().contains("com.some.resource.or.other.resourceName")); + Assert.assertTrue(all( + containsAll("resourceNameNoInputs", "has description", "com.some.resource.or.other.resourceName"), + containsNone("operations", INPUT_NAME_PREFIX, "defaultp") + ).apply(new String(toscaRepresentation.getMainYaml()))); } @Test @@ -293,10 +288,11 @@ public class InterfacesOperationsConverterTest { nodeTypes.put("test", nodeType); template.setNode_types(nodeTypes); final ToscaRepresentation toscaRepresentation = handler.createToscaRepresentation(template); - String mainYaml = toscaRepresentation.getMainYaml(); - Assert.assertFalse(mainYaml.contains("operations")); - Assert.assertTrue(mainYaml.contains("resourceNameInputMappedToOutput:")); - Assert.assertTrue(mainYaml.contains("inputs:")); + String mainYaml = new String(toscaRepresentation.getMainYaml()); + Assert.assertTrue(all( + containsAll("resourceNameInputMappedToOutput:", "inputs:"), + containsNone("operations") + ).apply(mainYaml)); validateOperationInputs(mainYaml, 2, "name_for_op_1"); } @@ -342,13 +338,29 @@ public class InterfacesOperationsConverterTest { template.setNode_types(nodeTypes); final ToscaRepresentation toscaRepresentation = handler.createToscaRepresentation(template); - String mainYaml = toscaRepresentation.getMainYaml(); - Assert.assertFalse(mainYaml.contains("operations")); - Assert.assertTrue(mainYaml.contains("resourceNameInputMappedToOutput:")); - Assert.assertTrue(mainYaml.contains("inputs:")); + String mainYaml = new String(toscaRepresentation.getMainYaml()); + Assert.assertTrue(all( + containsAll("resourceNameInputMappedToOutput:", "inputs:"), + containsNone("operations") + ).apply(mainYaml)); validateOperationInputs(mainYaml, 2, "name_for_op_1"); } + @FunctionalInterface + interface MainYamlAssertion extends Function<String, Boolean> {} + + private static Function<String, Boolean> all(MainYamlAssertion...fs) { + return s -> io.vavr.collection.List.of(fs).map(f -> f.apply(s)).fold(true, (l, r) -> l && r); + } + + private static MainYamlAssertion containsNone(String...expected) { + return s -> io.vavr.collection.List.of(expected).map(e -> !s.contains(e)).fold(true, (l, r) -> l && r); + } + + private static MainYamlAssertion containsAll(String...expected) { + return s -> io.vavr.collection.List.of(expected).map(s::contains).fold(true, (l, r) -> l && r); + } + private void addOperationsToInterface(Component component, InterfaceDefinition addedInterface, int numOfOps, int numOfInputsPerOp, boolean hasInputs, boolean hasOutputs) { @@ -426,17 +438,17 @@ public class InterfacesOperationsConverterTest { operationInputDefinition.setName(outputName); operationInputDefinition.setType(inputTypes[index]); operationInputDefinition.setRequired(index % 2 == 0); - Map<String, List<String>> toscaDefaultValueMap = new HashMap<>(); List<String> toscaDefaultValues = new ArrayList<>(); toscaDefaultValues.add(SELF); toscaDefaultValues.add(interfaceName); toscaDefaultValues.add(operationName); toscaDefaultValues.add(outputName); + Map<String, List<String>> toscaDefaultValueMap = new HashMap<>(); toscaDefaultValueMap.put(ToscaFunctions.GET_OPERATION_OUTPUT.getFunctionName(), toscaDefaultValues); return operationInputDefinition; } - private void validateOperationInputs(String mainYaml, int numOfInputsPerOp, String mappedOperationName) { + private void validateOperationInputs(final String mainYaml, int numOfInputsPerOp, String mappedOperationName) { String nodeTypeKey = NODE_TYPE_NAME + ":"; String nodeTypesRepresentation = mainYaml.substring(mainYaml.indexOf(nodeTypeKey) + nodeTypeKey.length(), mainYaml.lastIndexOf(MAPPED_PROPERTY_NAME) + MAPPED_PROPERTY_NAME.length() |