2 Documentation Test suite for GBP Tenants, Operates functions from Restconf APIs.
3 Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
4 Suite Teardown Delete All Sessions
7 Library OperatingSystem
8 Library RequestsLibrary
9 Variables ../../../variables/Variables.py
10 Resource ../../../libraries/Utils.robot
14 [Documentation] Initialize ODL version specific variables
16 Run Keyword If '${ODL_VERSION}' == 'stable-lithium' Init Variables Lithium
17 ... ELSE Init Variables Master
20 [Documentation] Add Tenants from JSON file
21 Add Elements To URI From File ${GBP_TENANTS_API} ${GBP_TENANTS_FILE}
22 ${body} OperatingSystem.Get File ${GBP_TENANTS_FILE}
23 ${jsonbody} To Json ${body}
24 ${resp} RequestsLibrary.Get Request session ${GBP_TENANTS_API}
25 Should Be Equal As Strings ${resp.status_code} 200
26 ${result} To JSON ${resp.content}
27 Lists Should be Equal ${jsonbody} ${result}
30 [Documentation] Delete all Tenants
31 Add Elements To URI From File ${GBP_TENANTS_API} ${GBP_TENANTS_FILE}
32 ${body} OperatingSystem.Get File ${GBP_TENANTS_FILE}
33 ${jsonbody} To Json ${body}
34 ${resp} RequestsLibrary.Get Request session ${GBP_TENANTS_API}
35 Should Be Equal As Strings ${resp.status_code} 200
36 Remove All Elements At URI ${GBP_TENANTS_API}
37 ${resp} RequestsLibrary.Get Request session ${GBP_TENANTS_API}
38 Should Be Equal As Strings ${resp.status_code} 404
41 [Documentation] Add one Tenant from JSON file
42 Add Elements To URI From File ${GBP_TENANT1_API} ${GBP_TENANT1_FILE}
43 ${body} OperatingSystem.Get File ${GBP_TENANT1_FILE}
44 ${jsonbody} To Json ${body}
45 ${resp} RequestsLibrary.Get Request session ${GBP_TENANT1_API}
46 Should Be Equal As Strings ${resp.status_code} 200
47 ${result} To JSON ${resp.content}
48 Lists Should be Equal ${result} ${jsonbody}
50 Get A Non-existing Tenant
51 [Documentation] Get A Non-existing Tenant
52 Remove All Elements At URI ${GBP_TENANTS_API}
53 ${resp} RequestsLibrary.Get Request session ${GBP_TENANT1_API}
54 Should Be Equal As Strings ${resp.status_code} 404
57 [Documentation] Delete one Tenant
58 Remove All Elements At URI ${GBP_TENANTS_API}
59 Add Elements To URI From File ${GBP_TENANT1_API} ${GBP_TENANT1_FILE}
60 Remove All Elements At URI ${GBP_TENANT1_API}
61 ${resp} RequestsLibrary.Get Request session ${GBP_TENANTS_API}
62 Should Be Equal As Strings ${resp.status_code} 200
63 Should Not Contain ${resp.content} ${GBP_TENANT_ID}
65 Clean Datastore After Tests
66 [Documentation] Clean All Tenants In Datastore After Tests
67 Remove All Elements At URI ${GBP_TENANTS_API}
71 [Documentation] Sets variables specific to latest(master) version
72 Set Suite Variable ${GBP_TENANT_ID} tenant-red
73 Set Suite Variable ${GBP_TENANT1_API} /restconf/config/policy:tenants/policy:tenant/${GBP_TENANT_ID}
74 Set Suite Variable ${GBP_TENANTS_FILE} ${CURDIR}../../../variables/gbp/master/tenants.json
75 Set Suite Variable ${GBP_TENANT1_FILE} ${CURDIR}../../../variables/gbp/master/tenant1.json
77 Init Variables Lithium
78 [Documentation] Sets variables specific to Lithium version
79 Set Suite Variable ${GBP_TENANT_ID} f5c7d344-d1c7-4208-8531-2c2693657e12
80 Set Suite Variable ${GBP_TENANT1_API} /restconf/config/policy:tenants/policy:tenant/${GBP_TENANT_ID}
81 Set Suite Variable ${GBP_TENANTS_FILE} ${CURDIR}../../../variables/gbp/lithium/tenants.json
82 Set Suite Variable ${GBP_TENANT1_FILE} ${CURDIR}../../../variables/gbp/lithium/tenant1.json