2 Library OperatingSystem
3 Library RequestsLibrary
8 ${CRKEYVALUE1} cr-integration-test1
9 ${CRKEYVALUE2} cr-integration-test2
10 ${TENANTKEYVALUE} tenant-integration-test1
11 ${VSERVERKEYVALUE1} vserver-integration-test1
12 ${VSERVERKEYVALUE2} vserver-integration-test2
13 ${SNAPSHOTKEYVALUE1} snapshot-integration-test1
14 ${SNAPSHOTKEYVALUE2} snapshot-integration-test2
16 ${CRURL} https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CRKEYVALUE1}/${CRKEYVALUE2}
17 ${TENANTURL} https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CRKEYVALUE1}/${CRKEYVALUE2}/tenants/tenant/${TENANTKEYVALUE}
18 ${VSERVERURL1} https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CRKEYVALUE1}/${CRKEYVALUE2}/tenants/tenant/${TENANTKEYVALUE}/vservers/vserver/${VSERVERKEYVALUE1}
19 ${VSERVERURL2} https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CRKEYVALUE1}/${CRKEYVALUE2}/tenants/tenant/${TENANTKEYVALUE}/vservers/vserver/${VSERVERKEYVALUE2}
20 ${SNAPSHOTURL1} https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CRKEYVALUE1}/${CRKEYVALUE2}/snapshots/snapshot/${SNAPSHOTKEYVALUE1}
21 ${SNAPSHOTURL2} https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CRKEYVALUE1}/${CRKEYVALUE2}/snapshots/snapshot/${SNAPSHOTKEYVALUE2}
22 ${RELATIONSHIPURL1} https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CRKEYVALUE1}/${CRKEYVALUE2}/tenants/tenant/${TENANTKEYVALUE}/vservers/vserver/${VSERVERKEYVALUE1}/relationship-list/relationship
23 ${RELATIONSHIPURL2} https://${HOST_IP}:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/${CRKEYVALUE1}/${CRKEYVALUE2}/snapshots/snapshot/${SNAPSHOTKEYVALUE1}/relationship-list/relationship
24 ${CRDATA} {"cloud-owner":"${CRKEYVALUE1}","cloud-region-id":"${CRKEYVALUE2}","owner-defined-type":"example-owner-defined-type-987654321-09","cloud-region-version":"example-cloud-region-version-987654321-09","identity-url":"example-identity-url-987654321-09","cloud-zone":"example-cloud-zone-987654321-09","complex-name":"example-complex-name-987654321-09"}
25 ${TENANTDATA} {"tenant-id":"${TENANTKEYVALUE}","tenant-name":"tenant-name-0999"}
26 ${VSERVERDATA1} {"vserver-id":"${VSERVERKEYVALUE1}","vserver-name":"example-vserver-name-val-7367","vserver-name2":"example-vserver-name2-val-7367","prov-status":"example-prov-status-val-7367","vserver-selflink":"example-vserver-selflink-val-7367"}
27 ${VSERVERDATA2} {"vserver-id":"${VSERVERKEYVALUE2}","vserver-name":"example-vserver-name-val-73678","vserver-name2":"example-vserver-name2-val-73867","prov-status":"example-prov-status-val-73867","vserver-selflink":"example-vserver-selflink-val-73687"}
28 ${SNAPSHOTDATA1} {"snapshot-id":"${SNAPSHOTKEYVALUE1}"}
29 ${SNAPSHOTDATA2} {"snapshot-id":"${SNAPSHOTKEYVALUE2}"}
30 ${RELATIONSHIPDATA1} {"related-to":"snapshot","relationship-data":[{"relationship-key":"snapshot.snapshot-id","relationship-value":"${SNAPSHOTKEYVALUE1}"},{"relationship-key":"cloud-region.cloud-owner","relationship-value":"${CRKEYVALUE1}"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"${CRKEYVALUE2}"}]}
31 ${RELATIONSHIPDATA2} {"related-to":"snapshot","relationship-data":[{"relationship-key":"snapshot.snapshot-id","relationship-value":"${SNAPSHOTKEYVALUE2}"},{"relationship-key":"cloud-region.cloud-owner","relationship-value":"${CRKEYVALUE1}"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"${CRKEYVALUE2}"}]}
32 ${RELATIONSHIPDATA3} {"related-to":"vserver","relationship-data":[{"relationship-key":"vserver.vserver-id","relationship-value":"${VSERVERKEYVALUE2}"},{"relationship-key":"tenant.tenant-id","relationship-value":"${TENANTKEYVALUE}"},{"relationship-key":"cloud-region.cloud-owner","relationship-value":"${CRKEYVALUE1}"},{"relationship-key":"cloud-region.cloud-region-id","relationship-value":"${CRKEYVALUE2}"}]}
35 Run AAI Put cloud-region
36 [Documentation] Create an cloud-region object
37 ${resp}= PutWithCert ${CRURL} ${CRDATA}
40 Should Be Equal As Strings ${resp.status_code} 201
43 [Documentation] Create an tenant object
44 ${resp}= PutWithCert ${TENANTURL} ${TENANTDATA}
47 Should Be Equal As Strings ${resp.status_code} 201
50 [Documentation] Create an vserver1 object
51 ${resp}= PutWithCert ${VSERVERURL1} ${VSERVERDATA1}
54 Should Be Equal As Strings ${resp.status_code} 201
57 [Documentation] Create an vserver2 object
58 ${resp}= PutWithCert ${VSERVERURL2} ${VSERVERDATA2}
61 Should Be Equal As Strings ${resp.status_code} 201
64 [Documentation] Create an snapshot1 object
65 ${resp}= PutWithCert ${SNAPSHOTURL1} ${SNAPSHOTDATA1}
68 Should Be Equal As Strings ${resp.status_code} 201
71 [Documentation] Create an snapshot2 object
72 ${resp}= PutWithCert ${SNAPSHOTURL2} ${SNAPSHOTDATA2}
75 Should Be Equal As Strings ${resp.status_code} 201
77 Run AAI Put relationship vserver1 and snapshot1
78 [Documentation] Create relationship vserver1 and snapshot1
79 ${resp}= PutWithCert ${RELATIONSHIPURL1} ${RELATIONSHIPDATA1}
80 log ${RELATIONSHIPURL1}
82 Should Be Equal As Strings ${resp.status_code} 200
84 Run AAI Put relationship vserver1 and snapshot2 (NOT ALLOW)
85 [Documentation] Create relationship vserver1 and snapshot2 (NOT ALLOW)
86 ${resp}= PutWithCert ${RELATIONSHIPURL1} ${RELATIONSHIPDATA2}
87 log ${RELATIONSHIPURL1}
89 Should Be Equal As Strings ${resp.status_code} 400
91 Run AAI Put relationship snapshot1 and vserver2 (NOT ALLOW)
92 [Documentation] Create relationship snapshot1 and vserver2 (NOT ALLOW)
93 ${resp}= PutWithCert ${RELATIONSHIPURL2} ${RELATIONSHIPDATA3}
94 log ${RELATIONSHIPURL2}
96 Should Be Equal As Strings ${resp.status_code} 400
98 Run AAI Get vserver1 to delete
99 [Documentation] Get vserver1 object to delete
100 ${resp} GetWithCert ${VSERVERURL1}
103 Should Be Equal As Strings ${resp.status_code} 200
104 ${resource_version}= Evaluate $resp.json().get('resource-version')
105 Set Global Variable ${resource_version}
107 Run AAI Delete vserver1
108 [Documentation] Delete the vserver1
109 ${resp}= DeleteWithCert ${VSERVERURL1}?resource-version=${resource_version}
111 Should Be Equal As Strings ${resp.status_code} 204
113 Run AAI Get vserver2 to delete
114 [Documentation] Get vserver2 object to delete
115 ${resp} GetWithCert ${VSERVERURL2}
118 Should Be Equal As Strings ${resp.status_code} 200
119 ${resource_version}= Evaluate $resp.json().get('resource-version')
120 Set Global Variable ${resource_version}
122 Run AAI Delete vserver2
123 [Documentation] Delete the vserver2
124 ${resp}= DeleteWithCert ${VSERVERURL2}?resource-version=${resource_version}
126 Should Be Equal As Strings ${resp.status_code} 204
128 Run AAI Get snapshot1 to delete
129 [Documentation] Get snapshot1 object to delete
130 ${resp} GetWithCert ${SNAPSHOTURL1}
133 Should Be Equal As Strings ${resp.status_code} 200
134 ${resource_version}= Evaluate $resp.json().get('resource-version')
135 Set Global Variable ${resource_version}
137 Run AAI Delete snapshot1
138 [Documentation] Delete the snapshot1
139 ${resp}= DeleteWithCert ${SNAPSHOTURL1}?resource-version=${resource_version}
141 Should Be Equal As Strings ${resp.status_code} 204
143 Run AAI Get snapshot2 to delete
144 [Documentation] Get snapshot2 object to delete
145 ${resp} GetWithCert ${SNAPSHOTURL2}
148 Should Be Equal As Strings ${resp.status_code} 200
149 ${resource_version}= Evaluate $resp.json().get('resource-version')
150 Set Global Variable ${resource_version}
152 Run AAI Delete snapshot2
153 [Documentation] Delete the snapshot2
154 ${resp}= DeleteWithCert ${SNAPSHOTURL2}?resource-version=${resource_version}
156 Should Be Equal As Strings ${resp.status_code} 204
158 Run AAI Get tenant to delete
159 [Documentation] Get tenant object to delete
160 ${resp} GetWithCert ${TENANTURL}
163 Should Be Equal As Strings ${resp.status_code} 200
164 ${resource_version}= Evaluate $resp.json().get('resource-version')
165 Set Global Variable ${resource_version}
167 Run AAI Delete tenant
168 [Documentation] Delete the tenant
169 ${resp}= DeleteWithCert ${TENANTURL}?resource-version=${resource_version}
171 Should Be Equal As Strings ${resp.status_code} 204
173 Run AAI Get cr to delete
174 [Documentation] Get cr object to delete
175 ${resp} GetWithCert ${CRURL}
178 Should Be Equal As Strings ${resp.status_code} 200
179 ${resource_version}= Evaluate $resp.json().get('resource-version')
180 Set Global Variable ${resource_version}
183 [Documentation] Delete the cr
184 ${resp}= DeleteWithCert ${CRURL}?resource-version=${resource_version}
186 Should Be Equal As Strings ${resp.status_code} 204
190 [Arguments] ${url} ${data}
191 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=integration-aai X-FromAppId=integration-aai Authorization=Basic QUFJOkFBSQ==
192 ${certinfo}= Evaluate ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
193 ${resp}= Evaluate requests.put('${url}', data='${data}', headers=${headers}, cert=${certinfo}, verify=False) requests
197 [Arguments] ${url} ${data}
198 ${headers}= Create Dictionary Accept=application/json Content-Type=application/merge-patch+json X-TransactionId=integration-aai X-FromAppId=integration-aai Authorization=Basic QUFJOkFBSQ==
199 ${certinfo}= Evaluate ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
200 ${resp}= Evaluate requests.patch('${url}', data='${data}', headers=${headers}, cert=${certinfo}, verify=False) requests
204 [Arguments] ${url} ${data}
205 ${auth}= Create List AAI AAI
206 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=integration-aai X-FromAppId=integration-aai Authorization=Basic QUFJOkFBSQ==
207 ${certinfo}= Evaluate ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
208 ${resp}= Evaluate requests.post('${url}', data='${data}', headers=${headers}, cert=${certinfo}, verify=False) requests
213 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=integration-aai X-FromAppId=integration-aai Authorization=Basic QUFJOkFBSQ==
214 ${certinfo}= Evaluate ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
215 ${resp}= Evaluate requests.get('${url}', headers=${headers}, cert=${certinfo}, verify=False) requests
220 ${auth}= Create List AAI AAI
221 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=integration-aai X-FromAppId=integration-aai Authorization=Basic QUFJOkFBSQ==
222 ${certinfo}= Evaluate ('${CURDIR}/aai.crt', '${CURDIR}/aai.key')
223 ${resp}= Evaluate requests.delete('${url}', headers=${headers}, cert=${certinfo}, verify=False) requests