Step 2: Move test folder to root
[integration/test.git] / csit / suites / openflowplugin / AD_SAL_NSF_OF10 / 020__topology_manager.robot
1 *** Settings ***
2 Documentation     Test suite for Topology Manager
3 Suite Setup       Create Session    session    http://${CONTROLLER}:${RESTPORT}    auth=${AUTH}    headers=${HEADERS}
4 Suite Teardown    Delete All Sessions
5 Library           Collections
6 Library           RequestsLibrary
7 Library           ../../../libraries/Common.py
8 Variables         ../../../variables/Variables.py
9 Resource          ../../../libraries/Utils.robot
10
11 *** Variables ***
12 ${node1}          "00:00:00:00:00:00:00:01"
13 ${node2}          "00:00:00:00:00:00:00:02"
14 ${node3}          "00:00:00:00:00:00:00:03"
15 ${name}           test_userlink1
16 ${REST_CONTEXT}    /controller/nb/v2/topology
17
18 *** Test Cases ***
19 Get Topology
20     [Documentation]    Get Topology and validate the result.
21     [Tags]    adsal
22     Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${REST_CONTEXT}/${CONTAINER}    ${node1}    4
23     Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${REST_CONTEXT}/${CONTAINER}    ${node1}    4
24     Wait Until Keyword Succeeds    10s    2s    Check For Specific Number Of Elements At URI    ${REST_CONTEXT}/${CONTAINER}    ${node1}    4
25
26 Add a userlink
27     [Documentation]    Add a userlink, list to validate the result.
28     [Tags]    adsal
29     ${body}    Set Variable    {"name":"${name}", "status":"Success", "srcNodeConnector":"OF|1@OF|00:00:00:00:00:00:00:02", "dstNodeConnector":"OF|1@OF|00:00:00:00:00:00:00:03"}
30     ${expected_content}    To JSON    ${body}
31     ${resp}    RequestsLibrary.Put    session    ${REST_CONTEXT}/${CONTAINER}/userLink/${name}    data=${body}
32     Should Be Equal As Strings    ${resp.status_code}    201
33     ${resp}    RequestsLibrary.Get    session    ${REST_CONTEXT}/${CONTAINER}/userLinks
34     Should Be Equal As Strings    ${resp.status_code}    200
35     ${result}    To JSON    ${resp.content}
36     ${resp_content}    Get From Dictionary    ${result}    userLinks
37     List Should Contain Value    ${resp_content}    ${expected_content}
38
39 Remove a userlink
40     [Documentation]    Remove a userlink, list to validate the result.
41     [Tags]    adsal
42     ${expected_content}    Create Dictionary    name=${name}    status=Success    srcNodeConnector=OF|1@OF|00:00:00:00:00:00:00:02    dstNodeConnector=OF|1@OF|00:00:00:00:00:00:00:03
43     ${resp}    RequestsLibrary.Delete    session    ${REST_CONTEXT}/${CONTAINER}/userLink/${name}
44     Should Be Equal As Strings    ${resp.status_code}    204
45     ${resp}    RequestsLibrary.Get    session    ${REST_CONTEXT}/${CONTAINER}/userLinks
46     Should Be Equal As Strings    ${resp.status_code}    200
47     ${result}    To JSON    ${resp.content}
48     ${resp_content}    Get From Dictionary    ${result}    userLinks
49     List Should Not Contain Value    ${resp_content}    ${expected_content}