blob: 62a01b94d5121455706b04a03260d49528da4744 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
*** Settings ***
Library Collections
Library RequestsLibrary
Library OperatingSystem
Library json
*** Test Cases ***
Healthcheck
[Documentation] Runs Apex PDP Health check
${auth}= Create List healthcheck zb!XztG34
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 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
Set Suite Variable ${pdpName} ${resp.json()['name']}
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 ***
CreatePolicy
[Documentation] Create a new Apex policy
${auth}= Create List healthcheck zb!XztG34
${postjson}= Get file ${CURDIR}/data/onap.policies.native.Apex.tosca.json
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 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
DeployPolicy
[Documentation] Deploy the policy in apex-pdp engine
${auth}= Create List healthcheck zb!XztG34
${postjson}= Get file ${CURDIR}/data/pdp_update.json
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 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']} ${pdpName}
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 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/${pdpName} 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']} ${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
|