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