Add check for link down in basic OF test
[integration/test.git] / csit / suites / openflowplugin / MD_SAL_NSF_OF13 / 010__restconf_inventory.robot
1 *** Settings ***
2 Documentation     Test suite for RESTCONF inventory
3 Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
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 ${REST_CONTEXT}    /restconf/operational/opendaylight-inventory:nodes
13 ${VENDOR}         Nicira, Inc.
14 ${HARDWARE}       Open vSwitch
15 @{node_list}      openflow:1    openflow:2    openflow:3
16
17 *** Test Cases ***
18 Get list of nodes
19     [Documentation]    Get the inventory
20     Set Suite Variable    ${SW_IPADDRESS}    "flow-node-inventory:ip-address":"${TOOLS_SYSTEM_IP}"
21     Set Suite Variable    ${SW_VENDOR}    "flow-node-inventory:manufacturer":"${VENDOR}"
22     Set Suite Variable    ${SW_HARDWARE}    "flow-node-inventory:manufacturer":"${HARDWARE}"
23     Set Suite Variable    @{SW_CAPABILITIES}    "flow-node-inventory:flow-feature-capability-flow-stats"    "flow-node-inventory:flow-feature-capability-table-stats"    "flow-node-inventory:flow-feature-capability-port-stats"    "flow-node-inventory:flow-feature-capability-queue-stats"
24     Wait Until Keyword Succeeds    30s    2s    Ensure All Nodes Are In Response    ${REST_CONTEXT}    ${node_list}
25
26 Check No Link Down
27     [Documentation]    Check there is no link down
28     Wait Until Keyword Succeeds    30s    2s    Check For Specific Number Of Elements At URI    ${REST_CONTEXT}    "link-down":false    11
29
30 Get node 1 inventory
31     [Documentation]    Get the inventory for a node
32     @{list}    Append To List    ${SW_CAPABILITIES}    ${SW_VENDOR}    ${SW_IPADDRESS}    ${SW_HARDWARE}    openflow:1:1
33     ...    openflow:1:2
34     Wait Until Keyword Succeeds    30s    2s    Check For Elements At URI    ${REST_CONTEXT}/node/openflow:1    ${list}
35
36 Get node 2 inventory
37     [Documentation]    Get the inventory for a node
38     @{list}    Append To List    ${SW_CAPABILITIES}    ${SW_VENDOR}    ${SW_IPADDRESS}    ${SW_HARDWARE}    openflow:2:1
39     ...    openflow:2:2    openflow:2:3
40     Wait Until Keyword Succeeds    30s    2s    Check For Elements At URI    ${REST_CONTEXT}/node/openflow:2    ${list}
41
42 Get node 3 inventory
43     [Documentation]    Get the inventory for a node
44     @{list}    Append To List    ${SW_CAPABILITIES}    ${SW_VENDOR}    ${SW_IPADDRESS}    ${SW_HARDWARE}    openflow:3:1
45     ...    openflow:3:2    openflow:3:3
46     Wait Until Keyword Succeeds    30s    2s    Check For Elements At URI    ${REST_CONTEXT}/node/openflow:3    ${list}
47
48 Link Down
49     [Documentation]    Take link s1-s2 down
50     Write    link s1 s2 down
51     Read Until    mininet>
52     @{list}    Create List    "link-down":true
53     Wait Until Keyword Succeeds    30s    2s    Check For Elements At URI    ${REST_CONTEXT}/node/openflow:1/node-connector/openflow:1:1    ${list}
54     Wait Until Keyword Succeeds    30s    2s    Check For Elements At URI    ${REST_CONTEXT}/node/openflow:2/node-connector/openflow:2:3    ${list}
55
56 Link Up
57     [Documentation]    Take link s1-s2 up
58     Write    link s1 s2 up
59     Read Until    mininet>
60     @{list}    Create List    "link-down":false
61     Wait Until Keyword Succeeds    30s    2s    Check For Elements At URI    ${REST_CONTEXT}/node/openflow:1/node-connector/openflow:1:1    ${list}
62     Wait Until Keyword Succeeds    30s    2s    Check For Elements At URI    ${REST_CONTEXT}/node/openflow:2/node-connector/openflow:2:3    ${list}
63
64 Remove Port
65     [Documentation]    Remove port s2-eth1
66     Write    sh ovs-vsctl del-port s2 s2-eth1
67     Read Until    mininet>
68     @{list}    Create List    openflow:2:1
69     Wait Until Keyword Succeeds    30s    2s    Check For Elements Not At URI    ${REST_CONTEXT}    ${list}
70
71 Add Port
72     [Documentation]    Add port s2-eth1, new id 4
73     Write    sh ovs-vsctl add-port s2 s2-eth1
74     Read Until    mininet>
75     @{list}    Create List    openflow:2:4
76     Wait Until Keyword Succeeds    30s    2s    Check For Elements At URI    ${REST_CONTEXT}    ${list}