remove url_encoded operational policy
[testsuite.git] / robot / resources / policy_interface.robot
index 077edd7..2175f7b 100644 (file)
@@ -5,16 +5,18 @@ Library           String
 Library           Collections
 Library           SSHLibrary
 Library           OperatingSystem
-Library           ONAPLibrary.Templating    
+Library           ONAPLibrary.Templating    WITH NAME    Templating
 Resource          global_properties.robot
 Resource          ssh/files.robot
 
 *** Variables ***
 ${POLICY_HEALTH_CHECK_PATH}        /healthcheck
+${POLICY_NEW_HEALTHCHECK_PATH}        /policy/pap/v1/components/healthcheck
 ${POLICY_ENDPOINT}     ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_INJECTED_POLICY_IP_ADDR}:${GLOBAL_POLICY_SERVER_PORT}
-${POLICY_HEALTHCHECK_ENDPOINT}     ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
+${POLICY_HEALTHCHECK_ENDPOINT}     ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_INJECTED_POLICY_DROOLS_IP_ADDR}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
+${POLICY_NEW_HEALTHCHECK_ENDPOINT}     ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_INJECTED_POLICY_PAP_IP_ADDR}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
 ${POLICY_TEMPLATES}        policy
-${DROOLS_ENDPOINT}     ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_INJECTED_POLICY_IP_ADDR}:${GLOBAL_DROOLS_SERVER_PORT}
+${DROOLS_ENDPOINT}     ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_INJECTED_POLICY_DROOLS_IP_ADDR}:${GLOBAL_DROOLS_SERVER_PORT}
 ${POLICY_API_IP}    ${GLOBAL_INJECTED_POLICY_API_IP_ADDR}
 ${POLICY_PAP_IP}    ${GLOBAL_INJECTED_POLICY_PAP_IP_ADDR}
 ${POLICY_DISTRIBUTION_IP}   ${GLOBAL_INJECTED_POLICY_DISTRIBUTION_IP_ADDR}
@@ -41,12 +43,22 @@ Run Policy Health Check
      \    Should Be Equal As Strings   ${ELEMENT['code']}      200
      \    Should Be True    ${ELEMENT['healthy']}
 
+Run Policy New Healthcheck
+     [Documentation]    Runs New Policy Health check
+     ${auth}=    Create List     ${GLOBAL_POLICY_HEALTHCHECK_USERNAME}   ${GLOBAL_POLICY_HEALTHCHECK_PASSWORD}
+     Log    Creating session ${POLICY_NEW_HEALTHCHECK_ENDPOINT}
+     ${session}=    Create Session  policy  ${POLICY_NEW_HEALTHCHECK_ENDPOINT}   auth=${auth}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
+     ${resp}=   Get Request   policy  ${POLICY_NEW_HEALTHCHECK_PATH}    headers=${headers}
+     Log    Received response from policy ${resp.text}
+     Should Be Equal As Strings   ${resp.status_code}   200
+     Should Be True   ${resp.json()['healthy']}
+
 Run Drools Get Request
      [Documentation]    Runs Drools Get Request
      [Arguments]    ${data_path}
-     ${auth}=    Create List    ${GLOBAL_DROOLS_USERNAME}    ${GLOBAL_DROOLS_PASSWORD}
-     Log    Creating session ${POLICY_ENDPOINT}
-     ${session}=    Create Session      policy  ${DROOLS_ENDPOINT}   auth=${auth}
+     Log    Creating session ${DROOLS_ENDPOINT}
+     ${session}=    Create Session      policy  ${DROOLS_ENDPOINT}   auth=${GLOBAL_DROOLS_AUTHENTICATION}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
      ${resp}=   Get Request     policy  ${data_path}     headers=${headers}
      Log    Received response from policy ${resp.text}
@@ -117,6 +129,17 @@ Run Policy Pap Post Request
      Log    Received response from policy ${resp.text}
      [Return]    ${resp}
 
