Backend support for operation milestones with activity inputs
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / tosca / InterfacesOperationsConverterTest.java
index dfe4107..974d321 100644 (file)
@@ -427,9 +427,18 @@ class InterfacesOperationsConverterTest {
 
     private Map<String, MilestoneDataDefinition> createMilestones() {
         Map<String, MilestoneDataDefinition> toscaMilestones = new HashMap<>();
+        OperationInputDefinition input1 = new OperationInputDefinition();
+        input1.setValue("testString");
+        input1.setType("string");
+        input1.setName("stringName");
+        OperationInputDefinition input2 = createMockComplexOperationInputDefinition("complex", "complex");
+        ListDataDefinition<OperationInputDefinition> inputs = new ListDataDefinition<>();
+        inputs.add(input1);
+        inputs.add(input2);
         ActivityDataDefinition activity = new ActivityDataDefinition();
         activity.setType(ActivityTypeEnum.DELEGATE.getValue());
         activity.setWorkflow("workflow1");
+        activity.setInputs(inputs);
         ListDataDefinition<ActivityDataDefinition> activities = new ListDataDefinition<>();
         activities.add(activity);
         MilestoneDataDefinition milestone = new MilestoneDataDefinition();
@@ -607,6 +616,7 @@ class InterfacesOperationsConverterTest {
 
     @Test
     void testGetInterfaceAsMapWithMilestones() {
+        addComplexTypeToDataTypes();
         Component component = new Resource();
         component.setNormalizedName("normalizedComponentName");
         InterfaceDefinition addedInterface = new InterfaceDefinition();
@@ -637,9 +647,31 @@ class InterfacesOperationsConverterTest {
         Map<String, Object> activity = activities.get(0);
         assertEquals(1, activities.size());
         assertTrue(activity.containsKey("delegate"));
-        Map<String, String> activityVariables = (Map<String, String>) activity.get("delegate");
+        Map<String, Object> activityVariables = (Map<String, Object>) activity.get("delegate");
         assertTrue(activityVariables.containsKey("workflow"));
         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");
+        assertNotNull(inputs);
+        assertTrue(inputs.containsKey("stringName"));
+        assertTrue(inputs.get("stringName") instanceof String);
+        String input = (String) inputs.get("stringName");
+        assertEquals("testString", input);
+        assertTrue(inputs.containsKey("complex"));
+        Map<String, Object> complexInput = (Map<String, Object>) inputs.get("complex");
+        assertTrue(complexInput.containsKey("intProp"));
+        assertTrue(complexInput.get("intProp") instanceof Integer);
+        assertEquals(1, complexInput.get("intProp"));
+        assertTrue(complexInput.containsKey("stringProp"));
+        Map<String, Object> complexInputStringProp = (Map<String, Object>) complexInput.get("stringProp");
+        assertTrue(complexInputStringProp.containsKey("type"));
+        assertTrue(ToscaFunctionType.findType((String) complexInputStringProp.get("type")).isPresent());
+        assertTrue(complexInputStringProp.containsKey("propertyName"));
+        assertEquals("designer", complexInputStringProp.get("propertyName"));
+        assertTrue(complexInputStringProp.containsKey("propertySource"));
+        assertEquals("SELF", complexInputStringProp.get("propertySource"));
+
     }
 
     private void addComplexTypeToDataTypes() {