From 0559e85794edc2fc77b35561737ff4640c8895c8 Mon Sep 17 00:00:00 2001 From: Ram Krishna Verma Date: Tue, 4 May 2021 16:30:16 -0400 Subject: Add testcases for policy status and pdp statistics Adding testcases to validate policy status and pdp statistics api's. Issue-ID: POLICY-3257 Change-Id: I730451c4abb19bab6ddf10cba58f63ab5ca3a11a Signed-off-by: Ram Krishna Verma (cherry picked from commit 27d086bfa7a72f761204ad7a76068687f6f36f89) --- csit/tests/apex-pdp-test.robot | 61 +++++++++++++++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/csit/tests/apex-pdp-test.robot b/csit/tests/apex-pdp-test.robot index 54838a399..e538e6faa 100644 --- a/csit/tests/apex-pdp-test.robot +++ b/csit/tests/apex-pdp-test.robot @@ -12,15 +12,19 @@ Healthcheck Log Creating session https://${APEX_IP}:6969 ${session}= Create Session policy https://${APEX_IP}:6969 auth=${auth} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Get Request policy /policy/apex-pdp/v1/healthcheck headers=${headers} - Log Received response from policy1 ${resp.text} + ${resp}= GET On Session policy /policy/apex-pdp/v1/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()['code']} 200 ExecuteApexPolicy Wait Until Keyword Succeeds 2 min 5 sec CreatePolicy + Wait Until Keyword Succeeds 3 min 5 sec VerifyPdpStatistics 0 0 0 0 Wait Until Keyword Succeeds 2 min 5 sec DeployPolicy + Wait Until Keyword Succeeds 2 min 5 sec VerifyPolicyStatus + Wait Until Keyword Succeeds 3 min 5 sec VerifyPdpStatistics 1 1 0 0 Wait Until Keyword Succeeds 4 min 10 sec RunEventOnApexEngine + Wait Until Keyword Succeeds 3 min 5 sec VerifyPdpStatistics 1 1 1 1 *** Keywords *** @@ -31,12 +35,10 @@ CreatePolicy Log Creating session https://${POLICY_API_IP}:6969 ${session}= Create Session policy https://${POLICY_API_IP}:6969 auth=${auth} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Post Request policy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies data=${postjson} headers=${headers} - Log Received response from policy4 ${resp.text} - ${postjsonobject} To Json ${postjson} + ${resp}= POST On Session policy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies data=${postjson} headers=${headers} + Log Received response from policy ${resp.text} Should Be Equal As Strings ${resp.status_code} 200 Dictionary Should Contain Key ${resp.json()} tosca_definitions_version - Dictionary Should Contain Key ${postjsonobject} tosca_definitions_version DeployPolicy [Documentation] Deploy the policy in apex-pdp engine @@ -45,14 +47,53 @@ DeployPolicy Log Creating session https://${POLICY_PAP_IP}:6969 ${session}= Create Session policy https://${POLICY_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 policy5 ${resp.text} - ${postjsonobject} To Json ${postjson} + ${resp}= POST On Session policy /policy/pap/v1/pdps/deployments/batch data=${postjson} headers=${headers} + Log Received response from policy ${resp.text} Should Be Equal As Strings ${resp.status_code} 202 +VerifyPolicyStatus + [Documentation] Verify policy deployment status + ${auth}= Create List healthcheck zb!XztG34 + Log Creating session https://${POLICY_PAP_IP}:6969 + ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= GET On Session policy /policy/pap/v1/policies/status 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()[0]['pdpGroup']} defaultGroup + Should Be Equal As Strings ${resp.json()[0]['pdpType']} apex + Should Be Equal As Strings ${resp.json()[0]['pdpId']} policy-apex-pdp + Should Be Equal As Strings ${resp.json()[0]['policy']['name']} onap.policies.native.apex.Sampledomain + Should Be Equal As Strings ${resp.json()[0]['policy']['version']} 1.0.0 + Should Be Equal As Strings ${resp.json()[0]['policyType']['name']} onap.policies.native.Apex + Should Be Equal As Strings ${resp.json()[0]['policyType']['version']} 1.0.0 + Should Be Equal As Strings ${resp.json()[0]['deploy']} True + Should Be Equal As Strings ${resp.json()[0]['state']} SUCCESS + RunEventOnApexEngine + [Documentation] Send event to verify policy execution Create Session apexSession http://${APEX_IP}:23324 max_retries=1 ${data}= Get Binary File ${CURDIR}${/}data${/}event.json &{headers}= Create Dictionary Content-Type=application/json Accept=application/json - ${resp}= Put Request apexSession /apex/FirstConsumer/EventIn data=${data} headers=${headers} + ${resp}= PUT On Session apexSession /apex/FirstConsumer/EventIn data=${data} headers=${headers} Should Be Equal As Strings ${resp.status_code} 200 + +VerifyPdpStatistics + [Documentation] Verify pdp statistics after policy execution + [Arguments] ${deployCount} ${deploySuccessCount} ${executedCount} ${executedSuccessCount} + ${auth}= Create List healthcheck zb!XztG34 + Log Creating session https://${POLICY_PAP_IP}:6969 + ${session}= Create Session policy https://${POLICY_PAP_IP}:6969 auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= GET On Session policy /policy/pap/v1/pdps/statistics/defaultGroup/apex/policy-apex-pdp params=recordCount=1 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()['defaultGroup']['apex'][0]['pdpInstanceId']} policy-apex-pdp + Should Be Equal As Strings ${resp.json()['defaultGroup']['apex'][0]['pdpGroupName']} defaultGroup + Should Be Equal As Strings ${resp.json()['defaultGroup']['apex'][0]['pdpSubGroupName']} apex + Should Be Equal As Strings ${resp.json()['defaultGroup']['apex'][0]['policyDeployCount']} ${deployCount} + Should Be Equal As Strings ${resp.json()['defaultGroup']['apex'][0]['policyDeploySuccessCount']} ${deploySuccessCount} + Should Be Equal As Strings ${resp.json()['defaultGroup']['apex'][0]['policyDeployFailCount']} 0 + Should Be Equal As Strings ${resp.json()['defaultGroup']['apex'][0]['policyExecutedCount']} ${executedCount} + Should Be Equal As Strings ${resp.json()['defaultGroup']['apex'][0]['policyExecutedSuccessCount']} ${executedSuccessCount} + Should Be Equal As Strings ${resp.json()['defaultGroup']['apex'][0]['policyExecutedFailCount']} 0 -- cgit 1.2.3-korg