Step 2: Move test folder to root
[integration/test.git] / csit / suites / groupbasedpolicy / GBP_Basic / 020_gbp_tenant.robot
1 *** Settings ***
2 Documentation     Test suite for GBP Tenants, Operates functions from Restconf APIs.
3 Suite Setup       Create Session    session    http://${CONTROLLER}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
4 Suite Teardown    Delete All Sessions
5 Library           SSHLibrary
6 Library           Collections
7 Library           OperatingSystem
8 Library           RequestsLibrary
9 Variables         ../../../variables/Variables.py
10 Resource          ../../../libraries/Utils.robot
11
12 *** Variables ***
13 ${GBP_TENANTS_FILE}  ../../../variables/gbp/tenants.json
14
15 ${GBP_TENENT_ID}     f5c7d344-d1c7-4208-8531-2c2693657e12
16 ${GBP_TENANT1_API}    /restconf/config/policy:tenants/policy:tenant/${GBP_TENENT_ID}
17 ${GBP_TENANT1_FILE}  ../../../variables/gbp/tenant1.json
18
19
20 *** Test Cases ***
21 Add Tenants
22     [Documentation]    Add Tenants from JSON file
23     Add Elements To URI From File    ${GBP_TENANTS_API}    ${GBP_TENANTS_FILE}
24     ${body}    OperatingSystem.Get File    ${GBP_TENANTS_FILE}
25     ${jsonbody}    To Json    ${body}
26     ${resp}    RequestsLibrary.Get    session    ${GBP_TENANTS_API}
27     Should Be Equal As Strings    ${resp.status_code}    200
28     ${result}    To JSON    ${resp.content}
29     Lists Should be Equal    ${jsonbody}    ${result}
30
31 Delete All Tenants
32     [Documentation]    Delete all Tenants
33     Add Elements To URI From File    ${GBP_TENANTS_API}    ${GBP_TENANTS_FILE}
34     ${body}    OperatingSystem.Get File    ${GBP_TENANTS_FILE}
35     ${jsonbody}    To Json    ${body}
36     ${resp}    RequestsLibrary.Get    session    ${GBP_TENANTS_API}
37     Should Be Equal As Strings    ${resp.status_code}    200
38     Remove All Elements At URI    ${GBP_TENANTS_API}
39     ${resp}    RequestsLibrary.Get    session    ${GBP_TENANTS_API}
40     Should Be Equal As Strings    ${resp.status_code}    404
41
42 Add one Tenant
43     [Documentation]    Add one Tenant from JSON file
44     Add Elements To URI From File    ${GBP_TENANT1_API}    ${GBP_TENANT1_FILE}
45     ${body}    OperatingSystem.Get File    ${GBP_TENANT1_FILE}
46     ${jsonbody}    To Json    ${body}
47     ${resp}    RequestsLibrary.Get    session    ${GBP_TENANT1_API}
48     Should Be Equal As Strings    ${resp.status_code}    200
49     ${result}    To JSON    ${resp.content}
50     Lists Should be Equal    ${result}    ${jsonbody}
51
52 Get A Non-existing Tenant
53     [Documentation]    Get A Non-existing Tenant
54     Remove All Elements At URI    ${GBP_TENANTS_API}
55     ${resp}    RequestsLibrary.Get    session    ${GBP_TENANT1_API}
56     Should Be Equal As Strings    ${resp.status_code}    404
57
58 Delete one Tenant
59     [Documentation]    Delete one Tenant
60     Remove All Elements At URI    ${GBP_TENANTS_API}
61     Add Elements To URI From File    ${GBP_TENANT1_API}    ${GBP_TENANT1_FILE}
62     Remove All Elements At URI    ${GBP_TENANT1_API}
63     ${resp}    RequestsLibrary.Get    session    ${GBP_TENANTS_API}
64     Should Be Equal As Strings    ${resp.status_code}    200
65     Should Not Contain    ${resp.content}    ${GBP_TENENT_ID}
66
67 Clean Datastore After Tests
68     [Documentation]    Clean All Tenants In Datastore After Tests
69     Remove All Elements At URI    ${GBP_TENANTS_API}