blob: 6d08c963491dd5bac287e84154d857bc18271a4d [file] [log] [blame]
*** Settings ***
Library Collections
Library String
Library RequestsLibrary
Library OperatingSystem
Library Process
Library json
Resource common-library.robot
*** Test Cases ***
Alive
[Documentation] Runs Policy PDP Alive Check
${resp}= PeformGetRequest /policy/pdp/engine ${DROOLS_IP_2} 200
Should Be Equal As Strings ${resp.json()['alive']} True
Metrics
[Documentation] Verify drools-apps is exporting metrics
${resp}= PeformGetRequest /metrics ${DROOLS_IP_2} 200
Should Contain ${resp.text} jvm_threads_current
Healthcheck
[Documentation] Runs Policy PDP-D Health check
${resp}= PeformGetRequest /healthcheck ${DROOLS_IP} 200
Should Be Equal As Strings ${resp.json()['healthy']} True
Controller
[Documentation] Checks controller is up
Wait Until Keyword Succeeds 2 min 15 sec VerifyController
MakeTopics
[Documentation] Creates the Policy topics
GetTopic POLICY-PDP-PAP
GetTopic POLICY-CL-MGT
CreateVcpeXacmlPolicy
[Documentation] Create VCPE Policy for Xacml
PerformPostRequest /policy/api/v1/policies null ${POLICY_API_IP} vCPE.policy.monitoring.input.tosca.yaml ${DATA} yaml 200
CreateVcpeDroolsPolicy
[Documentation] Create VCPE Policy for Drools
PerformPostRequest /policy/api/v1/policies null ${POLICY_API_IP} vCPE.policy.operational.input.tosca.yaml ${DATA} yaml 200
CreateVdnsXacmlPolicy
[Documentation] Create VDNS Policy for Xacml
PerformPostRequest /policy/api/v1/policies null ${POLICY_API_IP} vDNS.policy.monitoring.input.tosca.yaml ${DATA} yaml 200
CreateVdnsDroolsPolicy
[Documentation] Create VDNS Policy for Drools
PerformPostRequest /policy/api/v1/policies null ${POLICY_API_IP} vDNS.policy.operational.input.tosca.json ${DATA} json 200
CreateVfwXacmlPolicy
[Documentation] Create VFW Policy for Xacml
PerformPostRequest /policy/api/v1/policies null ${POLICY_API_IP} vFirewall.policy.monitoring.input.tosca.yaml ${DATA} yaml 200
CreateVfwDroolsPolicy
[Documentation] Create VFW Policy for Drools
PerformPostRequest /policy/api/v1/policies null ${POLICY_API_IP} vFirewall.policy.operational.input.tosca.json ${DATA} json 200
DeployXacmlPolicies
[Documentation] Deploys the Policies to Xacml
PerformPostRequest /policy/pap/v1/pdps/deployments/batch null ${POLICY_PAP_IP} deploy.xacml.policies.json ${CURDIR}/data json 202
${result}= CheckTopic POLICY-PDP-PAP PDP_UPDATE
Sleep 5s
${result}= CheckTopic POLICY-PDP-PAP ACTIVE
Should Contain ${result} responseTo
Should Contain ${result} xacml
Should Contain ${result} restart
Should Contain ${result} onap.restart.tca
Should Contain ${result} onap.scaleout.tca
Should Contain ${result} onap.vfirewall.tca
DeployDroolsPolicies
[Documentation] Deploys the Policies to Drools
PerformPostRequest /policy/pap/v1/pdps/deployments/batch null ${POLICY_PAP_IP} deploy.drools.policies.json ${CURDIR}/data json 202
${result}= CheckTopic POLICY-PDP-PAP PDP_UPDATE
Sleep 5s
${result}= CheckTopic POLICY-PDP-PAP ACTIVE
Should Contain ${result} responseTo
Should Contain ${result} drools
Should Contain ${result} operational.restart
Should Contain ${result} operational.scaleout
Should Contain ${result} operational.modifyconfig
VcpeExecute
[Documentation] Executes VCPE Policy
OnSet ${CURDIR}/data/vcpeOnset.json
${result}= CheckTopic POLICY-CL-MGT ACTIVE
Should Contain ${result} ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
${result}= CheckTopic POLICY-CL-MGT OPERATION
Should Contain ${result} ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
Should Contain ${result} Sending guard query for APPC Restart
${result}= CheckTopic POLICY-CL-MGT OPERATION
Should Contain ${result} ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
Should Contain ${result} Guard result for APPC Restart is Permit
${result}= CheckTopic POLICY-CL-MGT OPERATION
Should Contain ${result} ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
Should Contain ${result} actor=APPC,operation=Restart
${result}= CheckTopic POLICY-CL-MGT OPERATION: SUCCESS
Should Contain ${result} ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
Should Contain ${result} actor=APPC,operation=Restart
${result}= CheckTopic POLICY-CL-MGT FINAL: SUCCESS
Should Contain ${result} ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
Should Contain ${result} APPC
Should Contain ${result} Restart
VdnsExecute
[Documentation] Executes VDNS Policy
OnSet ${CURDIR}/data/vdnsOnset.json
${result}= CheckTopic POLICY-CL-MGT ACTIVE
Should Contain ${result} ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
${result}= CheckTopic POLICY-CL-MGT OPERATION
Should Contain ${result} ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
Should Contain ${result} Sending guard query for SO VF Module Create
${result}= CheckTopic POLICY-CL-MGT OPERATION
Should Contain ${result} ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
Should Contain ${result} Guard result for SO VF Module Create is Permit
${result}= CheckTopic POLICY-CL-MGT OPERATION
Should Contain ${result} ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
Should Contain ${result} actor=SO,operation=VF Module Create
${result}= CheckTopic POLICY-CL-MGT OPERATION: SUCCESS
Should Contain ${result} ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
Should Contain ${result} actor=SO,operation=VF Module Create
${result}= CheckTopic POLICY-CL-MGT FINAL: SUCCESS
Should Contain ${result} ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3
Should Contain ${result} SO
Should Contain ${result} VF Module Create
VfwExecute
[Documentation] Executes VFW Policy
OnSet ${CURDIR}/data/vfwOnset.json
${result}= CheckTopic POLICY-CL-MGT ACTIVE
Should Contain ${result} ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
${result}= CheckTopic POLICY-CL-MGT OPERATION
Should Contain ${result} ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
Should Contain ${result} Sending guard query for APPC ModifyConfig
${result}= CheckTopic POLICY-CL-MGT OPERATION
Should Contain ${result} ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
Should Contain ${result} Guard result for APPC ModifyConfig is Permit
${result}= CheckTopic POLICY-CL-MGT OPERATION
Should Contain ${result} ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
Should Contain ${result} actor=APPC,operation=ModifyConfig
${result}= CheckTopic POLICY-CL-MGT OPERATION: SUCCESS
Should Contain ${result} ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
Should Contain ${result} actor=APPC,operation=ModifyConfig
${result}= CheckTopic POLICY-CL-MGT FINAL: SUCCESS
Should Contain ${result} ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a
Should Contain ${result} APPC
Should Contain ${result} ModifyConfig
*** Keywords ***
VerifyController
${resp}= PeformGetRequest /policy/pdp/engine/controllers/usecases/drools/facts ${DROOLS_IP_2} 200
Should Be Equal As Strings ${resp.json()['usecases']} 1
PeformGetRequest
[Arguments] ${url} ${domain} ${expectedstatus}
${auth}= Create List demo@people.osaaf.org demo123456!
Log Creating session http://${domain}
${session}= Create Session policy http://${domain} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= GET On Session policy ${url} headers=${headers} expected_status=${expectedstatus}
Log Received response from policy ${resp.text}
[return] ${resp}
PerformPostRequest
[Arguments] ${url} ${params} ${domain} ${jsonfile} ${filepath} ${contenttype} ${expectedstatus}
${auth}= Create List policyadmin zb!XztG34
${postjson}= Get file ${filepath}/${jsonfile}
Log Creating session http://${domain}
${session}= Create Session policy http://${domain} auth=${auth}
${headers}= Create Dictionary Accept=application/${contenttype} Content-Type=application/${contenttype}
${resp}= POST On Session policy ${url} params=${params} data=${postjson} headers=${headers} expected_status=${expectedstatus}
Log Received response from policy ${resp.text}
[return] ${resp}
OnSet
[Arguments] ${file}
${data}= Get File ${file}
Create Session session http://${DMAAP_IP} max_retries=1
${headers}= Create Dictionary Content-Type=application/json
${resp}= POST On Session session /events/unauthenticated.DCAE_CL_OUTPUT headers=${headers} data=${data}
Log Response from dmaap ${resp.text}
Status Should Be OK
[Return] ${resp.text}