Updates for new policy

Fix for APPC mount of multiple VM VNFs

Issue-ID: POLICY-1685
Change-Id: If8de8ecaa2052044af0512206fe8b326b21f50c4
Signed-off-by: Brian Freeman <bf1936@att.com>
diff --git a/robot/resources/demo_preload.robot b/robot/resources/demo_preload.robot
index ee09dc5..74ee63b 100644
--- a/robot/resources/demo_preload.robot
+++ b/robot/resources/demo_preload.robot
@@ -176,7 +176,7 @@
 Instantiate VNF
     [Arguments]   ${service}   ${vf_module_label}=NULL
     Setup Orchestrate VNF    ${GLOBAL_AAI_CLOUD_OWNER}    SharedNode    OwnerType    v1    CloudZone
-    ${vf_module_name}    ${service}     ${generic_vnfs}=    Orchestrate VNF    DemoCust    ${service}   ${service}    ${TENANT_NAME}
+    ${vf_module_name_list}    ${service}     ${generic_vnfs}=    Orchestrate VNF    DemoCust    ${service}   ${service}    ${TENANT_NAME}
     Save For Delete
     Log to Console   Customer Name=${CUSTOMER_NAME}
     Log to Console   VNF Module Name=${vf_module_name}
@@ -186,9 +186,11 @@
     :for    ${vf_module}    in    @{generic_vnfs}
     \    ${generic_vnf}=    Get From Dictionary    ${generic_vnfs}    ${vf_module}
     \    ${model_invariant_id}=    Set Variable If    '${vf_module_label}' in '${vf_module}'   ${generic_vnf['model-invariant-id']}    ${model_invariant_id}
-    Log to Console   ModelInvariantID=${model_invariant_id}
+    Log to Console   Update old vFWCL Policy for ModelInvariantID=${model_invariant_id}
     ${status}   ${value}=   Run Keyword And Ignore Error  Update vVFWCL Policy   ${model_invariant_id}
-    ${status}   ${value}=   Run Keyword And Ignore Error  APPC Mount Point    ${vf_module_name}
+    :FOR  ${vf_module_name}  IN   @{vf_module_name_list}
+    \   Log To Console   APPC Mount Point for VNF Module Name=${vf_module_name}
+    \   ${status}   ${value}=   Run Keyword And Ignore Error  APPC Mount Point    ${vf_module_name}
 
 Instantiate Demo VNF
     [Arguments]   ${service}   ${vf_module_label}=NULL
diff --git a/robot/resources/policy_interface.robot b/robot/resources/policy_interface.robot
index 8bbbb62..91d0d98 100644
--- a/robot/resources/policy_interface.robot
+++ b/robot/resources/policy_interface.robot
@@ -53,6 +53,15 @@
      Log    Received response from policy ${resp.text}
      [Return]    ${resp}
 
+Run Policy Get Request
+     [Documentation]    Runs Policy Get request
+     [Arguments]    ${data_path}
+     Log    Creating session ${POLICY_ENDPOINT}
+     ${session}=    Create Session 	policy 	${POLICY_ENDPOINT}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    Authorization=Basic ${GLOBAL_POLICY_AUTH}   ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}    Environment=TEST
+     ${resp}= 	Get Request 	policy   ${data_path}     headers=${headers}
+     Log    Received response from policy ${resp.text}
+
 Run Policy Post Request
      [Documentation]    Runs Policy Post request
      [Arguments]    ${data_path}  ${data}
@@ -62,7 +71,7 @@
      ${resp}= 	Post Request 	policy   ${data_path}     data=${data}    headers=${headers}
      Log    Received response from policy ${resp.text}
      [Return]    ${resp}
-     
+
 Run Policy Delete Request
      [Documentation]    Runs Policy Delete request
      [Arguments]    ${data_path}  ${data}
@@ -85,7 +94,7 @@
 
 
 
-Update vVFWCL Policy
+Update vVFWCL Policy Old
     [Arguments]   ${resource_id}
     Run Keyword and Ignore Error    Delete vFWCL Policy
     Sleep    20s
@@ -99,8 +108,23 @@
     Reboot Drools
     Sleep    20s
     Log To Console   Validate vFWCL Policy
+    Validate the vFWCL Policy Old
+
+Update vVFWCL Policy
+    [Arguments] ${resource_id}
+    Log To Console Create vFWCL Monitoring Policy
+    Create vFirewall Monitoring Policy
+    Sleep   5s
+    Log To Console Create vFWCL Operational Policy
+    Create vFirewall Operational Policy ${resource_id}
+    Sleep   5s
+    Log To Console Push vFWCL To PDP Group
+    Push vFirewall Policies To PDP Group
+    Sleep    20s
+    Log To Console   Validate vFWCL Policy
     Validate the vFWCL Policy
 
+
 Delete vFWCL Policy
      ${data}=   OperatingSystem.Get File    ${POLICY_TEMPLATES}/FirewallPolicy_delete.template
      ${resp}=   Run Policy Delete Request    /pdp/api/deletePolicy    ${data}
@@ -134,12 +158,16 @@
     Log   stdout=${stdout}
     Should Contain     ${stdout}    is running
 
-Validate the vFWCL Policy
+Validate the vFWCL Policy Old
     ${resp}=   Run Drools Get Request   /policy/pdp/engine/controllers/amsterdam/drools
     Should Be Equal As Strings 	${resp.status_code} 	200
     ${resp}=   Run Drools Get Request   /policy/pdp/engine/controllers/amsterdam/drools/facts/closedloop-amsterdam/org.onap.policy.controlloop.Params
     Should Be Equal As Strings 	${resp.status_code} 	200
 
+Validate the vFWCL Policy 
+    ${resp}=   Run Policy Get Request   /policy/pap/v1/pdps
+    Log    Received response from policy ${resp.text}
+    Should Be Equal As Strings         ${resp.status_code}     200
 
 Create vFirewall Monitoring Policy
      ${dict}=   Create Dictionary
diff --git a/robot/resources/test_templates/vnf_orchestration_test_template.robot b/robot/resources/test_templates/vnf_orchestration_test_template.robot
index 31c8118..b3a4bdd 100644
--- a/robot/resources/test_templates/vnf_orchestration_test_template.robot
+++ b/robot/resources/test_templates/vnf_orchestration_test_template.robot
@@ -69,6 +69,7 @@
     ${vnflist}=   Get From Dictionary    ${GLOBAL_SERVICE_VNF_MAPPING}    ${service}
     ${generic_vnfs}=    Create Dictionary
     ${vnf_name_index}=   Set Variable  0
+    ${vf_module_name_list}=    Create List
     ${uuid}=    Evaluate    str("${uuid}")[:8]
     :for   ${vnf}   in   @{vnflist}
     # APPC max is 50 characters
@@ -88,7 +89,8 @@
     #    TODO: Need to look at a better way to default ipv4_oam_interface  search for Heatbridge
     \   Execute Heatbridge    ${vf_module_name}    ${service_instance_id}    ${vnf}  ipv4_oam_interface
     \   Validate VF Module      ${vf_module_name}    ${vnf}
-    [Return]     ${vf_module_name}    ${service}    ${generic_vnfs}
+    \   Append To List   ${vf_module_name_list}    ${vf_module_name}
+    [Return]     ${vf_module_name_list}    ${service}    ${generic_vnfs}
 
 
 Orchestrate Demo VNF