d2e5cdf0eb0c96dba61d5026f1bcfe2b39b8fe44
[integration/test.git] / csit / suites / groupbasedpolicy / Clustering_Datastore / 020_simple_clustering.robot
1 *** Settings ***
2 Documentation     Test suite for GBP Tenants, Operates functions from Restconf APIs.
3 Suite Teardown    Delete All Sessions
4 Library           RequestsLibrary
5 Library           SSHLibrary
6 Library           Collections
7 Library           OperatingSystem
8 Variables         ../../../variables/Variables.py
9 Resource          ../../../libraries/CompareStream.robot
10 Resource          ../../../libraries/Utils.robot
11
12 *** Test Cases ***
13 Init Variables
14     [Documentation]    Initialize ODL version specific variables using resource CompareStream.
15     Init Variables Master
16
17 Add Tenant to one node
18     [Documentation]    Add one Tenant from JSON file
19     Create Session    session    http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
20     ${jsonbody}    Read JSON From File    ${GBP_TENANT1_FILE}
21     Add Elements To URI From File    ${GBP_TENANT1_API}    ${GBP_TENANT1_FILE}    headers=${HEADERS_YANG_JSON}
22     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANT1_API}
23     Should Be Equal As Strings    ${resp.status_code}    200
24     ${result}    To JSON    ${resp.content}
25     Lists Should be Equal    ${result}    ${jsonbody}
26
27 Read Tenant from other node
28     Create Session    session    http://${ODL_SYSTEM_2_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
29     ${jsonbody}    Read JSON From File    ${GBP_TENANT1_FILE}
30     ${resp}    RequestsLibrary.Get Request    session    ${GBP_TENANT1_API}
31     Should Be Equal As Strings    ${resp.status_code}    200
32     ${result}    To JSON    ${resp.content}
33     Lists Should be Equal    ${result}    ${jsonbody}
34
35 *** Keywords ***
36 Read JSON From File
37     [Arguments]    ${filepath}
38     ${body}    OperatingSystem.Get File    ${filepath}
39     ${jsonbody}    To Json    ${body}
40     [Return]    ${jsonbody}
41
42 Init Variables Master
43     [Documentation]    Sets variables specific to latest(master) version
44     Set Suite Variable    ${GBP_TENANT_ID}    tenant-red
45     Set Suite Variable    ${GBP_TENANT1_API}    /restconf/config/policy:tenants/tenant/${GBP_TENANT_ID}
46     Set Suite Variable    ${GBP_TENANT1_FILE}    ${CURDIR}/../../../variables/gbp/master/tenant1.json