Milestone updates
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / tosca / InterfacesOperationsConverterTest.java
index 974d321..5afd520 100644 (file)
@@ -44,6 +44,7 @@ import org.junit.jupiter.api.Test;
 import org.openecomp.sdc.be.DummyConfigurationManager;
 import org.openecomp.sdc.be.datatypes.elements.ActivityDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.ArtifactDataDefinition;
+import org.openecomp.sdc.be.datatypes.elements.FilterDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.InputDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.ListDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.MilestoneDataDefinition;
@@ -53,9 +54,13 @@ import org.openecomp.sdc.be.datatypes.elements.OperationOutputDefinition;
 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
 import org.openecomp.sdc.be.datatypes.elements.SchemaDefinition;
 import org.openecomp.sdc.be.datatypes.elements.ToscaFunctionType;
+import org.openecomp.sdc.be.datatypes.elements.ToscaGetFunctionDataDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ActivityTypeEnum;
+import org.openecomp.sdc.be.datatypes.enums.ConstraintType;
 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
 import org.openecomp.sdc.be.datatypes.enums.MilestoneTypeEnum;
+import org.openecomp.sdc.be.datatypes.enums.PropertySource;
+import org.openecomp.sdc.be.datatypes.tosca.ToscaGetFunctionType;
 import org.openecomp.sdc.be.model.Component;
 import org.openecomp.sdc.be.model.DataTypeDefinition;
 import org.openecomp.sdc.be.model.InputDefinition;
@@ -443,6 +448,25 @@ class InterfacesOperationsConverterTest {
         activities.add(activity);
         MilestoneDataDefinition milestone = new MilestoneDataDefinition();
         milestone.setActivities(activities);
+        FilterDataDefinition filter1 = new FilterDataDefinition();
+        filter1.setName("my_attribute");
+        filter1.setConstraint("equal");
+        filter1.setFilterValue("my_value");
+        FilterDataDefinition filter2 = new FilterDataDefinition();
+        ToscaGetFunctionDataDefinition toscaFunction = new ToscaGetFunctionDataDefinition();
+        toscaFunction.setFunctionType(ToscaGetFunctionType.GET_ATTRIBUTE);
+        toscaFunction.setPropertyName("role");
+        toscaFunction.setPropertySource(PropertySource.SELF);
+        toscaFunction.setSourceName("myVfc");
+        toscaFunction.setPropertyPathFromSource(Arrays.asList("role"));
+        filter2.setToscaFunction(toscaFunction);
+        filter2.setName("my_other_attribute");
+        filter2.setConstraint("equal");
+        filter2.setFilterValue("{'get_attribute':['SELF','role']}");
+        ListDataDefinition<FilterDataDefinition> filters = new ListDataDefinition<>();
+        filters.add(filter1);
+        filters.add(filter2);
+        milestone.setFilters(filters);
         toscaMilestones.put(MilestoneTypeEnum.ON_ENTRY.getValue(), milestone);
         return toscaMilestones;
     }
@@ -637,10 +661,8 @@ class InterfacesOperationsConverterTest {
         Map<String, Object> resource = (Map<String, Object>) resourceName;
         assertTrue(resource.containsKey("name_for_op_0"));
         Map<String, Object> operation0 = (Map<String, Object>) resource.get("name_for_op_0");
-        assertTrue(operation0.containsKey("milestones"));
-        Map<String, Object> operation0Milestones = (Map<String, Object>) operation0.get("milestones");
-        assertTrue(operation0Milestones.containsKey(MilestoneTypeEnum.ON_ENTRY.getValue()));
-        Map<String, Object> milestone = (Map<String, Object>) operation0Milestones.get(MilestoneTypeEnum.ON_ENTRY.getValue());
+        assertTrue(operation0.containsKey(MilestoneTypeEnum.ON_ENTRY.getValue()));
+        Map<String, Object> milestone = (Map<String, Object>) operation0.get(MilestoneTypeEnum.ON_ENTRY.getValue());
         assertTrue(milestone.containsKey("activities"));
         List<Map<String, Object>> activities = (List<Map<String, Object>>) milestone.get("activities");
         assertEquals(1, activities.size());
@@ -652,7 +674,7 @@ class InterfacesOperationsConverterTest {
         assertEquals("workflow1", activityVariables.get("workflow"));
         assertTrue(activityVariables.containsKey("inputs"));
         assertTrue(activityVariables.get("inputs") instanceof Map);
-        Map<String, Object> inputs =  (Map<String, Object>) activityVariables.get("inputs");
+        Map<String, Object> inputs = (Map<String, Object>) activityVariables.get("inputs");
         assertNotNull(inputs);
         assertTrue(inputs.containsKey("stringName"));
         assertTrue(inputs.get("stringName") instanceof String);
@@ -672,6 +694,25 @@ class InterfacesOperationsConverterTest {
         assertTrue(complexInputStringProp.containsKey("propertySource"));
         assertEquals("SELF", complexInputStringProp.get("propertySource"));
 
+        assertTrue(milestone.containsKey("filters"));
+        List<Map<String, Object>> filters = (List<Map<String, Object>>) milestone.get("filters");
+        assertEquals(2, filters.size());
+        Map<String, Object> filter1 = filters.get(0);
+        assertTrue(filter1.containsKey("my_attribute"));
+        Map<String, Object> filter1Constraint = (Map<String, Object>) filter1.get("my_attribute");
+        assertTrue(filter1Constraint.containsKey(ConstraintType.EQUAL.getType()));
+        String filter1Value = (String) filter1Constraint.get(ConstraintType.EQUAL.getType());
+        assertEquals("my_value", filter1Value);
+        Map<String, Object> filter2 = filters.get(1);
+        assertTrue(filter2.containsKey("my_other_attribute"));
+        Map<String, Object> filter2Constraint = (Map<String, Object>) filter2.get("my_other_attribute");
+        assertTrue(filter2Constraint.containsKey(ConstraintType.EQUAL.getType()));
+        Map<String, Object> filter2Value = (Map<String, Object>) filter2Constraint.get(ConstraintType.EQUAL.getType());
+        assertTrue(filter2Value.containsKey(ToscaGetFunctionType.GET_ATTRIBUTE.getFunctionName()));
+        List<String> filter2ValueToscaFunction = (List<String>) filter2Value.get(ToscaGetFunctionType.GET_ATTRIBUTE.getFunctionName());
+        assertEquals(2, filter2ValueToscaFunction.size());
+        assertEquals("SELF", filter2ValueToscaFunction.get(0));
+        assertEquals("role", filter2ValueToscaFunction.get(1));
     }
 
     private void addComplexTypeToDataTypes() {