summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/utils/YamlTemplateParsingHandlerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/utils/YamlTemplateParsingHandlerTest.java')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/utils/YamlTemplateParsingHandlerTest.java200
1 files changed, 127 insertions, 73 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/utils/YamlTemplateParsingHandlerTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/utils/YamlTemplateParsingHandlerTest.java
index b63e6ffeb8..1d7a1c5eed 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/utils/YamlTemplateParsingHandlerTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/utils/YamlTemplateParsingHandlerTest.java
@@ -35,6 +35,7 @@ import org.openecomp.sdc.be.components.csar.CsarInfo;
import org.openecomp.sdc.be.components.csar.YamlTemplateParsingHandler;
import org.openecomp.sdc.be.components.impl.AnnotationBusinessLogic;
import org.openecomp.sdc.be.components.impl.GroupTypeBusinessLogic;
+import org.openecomp.sdc.be.components.impl.PolicyTypeBusinessLogic;
import org.openecomp.sdc.be.components.validation.AnnotationValidator;
import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
@@ -43,6 +44,8 @@ import org.openecomp.sdc.be.model.ComponentInstanceProperty;
import org.openecomp.sdc.be.model.GroupProperty;
import org.openecomp.sdc.be.model.GroupTypeDefinition;
import org.openecomp.sdc.be.model.ParsedToscaYamlInfo;
+import org.openecomp.sdc.be.model.PolicyDefinition;
+import org.openecomp.sdc.be.model.PolicyTypeDefinition;
import org.openecomp.sdc.be.model.UploadArtifactInfo;
import org.openecomp.sdc.be.model.UploadComponentInstanceInfo;
import org.openecomp.sdc.be.model.User;
@@ -58,6 +61,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
+import org.springframework.test.util.ReflectionTestUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertNotNull;
@@ -78,6 +82,8 @@ public class YamlTemplateParsingHandlerTest {
private JanusGraphDao janusGraphDao;
@Mock
private User user;
+ @Mock
+ private PolicyTypeBusinessLogic policyTypeBusinessLogic;
private YamlTemplateParsingHandler handler;
@@ -87,9 +93,13 @@ public class YamlTemplateParsingHandlerTest {
private final static String VFC_GROUP_TYPE = "org.openecomp.groups.VfcInstanceGroup";
private final static String HEAT_GROUP_TYPE = "org.openecomp.groups.heat.HeatStack";
private final static String ROOT_GROUP_TYPE = "tosca.groups.Root";
+ private final static String OPENECOMP_ANTILOCATE_POLICY_TYPE = "org.openecomp.policies.placement.Antilocate";
+ private final static String ROOT_POLICIES_TYPE = "tosca.policies.Root";
private final static GroupTypeDefinition VfcInstanceGroupType = buildVfcInstanceGroupType();
private final static GroupTypeDefinition heatGroupType = buildHeatStackGroupType();
private final static GroupTypeDefinition rootGroupType = buildRootGroupType();
+ private static final PolicyTypeDefinition OPENECOMP_POLICY_TYPE = buildOpenecompPolicyType();
+ private final static String OPENECOMP_POLICY_NAME = "vepdg_server_group_policy";
private final static String CAPABILITY_TYPE = "org.openecomp.capabilities.VLANAssignment";
private final static String CAPABILITY_NAME = "vlan_assignment";
private static final String CSAR_FILE_PATH = "csars/with_groups.csar";
@@ -122,8 +132,10 @@ public class YamlTemplateParsingHandlerTest {
AnnotationBusinessLogic annotationBusinessLogic = new AnnotationBusinessLogic(annotationTypeOperations,
annotationValidator);
- handler = new YamlTemplateParsingHandler(janusGraphDao, groupTypeBusinessLogic, annotationBusinessLogic);
+ handler = new YamlTemplateParsingHandler(janusGraphDao, groupTypeBusinessLogic, annotationBusinessLogic, policyTypeBusinessLogic);
+ ReflectionTestUtils.setField(handler, "policyTypeBusinessLogic", policyTypeBusinessLogic);
stubGetGroupType();
+ stubGetPolicyType();
}
@Test
@@ -148,6 +160,79 @@ public class YamlTemplateParsingHandlerTest {
validateParsedYamlWithCapability(parsedYaml);
}
+ @Test
+ public void testSetArtifacts() {
+ UploadComponentInstanceInfo nodeTemplateInfo = new UploadComponentInstanceInfo();
+ Map<String, Object> nodeTemplateJsonMap = new HashMap<>();
+ Map<String, String> nodeMap = new HashMap<>();
+ nodeMap.put("name","test_name");
+ nodeMap.put("type","test_type");
+ nodeTemplateJsonMap.put(ARTIFACTS.getElementName(), nodeMap);
+ Deencapsulation.invoke(testSubject, "setArtifacts", nodeTemplateInfo, nodeTemplateJsonMap);
+ assertNotNull(nodeTemplateInfo.getArtifacts());
+ }
+
+ @Test
+ public void testCreateArtifactsModuleFromYaml() {
+ Map<String, Map<String, Map<String, String>>> nodeTemplateJsonMap = new HashMap<>();
+ Map<String, Map<String,String>> map0 = new HashMap<>();
+ Map<String, String> map1 = new HashMap<>();
+ map1.put("file", "test_file");
+ map1.put("type", "test_type");
+ map0.put("test_art", map1);
+ nodeTemplateJsonMap.put(ARTIFACTS.getElementName(), map0);
+ Map<String, Map<String, UploadArtifactInfo>> result;
+ result = Deencapsulation.invoke(testSubject, "createArtifactsModuleFromYaml", nodeTemplateJsonMap);
+ Assert.assertTrue(MapUtils.isNotEmpty(result));
+ Assert.assertTrue(MapUtils.isNotEmpty(result.get(ARTIFACTS.getElementName())));
+ Assert.assertEquals("test_file", result.get(ARTIFACTS.getElementName()).get("test_art").getFile());
+ Assert.assertEquals("test_type", result.get(ARTIFACTS.getElementName()).get("test_art").getType());
+ }
+
+ @Test
+ public void testAddModuleNodeTemplateArtifacts() {
+ Map<String, Map<String, UploadArtifactInfo>> result = new HashMap<>();
+ Map<String, String> map1 = new HashMap<>();
+ map1.put("file", "test_file");
+ map1.put("type", "test_type");
+ Deencapsulation.invoke(testSubject, "addModuleNodeTemplateArtifacts", result, map1, "test_art");
+ Assert.assertTrue(MapUtils.isNotEmpty(result));
+ Assert.assertTrue(MapUtils.isNotEmpty(result.get(ARTIFACTS.getElementName())));
+ Assert.assertEquals("test_file", result.get(ARTIFACTS.getElementName()).get("test_art").getFile());
+ Assert.assertEquals("test_type", result.get(ARTIFACTS.getElementName()).get("test_art").getType());
+ }
+
+ @Test
+ public void testBuildModuleNodeTemplateArtifact() {
+ Map<String, String> map1 = new HashMap<>();
+ map1.put("file", "test_file");
+ map1.put("type", "test_type");
+ UploadArtifactInfo result;
+ result = Deencapsulation.invoke(testSubject, "buildModuleNodeTemplateArtifact", map1);
+ assertNotNull(result);
+ Assert.assertEquals("test_file", result.getFile());
+ Assert.assertEquals("test_type", result.getType());
+ }
+
+ @Test
+ public void testFillArtifact() {
+ Map<String, String> map1 = new HashMap<>();
+ map1.put("file", "test_file");
+ map1.put("type", "test_type");
+ UploadArtifactInfo result = new UploadArtifactInfo();
+ Deencapsulation.invoke(testSubject, "fillArtifact", result, map1);
+ assertNotNull(result);
+ Assert.assertEquals("test_file", result.getFile());
+ Assert.assertEquals("test_type", result.getType());
+ }
+
+ @Test
+ public void parseResourceWithPoliciesDefined() {
+ ParsedToscaYamlInfo parsedYaml = handler.parseResourceInfoFromYAML(FILE_NAME, resourceYml, new HashMap<>(),
+ new HashMap<>(), "");
+ validateParsedYamlWithPolicies(parsedYaml);
+ }
+
private void validateParsedYaml(ParsedToscaYamlInfo parsedYaml, String group, List<String> expectedProp) {
assertThat(parsedYaml).isNotNull();
assertThat(parsedYaml.getGroups()).isNotNull().containsKey(group);
@@ -155,15 +240,15 @@ public class YamlTemplateParsingHandlerTest {
assertThat(parsedYaml.getGroups().get(group).getProperties()).isNotNull();
assertThat(parsedYaml.getGroups().get(group).getProperties()
- .stream()
- .map(PropertyDataDefinition::getName)
- .collect(Collectors.toList()))
+ .stream()
+ .map(PropertyDataDefinition::getName)
+ .collect(Collectors.toList()))
.containsAll(expectedProp);
assertThat(parsedYaml.getGroups().get(group).getMembers()).isNotNull();
}
- private void validateParsedYamlWithCapability(ParsedToscaYamlInfo parsedYaml) {
+ private void validateParsedYamlWithCapability(ParsedToscaYamlInfo parsedYaml) {
final List<String> expectedProp = Lists.newArrayList("vfc_parent_port_role",
"network_collection_function", "vfc_instance_group_function", "subinterface_role");
@@ -171,23 +256,23 @@ public class YamlTemplateParsingHandlerTest {
validateParsedYaml(parsedYaml, MAIN_GROUP_NAME, expectedProp);
assertThat(parsedYaml.getGroups().get(MAIN_GROUP_NAME).getCapabilities()
- .get(CAPABILITY_TYPE)
- .get(0).getProperties().get(0).getValue()).isEqualTo("success");
+ .get(CAPABILITY_TYPE)
+ .get(0).getProperties().get(0).getValue()).isEqualTo("success");
assertThat(parsedYaml.getGroups().get(MAIN_GROUP_NAME).getCapabilities()).isNotNull();
- }
+ }
- private void stubGetGroupType() {
- when(groupTypeBusinessLogic.getLatestGroupTypeByType(eq(VFC_GROUP_TYPE))).thenReturn(VfcInstanceGroupType);
- when(groupTypeBusinessLogic.getLatestGroupTypeByType(eq(HEAT_GROUP_TYPE))).thenReturn(heatGroupType);
+ private void stubGetGroupType() {
+ when(groupTypeBusinessLogic.getLatestGroupTypeByType(eq(VFC_GROUP_TYPE))).thenReturn(VfcInstanceGroupType);
+ when(groupTypeBusinessLogic.getLatestGroupTypeByType(eq(HEAT_GROUP_TYPE))).thenReturn(heatGroupType);
when(groupTypeBusinessLogic.getLatestGroupTypeByType(eq(ROOT_GROUP_TYPE))).thenReturn(rootGroupType);
}
private static GroupTypeDefinition buildRootGroupType() {
return createGroupTypeDefinition(ROOT_GROUP_TYPE, null,
"The TOSCA Group Type all other TOSCA Group Types derive from");
- }
+ }
- private static GroupTypeDefinition buildHeatStackGroupType() {
+ private static GroupTypeDefinition buildHeatStackGroupType() {
GroupTypeDefinition groupType = createGroupTypeDefinition(HEAT_GROUP_TYPE, "tosca.groups.Root",
"Grouped all heat resources which are in the same heat stack");
@@ -199,9 +284,9 @@ public class YamlTemplateParsingHandlerTest {
groupType.setProperties(Lists.newArrayList(property1, property2));
return groupType;
- }
+ }
- private static GroupTypeDefinition buildVfcInstanceGroupType() {
+ private static GroupTypeDefinition buildVfcInstanceGroupType() {
GroupTypeDefinition groupType = createGroupTypeDefinition(VFC_GROUP_TYPE, "tosca.groups.Root",
"Groups of VFCs with same parent port role");
@@ -250,7 +335,7 @@ public class YamlTemplateParsingHandlerTest {
return property;
}
private static GroupProperty createGroupProperty(String name, String description,
- String status){
+ String status){
GroupProperty property = new GroupProperty();
if (name != null)
property.setName(name);
@@ -268,69 +353,38 @@ public class YamlTemplateParsingHandlerTest {
return property;
}
- @Test
- public void testSetArtifacts() {
- UploadComponentInstanceInfo nodeTemplateInfo = new UploadComponentInstanceInfo();
- Map<String, Object> nodeTemplateJsonMap = new HashMap<>();
- Map<String, String> nodeMap = new HashMap<>();
- nodeMap.put("name","test_name");
- nodeMap.put("type","test_type");
- nodeTemplateJsonMap.put(ARTIFACTS.getElementName(), nodeMap);
- Deencapsulation.invoke(testSubject, "setArtifacts", nodeTemplateInfo, nodeTemplateJsonMap);
- assertNotNull(nodeTemplateInfo.getArtifacts());
- }
- @Test
- public void testCreateArtifactsModuleFromYaml() {
- Map<String, Map<String, Map<String, String>>> nodeTemplateJsonMap = new HashMap<>();
- Map<String, Map<String,String>> map0 = new HashMap<>();
- Map<String, String> map1 = new HashMap<>();
- map1.put("file", "test_file");
- map1.put("type", "test_type");
- map0.put("test_art", map1);
- nodeTemplateJsonMap.put(ARTIFACTS.getElementName(), map0);
- Map<String, Map<String, UploadArtifactInfo>> result;
- result = Deencapsulation.invoke(testSubject, "createArtifactsModuleFromYaml", nodeTemplateJsonMap);
- Assert.assertTrue(MapUtils.isNotEmpty(result));
- Assert.assertTrue(MapUtils.isNotEmpty(result.get(ARTIFACTS.getElementName())));
- Assert.assertEquals("test_file", result.get(ARTIFACTS.getElementName()).get("test_art").getFile());
- Assert.assertEquals("test_type", result.get(ARTIFACTS.getElementName()).get("test_art").getType());
+ private void validateParsedYamlWithPolicies(ParsedToscaYamlInfo parsedYaml) {
+ // validate policies
+ assertThat(parsedYaml.getPolicies()).isNotNull();
+ assertThat(parsedYaml.getPolicies()).containsKey(OPENECOMP_POLICY_NAME);
+ assertThat(parsedYaml.getPolicies().get(OPENECOMP_POLICY_NAME)).isInstanceOf(PolicyDefinition.class);
}
- @Test
- public void testAddModuleNodeTemplateArtifacts() {
- Map<String, Map<String, UploadArtifactInfo>> result = new HashMap<>();
- Map<String, String> map1 = new HashMap<>();
- map1.put("file", "test_file");
- map1.put("type", "test_type");
- Deencapsulation.invoke(testSubject, "addModuleNodeTemplateArtifacts", result, map1, "test_art");
- Assert.assertTrue(MapUtils.isNotEmpty(result));
- Assert.assertTrue(MapUtils.isNotEmpty(result.get(ARTIFACTS.getElementName())));
- Assert.assertEquals("test_file", result.get(ARTIFACTS.getElementName()).get("test_art").getFile());
- Assert.assertEquals("test_type", result.get(ARTIFACTS.getElementName()).get("test_art").getType());
+ private void stubGetPolicyType () {
+ when(policyTypeBusinessLogic.getLatestPolicyTypeByType(eq(OPENECOMP_ANTILOCATE_POLICY_TYPE))).thenReturn(
+ OPENECOMP_POLICY_TYPE);
}
- @Test
- public void testBuildModuleNodeTemplateArtifact() {
- Map<String, String> map1 = new HashMap<>();
- map1.put("file", "test_file");
- map1.put("type", "test_type");
- UploadArtifactInfo result;
- result = Deencapsulation.invoke(testSubject, "buildModuleNodeTemplateArtifact", map1);
- assertNotNull(result);
- Assert.assertEquals("test_file", result.getFile());
- Assert.assertEquals("test_type", result.getType());
+ private static PolicyTypeDefinition buildOpenecompPolicyType() {
+ return createPolicyTypeDefinition(OPENECOMP_POLICY_NAME, OPENECOMP_ANTILOCATE_POLICY_TYPE, ROOT_POLICIES_TYPE,
+ "The Openecomp Antilocate policy");
}
- @Test
- public void testFillArtifact() {
- Map<String, String> map1 = new HashMap<>();
- map1.put("file", "test_file");
- map1.put("type", "test_type");
- UploadArtifactInfo result = new UploadArtifactInfo();
- Deencapsulation.invoke(testSubject, "fillArtifact", result, map1);
- assertNotNull(result);
- Assert.assertEquals("test_file", result.getFile());
- Assert.assertEquals("test_type", result.getType());
+ private static PolicyTypeDefinition createPolicyTypeDefinition(String policyName, String policyType, String derivedFrom, String description) {
+ PolicyTypeDefinition policyTypeDefinition = new PolicyTypeDefinition();
+ if (policyName != null && !policyName.isEmpty()) {
+ policyTypeDefinition.setName(policyName);
+ }
+ if (policyType != null) {
+ policyTypeDefinition.setType(policyType);
+ }
+ if (derivedFrom != null) {
+ policyTypeDefinition.setDerivedFrom(derivedFrom);
+ }
+ if (description != null) {
+ policyTypeDefinition.setDescription(description);
+ }
+ return policyTypeDefinition;
}
}