+Undeploy Policy
+     [Documentation]    Runs Policy PAP Undeploy a Policy from PDP Groups
+     [Arguments]    ${policy_name}
+     ${auth}=    Create List    ${POLICY_HEALTHCHECK_USERNAME}    ${POLICY_HEALTHCHECK_PASSWORD}
+     ${session}=    Create Session      policy  ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_PAP_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}   auth=${auth}
+     Log    Creating session ${GLOBAL_POLICY_SERVER_PROTOCOL}://${POLICY_PAP_IP}:${GLOBAL_POLICY_HEALTHCHECK_PORT}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
+     ${resp}=   Delete Request     policy  /policy/pap/v1/pdps/policies/${policy_name}     headers=${headers}
+     Log    Received response from policy ${resp.text}
+     Should Be Equal As Strings    ${resp.status_code}     200
+
 
 Run Policy Delete Request
      [Documentation]    Runs Policy Delete request
@@ -138,28 +161,10 @@ Run Policy Get Configs Request
     Log    Received response from policy ${resp.text}
     [Return]    ${resp}
 
-
-
-Update vVFWCL Policy Old
-    [Arguments]   ${resource_id}
-    Run Keyword and Ignore Error    Delete vFWCL Policy
-    Sleep    20s
-    Log   Create vFWCL Policy
-    Create vFWCL Policy     ${resource_id}
-    Sleep    5s
-    Log   Push vFWCL Policy
-    Push vFWCL Policy
-    Sleep    20s
-    Log   Reboot Drools
-    Reboot Drools
-    Sleep    20s
-    Log   Validate vFWCL Policy
-    Validate the vFWCL Policy Old
-
 Update vVFWCL Policy
     [Arguments]   ${resource_id}
     Log   Create vFWCL Monitoring Policy
-    Create vFirewall Monitoring Policy
+    Create vFirewall Monitoring Policy    ${resource_id}
     Sleep   5s
     Log   Create vFWCL Operational Policy
     ${op_policy_version}=   Create vFirewall Operational Policy   ${resource_id}
@@ -172,42 +177,27 @@ Update vVFWCL Policy
 
 
 Delete vFWCL Policy
-       Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
+    Templating.Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
     ${dict}=   Create Dictionary   policyName=com.BRMSParamvFirewall
-       ${data}=   Apply Template    policy    ${POLICY_TEMPLATES}/FirewallPolicy_delete.jinja    ${dict}
-       ${resp}=   Run Policy Delete Request    /pdp/api/deletePolicy    ${data}
-       Should Be Equal As Strings      ${resp.status_code}     200
+       ${data}=   Templating.Apply Template    policy    ${POLICY_TEMPLATES}/FirewallPolicy_delete.jinja    ${dict}
+    ${resp}=   Run Policy Delete Request    /pdp/api/deletePolicy    ${data}
+    Should Be Equal As Strings         ${resp.status_code}     200
 
 Create vFWCL Policy
     [Arguments]   ${resource_id}
     ${dict}=   Create Dictionary   RESOURCE_ID=${resource_id}
-    Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
-    ${data}=   Apply Template    policy    ${POLICY_TEMPLATES}/FirewallPolicy_update.jinja   ${dict}
+    Templating.Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
+    ${data}=   Templating.Apply Template    policy    ${POLICY_TEMPLATES}/FirewallPolicy_update.jinja   ${dict}
     ${resp}=   Run Policy Put Request    /pdp/api/updatePolicy    ${data}
     Should Be Equal As Strings         ${resp.status_code}     200
 
 Push vFWCL Policy
-       Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
+    Templating.Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
     ${dict}=   Create Dictionary
-       ${data}=   Apply Template    policy    ${POLICY_TEMPLATES}/FirewallPolicy_push.jinja   ${dict}
+    ${data}=   Templating.Apply Template    policy    ${POLICY_TEMPLATES}/FirewallPolicy_push.jinja   ${dict}
     ${resp}=   Run Policy Put Request    /pdp/api/pushPolicy    ${data}
     Should Be Equal As Strings         ${resp.status_code}     200
 
