summaryrefslogtreecommitdiffstats
path: root/csit/pap/tests/pap-test.robot
blob: f31f2426365277375d02c658e6b06d6bb8ec827b (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
*** Settings ***
Library     Collections
Library     RequestsLibrary
Library     OperatingSystem
Library     json

*** Test Cases ***
LoadPolicy
     [Documentation]    Loads prerequisite Policy via API
     ${auth}=    Create List    healthcheck    zb!XztG34
     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
     ${postjson}=  Get file  ${DATA}/vCPE.policy.monitoring.input.tosca.json
     ${resp}=   POST On Session     policy  /policy/api/v1/policytypes/onap.policies.monitoring.tcagen2/versions/1.0.0/policies    data=${postjson}     headers=${headers}
     Log    Received response from API ${resp.text}
     Should Be Equal As Strings    ${resp.status_code}     200

Healthcheck
     [Documentation]    Verify policy pap health check
     ${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/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

Statistics
     [Documentation]    Verify policy pap statistics
     ${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/statistics     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

CreatePdpGroups
     [Documentation]    Runs Policy PAP Create PDP Groups
     ${auth}=    Create List    healthcheck    zb!XztG34
     Log    Creating session https://${POLICY_PAP_IP}:6969
     ${postjson}=  Get file  ${CURDIR}/data/create.group.request.json
     ${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/groups/batch    data=${postjson}     headers=${headers}
     Log    Received response from policy ${resp.text}
     Should Be Equal As Strings    ${resp.status_code}     200

ActivatePdpGroup
     [Documentation]    Runs Policy PAP Change PDP Group State to ACTIVE
     ${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}=    PUT On Session    policy    /policy/pap/v1/pdps/groups/create.group.request    params=state=ACTIVE    headers=${headers}
     Log    Received response from policy ${resp.text}
     Should Be Equal As Strings    ${resp.status_code}     200

QueryPdpGroups
     [Documentation]    Runs Policy PAP Query PDP Groups
     ${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     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()['groups'][0]['name']}  create.group.request
     Should Be Equal As Strings    ${resp.json()['groups'][0]['pdpGroupState']}  ACTIVE
     Should Be Equal As Strings    ${resp.json()['groups'][1]['name']}  defaultGroup

DeployPdpGroups
     [Documentation]    Runs Policy PAP Deploy Policies to PDP Groups
     ${auth}=    Create List    healthcheck    zb!XztG34
     Log    Creating session https://${POLICY_PAP_IP}:6969
     ${postjson}=  Get file  ${CURDIR}/data/deploy.group.request.json
     ${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

QueryPolicyAuditAfterDeploy
     [Documentation]    Runs Policy PAP Query Policy Audit after Deploy
     ${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/audit    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()[0]['pdpGroup']}  create.group.request
     Should Be Equal As Strings    ${resp.json()[0]['pdpType']}  pdpTypeA
     Should Be Equal As Strings    ${resp.json()[0]['policy']['name']}  onap.restart.tca
     Should Be Equal As Strings    ${resp.json()[0]['policy']['version']}  1.0.0
     Should Be Equal As Strings    ${resp.json()[0]['action']}  DEPLOYMENT
     Should Be Equal As Strings    ${resp.json()[0]['user']}  healthcheck

UndeployPolicy
     [Documentation]    Runs Policy PAP Undeploy a Policy from PDP Groups
     ${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}=   DELETE On Session     policy  /policy/pap/v1/pdps/policies/onap.restart.tca     headers=${headers}
     Log    Received response from policy ${resp.text}
     Should Be Equal As Strings    ${resp.status_code}     202

QueryPdpGroupsAfterUndeploy
     [Documentation]    Runs Policy PAP Query PDP Groups after Undeploy
     ${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     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()['groups'][0]['name']}  create.group.request
     Should Be Equal As Strings    ${resp.json()['groups'][0]['pdpSubgroups'][0]['policies']}  []

QueryPolicyAuditAfterUnDeploy
     [Documentation]    Runs Policy PAP Query Policy Audit after Undeploy
     ${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/audit    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()[0]['pdpGroup']}  create.group.request
     Should Be Equal As Strings    ${resp.json()[0]['pdpType']}  pdpTypeA
     Should Be Equal As Strings    ${resp.json()[0]['policy']['name']}  onap.restart.tca
     Should Be Equal As Strings    ${resp.json()[0]['policy']['version']}  1.0.0
     Should Be Equal As Strings    ${resp.json()[0]['action']}  UNDEPLOYMENT
     Should Be Equal As Strings    ${resp.json()[0]['user']}  healthcheck

DeactivatePdpGroup
     [Documentation]    Runs Policy PAP Change PDP Group State to PASSIVE
     ${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}=    PUT On Session    policy    /policy/pap/v1/pdps/groups/create.group.request    params=state=PASSIVE    headers=${headers}
     Log    Received response from policy ${resp.text}
     Should Be Equal As Strings    ${resp.status_code}     200

DeletePdpGroups
     [Documentation]    Runs Policy PAP Delete PDP Groups
     ${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}=   DELETE On Session     policy  /policy/pap/v1/pdps/groups/create.group.request     headers=${headers}
     Log    Received response from policy ${resp.text}
     Should Be Equal As Strings    ${resp.status_code}     200

QueryPdpGroupsAfterDelete
     [Documentation]    Runs Policy PAP Query PDP Groups after Delete
     ${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     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()['groups'][0]['name']}  defaultGroup