${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}
- ${policyadmin}= PolicyAdminAuth
- ${resp}= PerformGetRequest ${POLICY_PAP_IP} /policy/pap/v1/pdps/statistics/defaultGroup/apex/${pdpName} 200 null ${policyadmin}
- Should Be Equal As Strings ${resp.status_code} 200
- Should Be Equal As Strings ${resp.json()['defaultGroup']['apex'][0]['pdpInstanceId']} ${pdpName}
- 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
-
CheckLogMessage
[Documentation] Read log messages received and check for expected content.
[Arguments] ${status} ${expectedMsg}
${eventTimeTaken}= Subtract Date From Date ${eventEndTime} ${eventStartTime}
${eventResult}= Set Variable ${eventTimeTaken * ${1000}}
${eventsPerSecond}= Set Variable ${${1000} / ${eventResult}}
- Should Be True ${eventsPerSecond} >= ${eventsNo}
\ No newline at end of file
+ Should Be True ${eventsPerSecond} >= ${eventsNo}
Set Test Variable ${policyName} onap.policies.native.apex.Sampledomain
${postjson}= Get File ${CURDIR}/data/${policyName}.json
CreatePolicy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies 200 ${postjson} ${policyName} 1.0.0
- Wait Until Keyword Succeeds 3 min 5 sec VerifyPdpStatistics 0 0 0 0
DeployPolicy
Wait Until Keyword Succeeds 2 min 5 sec QueryPolicyStatus ${policyName} defaultGroup apex ${pdpName} onap.policies.native.Apex
- Wait Until Keyword Succeeds 3 min 5 sec VerifyPdpStatistics 1 1 0 0
Wait Until Keyword Succeeds 4 min 5 sec RunEventOnApexEngine
- Wait Until Keyword Succeeds 3 min 5 sec VerifyPdpStatistics 1 1 1 1
ExecuteApexTestPnfPolicy
Set Test Variable ${policyName} onap.policies.apex.pnf.Test
[Documentation] Validate component healthcheck response time
ValidateResponseTimeForApi /healthcheck GET
-ValidateResponseTimeForStatistics
- [Documentation] Validate statistics response time
- ValidateResponseTimeForApi /statistics GET
-
ValidateResponseTimeQueryPolicies
[Documentation] Validate query policies response time
ValidateResponseTimeForApi /policies GET
Should Be Equal As Strings ${resp.json()['healthy']} True
Should Be Equal As Strings ${resp.json()['message']} alive
-Statistics
- [Documentation] Verify policy api statistics
- ${resp}= GetReq /policy/api/v1/statistics
- Should Be Equal As Strings ${resp.json()['code']} 200
-
RetrievePolicyTypes
[Documentation] Retrieve all policy types
FetchPolicyTypes /policy/api/v1/policytypes 37
DeleteReq /policy/api/v1/nodetemplates/apexMetadata_adaptive/versions/2.3.1 200
DeleteReq /policy/api/v1/nodetemplates/apexMetadata_adaptive/versions/2.3.1 404
-
DeleteSpecificPolicy
[Documentation] Delete a policy named 'onap.restart.tca' and version '1.0.0' using generic api
DeleteReq /policy/api/v1/policies/onap.restart.tca/versions/1.0.0 200
${auth}= PolicyAdminAuth
${resp}= GetMetrics ${POLICY_API_IP} ${auth} /policy/api/v1/
Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/healthcheck",}
- Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/statistics",} 1.0
Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policytypes",} 1.0
Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policies",} 1.0
Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policies/{policyId}/versions/{policyVersion}",} 1.0
${resp}= PerformGetRequest ${DISTRIBUTION_IP} /healthcheck 200 null ${hcauth}
Should Be Equal As Strings ${resp.json()['code']} 200
-Statistics
- [Documentation] Verify policy distribution statistics
- ${hcauth}= PolicyAdminAuth
- ${resp}= PerformGetRequest ${DISTRIBUTION_IP} /statistics 200 null ${hcauth}
- Should Be Equal As Strings ${resp.json()['code']} 200
-
-Metrics
- [Documentation] Verify policy-distribution is exporting prometheus metrics
- ${hcauth}= PolicyAdminAuth
- ${resp}= PerformGetRequest ${DISTRIBUTION_IP} /metrics 200 null ${hcauth}
- Should Contain ${resp.text} total_distribution_received_count_total 0.0
- Should Contain ${resp.text} distribution_success_count_total 0.0
- Should Contain ${resp.text} distribution_failure_count_total 0.0
- Should Contain ${resp.text} total_download_received_count_total 0.0
- Should Contain ${resp.text} download_success_count_total 0.0
- Should Contain ${resp.text} download_failure_count_total 0.0
-
InvokeDistributionAndRunEventOnEngine
Wait Until Keyword Succeeds 5 min 30 sec InvokeDistributionUsingFile And RunEventOnApexEngine
[Documentation] Validate if system healthcheck response time is under 1000ms
ValidateResponseTime pap-metrics /components/healthcheck GET 10000
-ValidateResponseTimeForStatistics
- [Documentation] Validate statistics response time
- ValidateResponseTimeForPap /statistics GET
-
# TODO: includes notification, so always over 500ms
# ValidateResponseTimeCreateGroup
# [Documentation] Validate create group response time
Should Contain ${resp.text} spring_data_repository_invocations_seconds_count{exception="None",method="findByKeyName",repository="PdpGroupRepository",state="SUCCESS",} 1.0
Should Contain ${resp.text} spring_data_repository_invocations_seconds_count{exception="None",method="findAll",repository="PolicyStatusRepository",state="SUCCESS",}
-Statistics
- [Documentation] Verify policy pap statistics
- ${resp}= GetReq /policy/pap/v1/statistics
- Should Be Equal As Strings ${resp.json()['code']} 200
-
AddPdpGroup
[Documentation] Add a new PdpGroup named 'testGroup' in the policy database
${postjson}= Get file ${CURDIR}/data/create.group.request.json
# ValidateDeploymentTime
# ValidateResponseTime pap-metrics /components/healthcheck GET 10000
# ValidateResponseTimeForPap /healthcheck GET
-# ValidateResponseTimeForPap /statistics GET
# ValidateResponseTimeForPap /policies/audit GET
# ValidateResponseTimeForPap /pdps/groups/{name} PUT
# ValidateResponseTimeForPap /pdps/policies/{name} DELETE
${resp}= PdpxGetReq /policy/pdpx/v1/healthcheck
Should Be Equal As Strings ${resp.json()['code']} 200
-Statistics
- [Documentation] Verify policy xacml-pdp statistics
- ${resp}= PdpxGetReq /policy/pdpx/v1/statistics
- Should Be Equal As Strings ${resp.json()['code']} 200
-
Metrics
[Documentation] Verify policy-xacml-pdp is exporting prometheus metrics
${resp}= PdpxGetReq /metrics
CreateOptimizationPolicy
Wait Until Keyword Succeeds 1 min 15 sec GetDefaultDecision
DeployPolicies
- Wait Until Keyword Succeeds 1 min 15 sec GetStatisticsAfterDeployed
Wait Until Keyword Succeeds 1 min 15 sec GetAbbreviatedDecisionResult
Wait Until Keyword Succeeds 1 min 15 sec GetMonitoringDecision
Wait Until Keyword Succeeds 1 min 15 sec GetNamingDecision
Wait Until Keyword Succeeds 1 min 15 sec GetOptimizationDecision
- Wait Until Keyword Succeeds 1 min 15 sec GetStatisticsAfterDecision
UndeployMonitorPolicy
- Wait Until Keyword Succeeds 1 min 15 sec GetStatisticsAfterUndeploy
*** Keywords ***
Sleep 5s
${result}= CheckTopic POLICY-PDP-PAP ACTIVE
Should Contain ${result} responseTo
- Should Contain ${result} xacml
+ Should Contain ${result} xacml
Should Contain ${result} onap.restart.tca
-GetStatisticsAfterDeployed
- [Documentation] Verify policy xacml-pdp statistics after policy is deployed
- ${resp}= PdpxGetReq /policy/pdpx/v1/statistics
- Should Be Equal As Strings ${resp.json()['code']} 200
- Should Be Equal As Strings ${resp.json()['totalPoliciesCount']} 3
-
GetAbbreviatedDecisionResult
[Documentation] Get Decision with abbreviated results from Policy Xacml PDP
${postjson}= Get file ${CURDIR}/data/onap.policy.monitoring.decision.request.json
Dictionary Should Contain Key ${policy} properties
Dictionary Should Contain Key ${policy} name
-GetStatisticsAfterDecision
- [Documentation] Runs Policy Xacml PDP Statistics after Decision request
- ${resp}= PdpxGetReq /policy/pdpx/v1/statistics
- Should Be Equal As Strings ${resp.json()['code']} 200
- Should Be Equal As Strings ${resp.json()['permitDecisionsCount']} 4
- Should Be Equal As Strings ${resp.json()['notApplicableDecisionsCount']} 1
-
UndeployMonitorPolicy
[Documentation] Runs Policy PAP to undeploy a policy
${policyadmin}= PolicyAdminAuth
PerformDeleteRequest ${POLICY_PAP_IP} /policy/pap/v1/pdps/policies/onap.restart.tca 202 ${policyadmin}
-GetStatisticsAfterUndeploy
- [Documentation] Runs Policy Xacml PDP Statistics after policy is undeployed
- ${resp}= PdpxGetReq /policy/pdpx/v1/statistics
- Should Be Equal As Strings ${resp.json()['code']} 200
- Should Be Equal As Strings ${resp.json()['totalPoliciesCount']} 2
-
PdpxGetReq
[Arguments] ${url}
${hcauth}= PolicyAdminAuth