1b12f4c628b20a60a2e8ae1c48cf96cc44730661
[integration/test.git] / test / csit / suites / base / 010_topology_manager.txt
1 *** Settings ***
2 Documentation     Test suite for Topology Manager
3 Suite Teardown    Delete All Sessions
4 Library           Collections
5 Library           ../../libraries/RequestsLibrary.py
6 Library           ../../libraries/Common.py
7 Variables         ../../variables/Variables.py
8
9 *** Variables ***
10 ${nodeconn1}   NodeConnector":{"type":"OF","node":{"type":"OF","id":"00:00:00:00:00:00:00:01"},"id":"1"}
11 ${nodeconn2}   NodeConnector":{"type":"OF","node":{"type":"OF","id":"00:00:00:00:00:00:00:01"},"id":"2"}
12 ${nodeconn3}   NodeConnector":{"type":"OF","node":{"type":"OF","id":"00:00:00:00:00:00:00:02"},"id":"3"}
13 ${nodeconn4}   NodeConnector":{"type":"OF","node":{"type":"OF","id":"00:00:00:00:00:00:00:03"},"id":"3"}
14 ${name}           test_userlink1
15 ${key}            userLinks
16 ${REST_CONTEXT}    /controller/nb/v2/topology
17
18 *** Test Cases ***
19 Get Topology
20     [Documentation]    Get Topology and validate the result.
21     [Tags]    get
22     ${headers}    Create Dictionary    Content-Type    application/json
23     Create Session    session    http://${CONTROLLER}:8080   headers=${headers}    auth=${auth}
24     ${resp}    Get    session    ${REST_CONTEXT}/${CONTAINER}
25     Should Be Equal As Strings    ${resp.status_code}    200    Response    status code error
26     Log    ${resp.content}
27     Should Contain X Times  ${resp.content}   ${nodeconn1}   2
28     Should Contain X Times  ${resp.content}   ${nodeconn2}   2
29     Should Contain X Times  ${resp.content}   ${nodeconn3}   2
30     Should Contain X Times  ${resp.content}   ${nodeconn4}   2
31 Add a userlink
32     [Documentation]    Add a userlink, list to validate the result.
33     [Tags]    add
34     ${body}    Create Dictionary    name    ${name}    status    Success    srcNodeConnector
35     ...    OF|1@OF|00:00:00:00:00:00:00:02    dstNodeConnector    OF|1@OF|00:00:00:00:00:00:00:03
36     ${headers}    Create Dictionary    Content-Type    application/json
37     Create Session    session    http://${CONTROLLER}:8080    headers=${headers}    auth=${auth}
38     ${resp}    Put    session    ${REST_CONTEXT}/${CONTAINER}/userLink/${name}    data=${body}
39     Should Be Equal As Strings    ${resp.status_code}    201    Response status code error
40     ${resp}    Get    session    ${REST_CONTEXT}/${CONTAINER}/userLinks
41     Should Be Equal As Strings    ${resp.status_code}    200    Response status code error
42     ${result}    To JSON    ${resp.content}
43     ${content}    Get From Dictionary    ${result}    ${key}
44     List Should Contain Value    ${content}    ${body}
45
46 Remove a userlink
47     [Documentation]    Remove a userlink, list to validate the result.
48     [Tags]    remove
49     ${body}    Create Dictionary    name    ${name}    status    Success    srcNodeConnector
50     ...    OF|1@OF|00:00:00:00:00:00:00:02    dstNodeConnector    OF|1@OF|00:00:00:00:00:00:00:03
51     ${headers}    Create Dictionary    Content-Type    application/json
52     Create Session    session    http://${CONTROLLER}:8080    headers=${headers}    auth=${auth}
53     ${resp}    Delete    session    ${REST_CONTEXT}/${CONTAINER}/userLink/${name}
54     Should Be Equal As Strings    ${resp.status_code}    204    Response status code error
55     ${resp}    Get    session    ${REST_CONTEXT}/${CONTAINER}/userLinks
56     Should Be Equal As Strings    ${resp.status_code}    200    Response status code error
57     ${result}    To JSON    ${resp.content}
58     ${content}    Get From Dictionary    ${result}    ${key}
59     List Should Not Contain Value    ${content}    ${body}