-Reboot Drools
-    ${stop}=   Catenate   docker exec -t -u policy drools bash -c "source /opt/app/policy/etc/profile.d/env.sh; policy stop"
-    ${start}=   Catenate   docker exec -t -u policy drools bash -c "source /opt/app/policy/etc/profile.d/env.sh; policy start"
-    Wait Until Keyword Succeeds    120    5 sec    Open Connection And Log In    ${GLOBAL_INJECTED_POLICY_IP_ADDR}    root    ${GLOBAL_VM_PRIVATE_KEY}
-    Write    ${stop}
-    ${status}   ${stdout}=      Run Keyword And Ignore Error    SSHLibrary.Read Until Regexp    has stopped
-    Log   ${status}: stdout=${stdout}
-    ${ctrlc}=    Evaluate   '\x03'
-    Run Keyword If   '${status}' == 'FAIL'   Write   ${ctrlc}
-    Sleep    5s
-    Write    ${start}
-    ${stdout}=   SSHLibrary.Read Until Regexp    is running
-    Log   stdout=${stdout}
-    Should Contain     ${stdout}    is running
-
 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
@@ -220,31 +210,28 @@ Validate the vFWCL Policy
     Should Be Equal As Strings         ${resp.status_code}     200
 
 Create vFirewall Monitoring Policy
-     ${dict}=   Create Dictionary
-    Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
-     ${data}=   Apply Template    policy    ${POLICY_TEMPLATES}/vFirewall_policy_monitoring_input_tosca.jinja    ${dict}
+    [Arguments]   ${resource_id}
+     ${dict}=   Create Dictionary   RESOURCE_ID=${resource_id}
+    Templating.Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
+     ${data}=   Templating.Apply Template    policy    ${POLICY_TEMPLATES}/vFirewall_policy_monitoring_input_tosca.jinja    ${dict}
      ${resp}=   Run Policy Api Post Request    /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies     ${data}
      Should Be Equal As Strings        ${resp.status_code}     200
 
 Create vFirewall Operational Policy
     [Arguments]   ${resource_id}
     ${dict}=   Create Dictionary   RESOURCE_ID=${resource_id}
-    Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
-    ${content_data}    OperatingSystem.Get File    ${POLICY_TEMPLATES}/vFirewall_policy_operational_content.yaml
-    ${content_data}=    Replace String Using Regexp   ${content_data}    __RESOURCE_ID__     ${resource_id}
-    ${encoded_content_data}=    Evaluate    urllib.quote_plus('''${content_data}''')   urllib
-    ${content_dictionary}=   Create Dictionary    URL_ENCODED_CONTENT    ${encoded_content_data}
-    ${data_2}=   Apply Template    policy    ${POLICY_TEMPLATES}/vFirewall_policy_operational_url_enc_content_input.jinja   ${content_dictionary}
+    Templating.Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
+    ${data_2}=   Templating.Apply Template    policy    ${POLICY_TEMPLATES}/vFirewall_policy_operational_content_input.jinja   ${dict}
     Log    ${data_2}
-    ${resp}=   Run Policy Api Post Request    /policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies    ${data_2}
+    ${resp}=   Run Policy Api Post Request    /policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies    ${data_2}
     Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()['policy-version']}
+    [Return]    ${resp.json()['version']}
 
 Push vFirewall Policies To PDP Group
     [Arguments]    ${op_policy_version}
     ${dict}=   Create Dictionary    OP_POLICY_VERSION=${op_policy_version}
-    Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
-    ${data}=   Apply Template    policy    ${POLICY_TEMPLATES}/vFirewall_push.jinja    ${dict}
+    Templating.Create Environment    policy    ${GLOBAL_TEMPLATE_FOLDER}
+    ${data}=   Templating.Apply Template    policy    ${POLICY_TEMPLATES}/vFirewall_push.jinja    ${dict}
     ${resp}=   Run Policy Pap Post Request    /policy/pap/v1/pdps/policies   ${data}
     Should Be Equal As Strings    ${resp.status_code}     200
 
@@ -302,4 +289,3 @@ Run Policy APEX PDP Healthcheck
      Log    Received response from policy ${resp.text}
      Should Be Equal As Strings    ${resp.status_code}     200
      Should Be Equal As Strings    ${resp.json()['code']}  200
-