+++ /dev/null
-*** Settings ***
-Documentation Test suite for the host tracker module.
-Suite Setup Create Session session http://${CONTROLLER}:8080 auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library ../../libraries/RequestsLibrary.py
-Library ../../libraries/Common.py
-Variables ../../variables/Variables.py
-
-*** Variables ***
-${name} 10.0.1.4
-${key} hostConfig
-${REST_CONTEXT} /controller/nb/v2/hosttracker
-
-*** Test Cases ***
-Add a host
- [Documentation] Add a host, list to validate the result.
- [Tags] add
- ${body} Create Dictionary nodeType OF dataLayerAddress 5e:bf:79:84:10:a6 vlan
- ... 1 nodeId 00:00:00:00:00:00:00:03 nodeConnectorId 9 networkAddress
- ... 10.0.1.4 staticHost ${True} nodeConnectorType OF
- ${resp} Put session ${REST_CONTEXT}/${CONTAINER}/address/${name} data=${body}
- Should Be Equal As Strings ${resp.status_code} 201 Response status code error
- ${resp} Get session ${REST_CONTEXT}/${CONTAINER}/hosts/inactive
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} To JSON ${resp.content}
- ${content} Get From Dictionary ${result} ${key}
- List Should Contain Value ${content} ${body}
-
-Remove a host
- [Documentation] Remove a host, list to validate the result.
- [Tags] remove
- ${body} Create Dictionary nodeType OF dataLayerAddress 5e:bf:79:84:10:a6 vlan
- ... 1 nodeId 00:00:00:00:00:00:00:03 nodeConnectorId 9 networkAddress
- ... 10.0.1.4 staticHost ${True} nodeConnectorType OF
- ${resp} Delete session ${REST_CONTEXT}/${CONTAINER}/address/${name}
- Should Be Equal As Strings ${resp.status_code} 204 Response status code error
- ${resp} Get session ${REST_CONTEXT}/${CONTAINER}/hosts/inactive
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} To JSON ${resp.content}
- ${content} Get From Dictionary ${result} ${key}
- List Should Not Contain Value ${content} ${body}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for the arp handler module.
-Suite Setup Create Session session http://${CONTROLLER}:8080 auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library SSHLibrary
-Library Collections
-Library ../../libraries/RequestsLibrary.py
-Library ../../libraries/Common.py
-Variables ../../variables/Variables.py
-
-*** Variables ***
-${name} test
-${key} subnetConfig
-${REST_CONTEXT} /controller/nb/v2/subnetservice
-${REST_CONTEXT_HT} /controller/nb/v2/hosttracker
-
-*** Test Cases ***
-List Subnets
- [Documentation] List subnets and verify default is there
- [Tags] Get
- ${resp} Get session ${REST_CONTEXT}/${CONTAINER}/subnets
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${subnet} Get From Dictionary ${result} ${key}
- ${content} Get From List ${subnet} 0
- Dictionary Should Contain Value ${content} 0.0.0.0/0
-Ping h1 to h4
- [Documentation] Ping h1 to h4, verify no packet loss
- [Tags] Get
- Write h1 ping -c 3 h4
- Sleep 6
- ${result} Read
- Should Contain ${result} 64 bytes
-List hosts
- [Documentation] List hosts and verify h1 and h4
- [Tags] Get
- ${resp} Get session ${REST_CONTEXT_HT}/${CONTAINER}/hosts/active
- Should Be Equal As Strings ${resp.status_code} 200
- Should Contain ${resp.content} 10.0.0.1
- Should Contain ${resp.content} 10.0.0.4
-Add a subnet
- [Documentation] Add a subnet, list to validate the result.
- [Tags] add
- ${body} Create Dictionary name ${name} subnet 11.0.0.254/8
- ${resp} Put session ${REST_CONTEXT}/${CONTAINER}/subnet/${name} data=${body}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} Get session ${REST_CONTEXT}/${CONTAINER}/subnets
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${content} Get From Dictionary ${result} ${key}
- List Should Contain Value ${content} ${body}
-Remove a subnet
- [Documentation] Remove a subnet, list to validate the result.
- [Tags] remove
- ${body} Create Dictionary name ${name} subnet 11.0.0.254/8
- ${resp} Delete session ${REST_CONTEXT}/${CONTAINER}/subnet/${name}
- Should Be Equal As Strings ${resp.status_code} 204
- ${resp} Get session ${REST_CONTEXT}/${CONTAINER}/subnets
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${content} Get From Dictionary ${result} ${key}
- List Should Not Contain Value ${content} ${body}
-
+++ /dev/null
-*** Settings ***
-Documentation Test suite for the forwarding manager module.
-Suite Setup Create Session session http://${CONTROLLER}:8080 auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library SSHLibrary
-Library Collections
-Library ../../libraries/RequestsLibrary.py
-Library ../../libraries/Common.py
-Variables ../../variables/Variables.py
-
-*** Variables ***
-${name} test_route1
-${key} staticRoute
-${REST_CONTEXT} /controller/nb/v2/staticroute
-
-*** Test Cases ***
-Add a static route
- [Documentation] Add a static route, list to validate the result.
- [Tags] add
- ${body} Create Dictionary name ${name} prefix 192.168.1.0/24 nextHop
- ... 10.0.0.2
- ${resp} Put session ${REST_CONTEXT}/${CONTAINER}/route/${name} data=${body}
- Should Be Equal As Strings ${resp.status_code} 201 Response status code error
- ${resp} Get session ${REST_CONTEXT}/${CONTAINER}/routes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} To JSON ${resp.content}
- ${content} Get From Dictionary ${result} ${key}
- List Should Contain Value ${content} ${body}
- Sleep 3
-Remove a static route
- [Documentation] Remove a static route, list to validate the result.
- [Tags] remove
- ${body} Create Dictionary name ${name} prefix 192.168.1.0/24 nextHop
- ... 10.0.0.2
- ${resp} Delete session ${REST_CONTEXT}/${CONTAINER}/route/${name}
- Should Be Equal As Strings ${resp.status_code} 204 Response status code error
- ${resp} Get session ${REST_CONTEXT}/${CONTAINER}/routes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} To JSON ${resp.content}
- ${content} Get From Dictionary ${result} ${key}
- List Should Not Contain Value ${content} ${body}
-
+++ /dev/null
-*** Settings ***
-Documentation Test suite for OVSDB plugin
-Suite Setup Create Session session http://${CONTROLLER}:8080 auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library SSHLibrary
-Library Collections
-Library ../../libraries/RequestsLibrary.py
-Library ../../libraries/Common.py
-Library ../../libraries/Topology.py
-Variables ../../variables/Variables.py
-
-*** Variables ***
-${key} node
-${REST_CONTEXT_CM} /controller/nb/v2/connectionmanager
-${REST_CONTEXT_BD} /controller/nb/v2/networkconfig/bridgedomain
-
-*** Test Cases ***
-List connections
- [Documentation] Get node connections and validate result
- [Tags] Get
- ${topo_nodes} Get Nodes From Topology ${TOPO_TREE_LEVEL}
- ${resp} Get session ${REST_CONTEXT_CM}/nodes
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${nodes} Get From Dictionary ${result} ${key}
- List Should Contain Sublist ${nodes} ${topo_nodes}
-Connect to mininet
- [Documentation] Connect to mininet, list the nodes and validate result
- [Tags] add
- ${body} Create Dictionary type OVS id MININET
- ${resp} Put session ${REST_CONTEXT_CM}/node/MININET/address/${MININET}/port/6640
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- Dictionaries Should Be Equal ${result} ${body}
- ${resp} Get session ${REST_CONTEXT_CM}/nodes
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${content} Get From Dictionary ${result} ${key}
- List Should Contain Value ${content} ${body}
- Sleep 2
-Add bridge s4
- [Documentation] Add bridge s4
- [Tags] add
- ${resp} Post session ${REST_CONTEXT_BD}/bridge/OVS/MININET/s4 data={}
- Should Be Equal As Strings ${resp.status_code} 201
-Delete s1 ports
- [Documentation] Delete s1 connected ports
- [Tags] delete
- ${resp} Delete session ${REST_CONTEXT_BD}/port/OVS/MININET/s1/s1-eth1
- Should Be Equal As Strings ${resp.status_code} 200
- ${resp} Delete session ${REST_CONTEXT_BD}/port/OVS/MININET/s1/s1-eth2
- Should Be Equal As Strings ${resp.status_code} 200
- ${resp} Delete session ${REST_CONTEXT_BD}/port/OVS/MININET/s2/s2-eth3
- Should Be Equal As Strings ${resp.status_code} 200
- ${resp} Delete session ${REST_CONTEXT_BD}/port/OVS/MININET/s3/s3-eth3
- Should Be Equal As Strings ${resp.status_code} 200
-Add s4 ports
- [Documentation] Add s4 connected ports
- [Tags] add
- ${resp} Post session ${REST_CONTEXT_BD}/port/OVS/MININET/s4/s4-eth1
- ... data={"type":"patch", "CUSTOM":{"peer":"s2-eth3"}}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} Post session ${REST_CONTEXT_BD}/port/OVS/MININET/s4/s4-eth2
- ... data={"type":"patch", "CUSTOM":{"peer":"s3-eth3"}}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} Post session ${REST_CONTEXT_BD}/port/OVS/MININET/s2/s2-eth3
- ... data={"type":"patch", "CUSTOM":{"peer":"s4-eth1"}}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} Post session ${REST_CONTEXT_BD}/port/OVS/MININET/s3/s3-eth3
- ... data={"type":"patch", "CUSTOM":{"peer":"s4-eth2"}}
- Should Be Equal As Strings ${resp.status_code} 201
-Ping h1 to h4
- [Documentation] Ping h1 to h4, verify no packet loss
- [Tags] Get
- Sleep 5
- Write h1 ping -c 30 h4
- Sleep 35
- ${result} Read
- Should Contain ${result} 64 bytes
-Delete s4 ports
- [Documentation] Delete s4 connected ports
- [Tags] delete
- ${resp} Delete session ${REST_CONTEXT_BD}/port/OVS/MININET/s4/s4-eth1
- Should Be Equal As Strings ${resp.status_code} 200
- ${resp} Delete session ${REST_CONTEXT_BD}/port/OVS/MININET/s4/s4-eth2
- Should Be Equal As Strings ${resp.status_code} 200
- ${resp} Delete session ${REST_CONTEXT_BD}/port/OVS/MININET/s2/s2-eth3
- Should Be Equal As Strings ${resp.status_code} 200
- ${resp} Delete session ${REST_CONTEXT_BD}/port/OVS/MININET/s3/s3-eth3
- Should Be Equal As Strings ${resp.status_code} 200
-Add s1 ports
- [Documentation] Add s1 connected ports
- [Tags] add
- ${resp} Post session ${REST_CONTEXT_BD}/port/OVS/MININET/s1/s1-eth1
- ... data={"type":"patch", "CUSTOM":{"peer":"s2-eth3"}}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} Post session ${REST_CONTEXT_BD}/port/OVS/MININET/s1/s1-eth2
- ... data={"type":"patch", "CUSTOM":{"peer":"s3-eth3"}}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} Post session ${REST_CONTEXT_BD}/port/OVS/MININET/s2/s2-eth3
- ... data={"type":"patch", "CUSTOM":{"peer":"s1-eth1"}}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} Post session ${REST_CONTEXT_BD}/port/OVS/MININET/s3/s3-eth3
- ... data={"type":"patch", "CUSTOM":{"peer":"s1-eth2"}}
- Should Be Equal As Strings ${resp.status_code} 201
-Delete bridge s4
- [Documentation] Delete bridge s4
- [Tags] Delete
- ${resp} Delete session ${REST_CONTEXT_BD}/bridge/OVS/MININET/s4
- Should Be Equal As Strings ${resp.status_code} 200
-Disconnect mininet
- [Documentation] Disconnect mininet, list the nodes and validate result
- [Tags] delete
- ${body} Create Dictionary type OVS id MININET
- ${resp} Delete session ${REST_CONTEXT_CM}/node/OVS/MININET
- Should Be Equal As Strings ${resp.status_code} 200
- ${resp} Get session ${REST_CONTEXT_CM}/nodes
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${content} Get From Dictionary ${result} ${key}
- List Should Not Contain Value ${content} ${body}