| *** Settings *** |
| Library Collections |
| Library String |
| Library RequestsLibrary |
| Library OperatingSystem |
| Library Process |
| Library json |
| |
| *** Test Cases *** |
| Alive |
| [Documentation] Runs Policy PDP Alive Check |
| ${auth}= Create List demo@people.osaaf.org demo123456! |
| Log Creating session https://${DROOLS_IP}:9696 |
| ${session}= Create Session policy https://${DROOLS_IP}:9696 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/json Content-Type=application/json |
| ${resp}= Get Request policy /policy/pdp/engine headers=${headers} |
| Log Received response from policy ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| Should Be Equal As Strings ${resp.json()['alive']} True |
| |
| Healthcheck |
| [Documentation] Runs Policy PDP-D Health check |
| ${auth}= Create List demo@people.osaaf.org demo123456! |
| Log Creating session https://${DROOLS_IP}:6969/healthcheck |
| ${session}= Create Session policy https://${DROOLS_IP}:6969 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/json Content-Type=application/json |
| ${resp}= Get Request policy /healthcheck headers=${headers} |
| Log Received response from policy ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| Should Be Equal As Strings ${resp.json()['healthy']} True |
| |
| Controller |
| [Documentation] Checks controller is up |
| ${auth}= Create List demo@people.osaaf.org demo123456! |
| Log Creating session https://${DROOLS_IP}:9696 |
| ${session}= Create Session policy https://${DROOLS_IP}:9696 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/json Content-Type=application/json |
| ${resp}= Get Request policy /policy/pdp/engine/controllers/frankfurt/drools/facts headers=${headers} |
| Log Received response from policy ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| Should Be Equal As Strings ${resp.json()['frankfurt']} 0 |
| |
| MakeTopics |
| [Documentation] Creates the Policy topics |
| ${result}= Run Process ${SCR2}/make_topic.sh POLICY-PDP-PAP |
| Should Be Equal As Integers ${result.rc} 0 |
| ${result}= Run Process ${SCR2}/make_topic.sh POLICY-CL-MGT |
| Should Be Equal As Integers ${result.rc} 0 |
| |
| CreateVcpeXacmlPolicy |
| [Documentation] Create VCPE Policy for Xacml |
| ${auth}= Create List healthcheck zb!XztG34 |
| ${postyaml}= Get file ${DATA}/vCPE.policy.monitoring.input.tosca.yaml |
| Log Creating session https://${API_IP}:6969 |
| ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml |
| ${resp}= Post Request policy /policy/api/v1/policies data=${postyaml} headers=${headers} |
| Log Received response from api ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| |
| CreateVcpeDroolsPolicy |
| [Documentation] Create VCPE Policy for Drools |
| ${auth}= Create List healthcheck zb!XztG34 |
| ${postyaml}= Get file ${DATA}/vCPE.policy.operational.input.tosca.yaml |
| Log Creating session https://${API_IP}:6969 |
| ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml |
| ${resp}= Post Request policy /policy/api/v1/policies data=${postyaml} headers=${headers} |
| Log Received response from api ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| |
| CreateVdnsXacmlPolicy |
| [Documentation] Create VDNS Policy for Xacml |
| ${auth}= Create List healthcheck zb!XztG34 |
| ${postyaml}= Get file ${DATA}/vDNS.policy.monitoring.input.tosca.yaml |
| Log Creating session https://${API_IP}:6969 |
| ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml |
| ${resp}= Post Request policy /policy/api/v1/policies data=${postyaml} headers=${headers} |
| Log Received response from api ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| |
| CreateVdnsDroolsPolicy |
| [Documentation] Create VDNS Policy for Drools |
| ${auth}= Create List healthcheck zb!XztG34 |
| ${postjson}= Get file ${DATA}/vDNS.policy.operational.input.tosca.json |
| Log Creating session https://${API_IP}:6969 |
| ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/json Content-Type=application/json |
| ${resp}= Post Request policy /policy/api/v1/policies data=${postjson} headers=${headers} |
| Log Received response from api ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| |
| CreateVfwXacmlPolicy |
| [Documentation] Create VFW Policy for Xacml |
| ${auth}= Create List healthcheck zb!XztG34 |
| ${postyaml}= Get file ${DATA}/vFirewall.policy.monitoring.input.tosca.yaml |
| Log Creating session https://${API_IP}:6969 |
| ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml |
| ${resp}= Post Request policy /policy/api/v1/policies data=${postyaml} headers=${headers} |
| Log Received response from api ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| |
| CreateVfwDroolsPolicy |
| [Documentation] Create VFW Policy for Drools |
| ${auth}= Create List healthcheck zb!XztG34 |
| ${postjson}= Get file ${DATA}/vFirewall.policy.operational.input.tosca.json |
| Log Creating session https://${API_IP}:6969 |
| ${session}= Create Session policy https://${API_IP}:6969 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/json Content-Type=application/json |
| ${resp}= Post Request policy /policy/api/v1/policies data=${postjson} headers=${headers} |
| Log Received response from api ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| |
| DeployXacmlPolicies |
| [Documentation] Deploys the Policies to Xacml |
| ${auth}= Create List healthcheck zb!XztG34 |
| Log Creating session https://${PAP_IP}:6969 |
| ${postjson}= Get file ${SCR2}/deploy.xacml.policies.json |
| ${session}= Create Session policy https://${PAP_IP}:6969 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/json Content-Type=application/json |
| ${resp}= Post Request policy /policy/pap/v1/pdps/deployments/batch data=${postjson} headers=${headers} |
| Log Received response from pap ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-PDP-PAP |
| ... responseTo xacml ACTIVE restart |
| Log Received status ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} onap.restart.tca |
| Should Contain ${result.stdout} onap.scaleout.tca |
| Should Contain ${result.stdout} onap.vfirewall.tca |
| |
| DeployDroolsPolicies |
| [Documentation] Deploys the Policies to Drools |
| ${auth}= Create List healthcheck zb!XztG34 |
| Log Creating session https://${PAP_IP}:6969 |
| ${postjson}= Get file ${SCR2}/deploy.drools.policies.json |
| ${session}= Create Session policy https://${PAP_IP}:6969 auth=${auth} |
| ${headers}= Create Dictionary Accept=application/json Content-Type=application/json |
| ${resp}= Post Request policy /policy/pap/v1/pdps/deployments/batch data=${postjson} headers=${headers} |
| Log Received response from pap ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-PDP-PAP |
| ... responseTo drools ACTIVE |
| Log Received status ${result.stdout} |
| Sleep 3s |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} operational.restart |
| Should Contain ${result.stdout} operational.scaleout |
| Should Contain ${result.stdout} operational.modifyconfig |
| |
| VcpeExecute |
| [Documentation] Executes VCPE Policy |
| ${result}= Run Process ${SCR2}/onset.sh ${SCR2}/vcpeOnset.json |
| Should Be Equal As Integers ${result.rc} 0 |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} ACTIVE |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION |
| Should Contain ${result.stdout} Sending guard query for APPC Restart |
| Should Be Equal As Integers ${result.rc} 0 |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION |
| Should Contain ${result.stdout} Guard result for APPC Restart is Permit |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION |
| Should Contain ${result.stdout} actor=APPC,operation=Restart |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION: SUCCESS |
| Should Contain ${result.stdout} actor=APPC,operation=Restart |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} FINAL: SUCCESS |
| Should Contain ${result.stdout} APPC |
| Should Contain ${result.stdout} Restart |
| |
| VdnsExecute |
| [Documentation] Executes VDNS Policy |
| ${result}= Run Process ${SCR2}/onset.sh ${SCR2}/vdnsOnset.json |
| Should Be Equal As Integers ${result.rc} 0 |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} ACTIVE |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION |
| Should Contain ${result.stdout} Sending guard query for SO VF Module Create |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION |
| Should Contain ${result.stdout} Guard result for SO VF Module Create is Permit |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION |
| Should Contain ${result.stdout} actor=SO,operation=VF Module Create |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION: SUCCESS |
| Should Contain ${result.stdout} actor=SO,operation=VF Module Create |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} FINAL: SUCCESS |
| Should Contain ${result.stdout} SO |
| Should Contain ${result.stdout} VF Module Create |
| |
| VfwExecute |
| [Documentation] Executes VFW Policy |
| ${result}= Run Process ${SCR2}/onset.sh ${SCR2}/vfwOnset.json |
| Should Be Equal As Integers ${result.rc} 0 |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} ACTIVE |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION |
| Should Contain ${result.stdout} Sending guard query for APPC ModifyConfig |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION |
| Should Contain ${result.stdout} Guard result for APPC ModifyConfig is Permit |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION |
| Should Contain ${result.stdout} actor=APPC,operation=ModifyConfig |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} OPERATION: SUCCESS |
| Should Contain ${result.stdout} actor=APPC,operation=ModifyConfig |
| ${result}= Run Process ${SCR2}/wait_topic.sh POLICY-CL-MGT |
| ... ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a |
| Log Received notification ${result.stdout} |
| Should Be Equal As Integers ${result.rc} 0 |
| Should Contain ${result.stdout} FINAL: SUCCESS |
| Should Contain ${result.stdout} APPC |
| Should Contain ${result.stdout} ModifyConfig |