+++ /dev/null
-*** Settings ***
-Documentation Test suite for Switch Manager
-Suite Setup Create Session ${ODL_CONTROLLER_SESSION} http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Library ../../../libraries/SwitchManager.py
-Variables ../../../variables/Variables.py
-Library ../../../libraries/Topology.py
-
-*** Variables ***
-${REST_CONTEXT} /controller/nb/v2/switchmanager
-
-*** Test Cases ***
-List all nodes
- [Documentation] List all nodes and their properties in the network.
- [Tags] adsal
- Log ${TOPO_TREE_LEVEL}
- ${topo_nodes} Get Nodes From Topology ${TOPO_TREE_LEVEL}
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/nodes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${jsondata}= To JSON ${resp.content}
- ${nodes} Extract All Nodes ${jsondata}
- List Should Contain Sublist ${nodes} ${topo_nodes}
-
-Check node 1 connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/00:00:00:00:00:00:00:01
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- Should Contain ${resp.content} s1-eth1
- Should Contain ${resp.content} s1-eth2
-
-Check node 2 connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/00:00:00:00:00:00:00:02
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- Should Contain ${resp.content} s2-eth1
- Should Contain ${resp.content} s2-eth2
- Should Contain ${resp.content} s2-eth3
-
-Check node 3 connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/00:00:00:00:00:00:00:03
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- Should Contain ${resp.content} s3-eth1
- Should Contain ${resp.content} s3-eth2
- Should Contain ${resp.content} s3-eth3
-
-Add property to node
- [Documentation] Add a property to node
- [Tags] adsal
- Add property to node OF 00:00:00:00:00:00:00:02 description Switch2
- Node property should exist OF 00:00:00:00:00:00:00:02 description Switch2
- #Remove property from node
- # [Documentation] Remove a property from node
- # Remove property from node OF 00:00:00:00:00:00:00:02 description
- # Node property should not exist OF 00:00:00:00:00:00:00:02 description Switch2
-
-Add property to nodeconnector
- [Documentation] Add a property to nodeconnector
- [Tags] adsal
- Add property to nodeconnector OF 00:00:00:00:00:00:00:02 OF 2 bandwidth 1000
- Nodeconnector property should exist OF 00:00:00:00:00:00:00:02 OF 2 bandwidth ${1000}
-
-Remove property from nodeconnector
- [Documentation] Remove a property from nodeconnector
- [Tags] adsal
- Remove property from nodeconnector OF 00:00:00:00:00:00:00:02 OF 2 bandwidth
- Nodeconnector property should not exist OF 00:00:00:00:00:00:00:02 OF 2 bandwidth ${1000}
-
-*** Keywords ***
-Get node
- [Arguments] ${node_id} ${node_type}
- [Documentation] Get a specific node
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- ${node} Create Dictionary id=${node_id} type={node_type}
- ${content} Extract All Nodes ${result}
- Log ${content}
- List Should Contain Value ${content} ${node}
-
-Add property to node
- [Arguments] ${node_type} ${node_id} ${property} ${value}
- [Documentation] Add property to node
- ${resp} RequestsLibrary.Put Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/node/${node_type}/${node_id}/property/${property}/${value}
- Should Be Equal As Strings ${resp.status_code} 201 Response status code error
-
-Remove property from node
- [Arguments] ${node_type} ${node_id} ${property}
- [Documentation] Remove property from node
- ${resp} RequestsLibrary.Delete Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/node/${node_type}/${node_id}/property/${property}
- Should Be Equal As Strings ${resp.status_code} 204 Response status code error
-
-Add property to nodeconnector
- [Arguments] ${node_type} ${node_id} ${nc_type} ${nc_id} ${property} ${value}
- [Documentation] Add property to nodeconnector
- ${resp} RequestsLibrary.Put Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodeconnector/${node_type}/${node_id}/${nc_type}/${nc_id}/property/${property}/${value}
- Should Be Equal As Strings ${resp.status_code} 201 Response status code error
-
-Remove property from nodeconnector
- [Arguments] ${node_type} ${node_id} ${nc_type} ${nc_id} ${property}
- [Documentation] Remove property from nodeconnector
- ${resp} RequestsLibrary.Delete Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodeconnector/${node_type}/${node_id}/${nc_type}/${nc_id}/property/${property}
- Should Be Equal As Strings ${resp.status_code} 204 Response status code error
-
-Node property should exist
- [Arguments] ${node_type} ${node_id} ${property} ${value}
- [Documentation] Property of node should exist
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- Log ${result}
- ${nodes} Extract All Nodes ${result}
- ${property_values} Extract Node Property Values ${result} ${property}
- ${node} Create Dictionary id=${node_id} type=${node_type}
- ${property_value} Create Dictionary value=${value}
- Log ${property_value}
- List Should Contain Value ${nodes} ${node}
- List Should Contain Value ${property_values} ${property_value}
-
-Node property should not exist
- [Arguments] ${node_type} ${node_id} ${property} ${value}
- [Documentation] Property of node should not exist
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- Log ${result}
- ${nodes} Extract All Nodes ${result}
- ${properties} Extract Node Property Values ${result} ${property}
- ${node} Create Dictionary id=${node_id} type=${node_type}
- ${property} Create Dictionary value=${value}
- Log ${property}
- List Should Contain Value ${nodes} ${node}
- List Should Not Contain Value ${properties} ${property}
-
-Nodeconnector property should exist
- [Arguments] ${node_type} ${node_id} ${nc_type} ${nc_id} ${property} ${value}
- [Documentation] Property of nodeconnector should exist
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/node/${node_type}/${node_id}
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- Log ${result}
- ${property_values} Extract Nodeconnector Property Values ${result} ${property}
- Log ${property_values}
- ${property_value} Create Dictionary value=${value}
- List Should Contain Value ${property_values} ${property_value}
-
-Nodeconnector property should not exist
- [Arguments] ${node_type} ${node_id} ${nc_type} ${nc_id} ${property} ${value}
- [Documentation] Property of nodeconnector should not exist
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/node/${node_type}/${node_id}
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- Log ${result}
- ${property_values} Extract Nodeconnector Property Values ${result} ${property}
- Log ${property_values}
- ${property_value} Create Dictionary value=${value}
- List Should not Contain Value ${property_values} ${property_value}
-
-List all nodeconnectors of node
- [Arguments] ${node_type} ${node_id}
- [Documentation] List all nodeconnectors and properties of node
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Topology Manager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Variables ../../../variables/Variables.py
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${node1} "00:00:00:00:00:00:00:01"
-${node2} "00:00:00:00:00:00:00:02"
-${node3} "00:00:00:00:00:00:00:03"
-${name} test_userlink1
-${REST_CONTEXT} /controller/nb/v2/topology
-
-*** Test Cases ***
-Get Topology
- [Documentation] Get Topology and validate the result.
- [Tags] adsal
- Wait Until Keyword Succeeds 10s 2s Check For Specific Number Of Elements At URI ${REST_CONTEXT}/${CONTAINER} ${node1} 4
- Wait Until Keyword Succeeds 10s 2s Check For Specific Number Of Elements At URI ${REST_CONTEXT}/${CONTAINER} ${node1} 4
- Wait Until Keyword Succeeds 10s 2s Check For Specific Number Of Elements At URI ${REST_CONTEXT}/${CONTAINER} ${node1} 4
-
-Add a userlink
- [Documentation] Add a userlink, list to validate the result.
- [Tags] adsal
- ${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"}
- ${expected_content} To JSON ${body}
- ${resp} RequestsLibrary.Put Request session ${REST_CONTEXT}/${CONTAINER}/userLink/${name} data=${body}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}/userLinks
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${resp_content} Get From Dictionary ${result} userLinks
- List Should Contain Value ${resp_content} ${expected_content}
-
-Remove a userlink
- [Documentation] Remove a userlink, list to validate the result.
- [Tags] adsal
- ${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
- ${resp} RequestsLibrary.Delete Request session ${REST_CONTEXT}/${CONTAINER}/userLink/${name}
- Should Be Equal As Strings ${resp.status_code} 204
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}/userLinks
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${resp_content} Get From Dictionary ${result} userLinks
- List Should Not Contain Value ${resp_content} ${expected_content}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Statistics Manager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Variables ../../../variables/Variables.py
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${node1} "00:00:00:00:00:00:00:01"
-${node2} "00:00:00:00:00:00:00:02"
-${node3} "00:00:00:00:00:00:00:03"
-@{macaddr_list} ${node1} ${node2} ${node3}
-@{node_list} openflow:1 openflow:2 openflow:3
-${key} portStatistics
-${REST_CONTEXT} /controller/nb/v2/statistics
-
-*** Test Cases ***
-get port stats
- [Documentation] Show port stats and validate result
- [Tags] adsal
- Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/port ${macaddr_list}
- Wait Until Keyword Succeeds 60s 2s Check That Port Count Is Ok ${node1} 4
- Wait Until Keyword Succeeds 60s 1s Check That Port Count Is Ok ${node2} 5
- Wait Until Keyword Succeeds 60s 1s Check That Port Count Is Ok ${node3} 5
-
-get flow stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/flow ${macaddr_list}
-
-get table stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/table ${macaddr_list}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Flow Programmer
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Variables ../../../variables/Variables.py
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${name} flow1
-${node_id} 00:00:00:00:00:00:00:02
-${REST_CONTEXT} /controller/nb/v2/flowprogrammer
-${REST_CONTEXT_ST} /controller/nb/v2/statistics
-
-*** Test Cases ***
-Add a flow
- [Documentation] Add a flow, list to validate the result.
- [Tags] adsal
- ${body} Set Variable {"installInHw":"true","name":"flow1","node":{"id":"00:00:00:00:00:00:00:02","type":"OF"},"priority":"1","etherType":"0x800","nwDst":"10.0.0.1/32","actions":["OUTPUT=1"]}
- ${expected_content} To JSON ${body}
- ${resp} RequestsLibrary.Put Request session ${REST_CONTEXT}/${CONTAINER}/node/OF/${node_id}/staticFlow/${name} data=${body}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${resp_content} Get From Dictionary ${result} flowConfig
- List Should Contain Value ${resp_content} ${expected_content}
-
-Check flow in flow stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- ${elements}= Create List 10.0.0.1
- Wait Until Keyword Succeeds 90s 2s Check For Elements At URI ${REST_CONTEXT_ST}/${CONTAINER}/flow ${elements}
-
-Remove a flow
- [Documentation] Remove a flow, list to validate the result.
- [Tags] adsal
- ${node} Create Dictionary type=OF id=${node_id}
- ${actions} Create List OUTPUT=1
- ${expected_content} Create Dictionary name=${name} installInHw=true node=${node} priority=1 etherType=0x800
- ... nwDst=10.0.0.1/32 actions=${actions}
- ${resp} RequestsLibrary.Delete Request session ${REST_CONTEXT}/${CONTAINER}/node/OF/${node_id}/staticFlow/${name}
- Should Be Equal As Strings ${resp.status_code} 204
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${resp_content} Get From Dictionary ${result} flowConfig
- List Should Not Contain Value ${resp_content} ${expected_content}
-
-Check flow is not in flow stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- ${elements}= Create List 10.0.0.1
- Wait Until Keyword Succeeds 60s 2s Check For Elements Not At URI ${REST_CONTEXT_ST}/${CONTAINER}/flow ${elements}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for AD-SAL NSF
-Suite Setup Start Suite
-Suite Teardown Stop Suite
-Library SSHLibrary
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${start} sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo tree,2
-
-*** Keywords ***
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Switch Manager
-Suite Setup Create Session ${ODL_CONTROLLER_SESSION} http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Library ../../../libraries/SwitchManager.py
-Variables ../../../variables/Variables.py
-Library ../../../libraries/Topology.py
-
-*** Variables ***
-${REST_CONTEXT} /controller/nb/v2/switchmanager
-
-*** Test Cases ***
-List all nodes
- [Documentation] List all nodes and their properties in the network.
- [Tags] adsal
- Log ${TOPO_TREE_LEVEL}
- ${topo_nodes} Get Nodes From Topology ${TOPO_TREE_LEVEL}
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/nodes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${jsondata}= To JSON ${resp.content}
- ${nodes} Extract All Nodes ${jsondata}
- List Should Contain Sublist ${nodes} ${topo_nodes}
-
-Check node 1 connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/00:00:00:00:00:00:00:01
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- Should Contain ${resp.content} s1-eth1
- Should Contain ${resp.content} s1-eth2
-
-Check node 2 connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/00:00:00:00:00:00:00:02
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- Should Contain ${resp.content} s2-eth1
- Should Contain ${resp.content} s2-eth2
- Should Contain ${resp.content} s2-eth3
-
-Check node 3 connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/00:00:00:00:00:00:00:03
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- Should Contain ${resp.content} s3-eth1
- Should Contain ${resp.content} s3-eth2
- Should Contain ${resp.content} s3-eth3
-
-Add property to node
- [Documentation] Add a property to node
- [Tags] adsal
- Add property to node OF 00:00:00:00:00:00:00:02 description Switch2
- Node property should exist OF 00:00:00:00:00:00:00:02 description Switch2
- #Remove property from node
- # [Documentation] Remove a property from node
- # Remove property from node OF 00:00:00:00:00:00:00:02 description
- # Node property should not exist OF 00:00:00:00:00:00:00:02 description Switch2
-
-Add property to nodeconnector
- [Documentation] Add a property to nodeconnector
- [Tags] adsal
- Add property to nodeconnector OF 00:00:00:00:00:00:00:02 OF 2 bandwidth 1000
- Nodeconnector property should exist OF 00:00:00:00:00:00:00:02 OF 2 bandwidth ${1000}
-
-Remove property from nodeconnector
- [Documentation] Remove a property from nodeconnector
- [Tags] adsal
- Remove property from nodeconnector OF 00:00:00:00:00:00:00:02 OF 2 bandwidth
- Nodeconnector property should not exist OF 00:00:00:00:00:00:00:02 OF 2 bandwidth ${1000}
-
-*** Keywords ***
-Get node
- [Arguments] ${node_id} ${node_type}
- [Documentation] Get a specific node
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- ${node} Create Dictionary id=${node_id} type={node_type}
- ${content} Extract All Nodes ${result}
- Log ${content}
- List Should Contain Value ${content} ${node}
-
-Add property to node
- [Arguments] ${node_type} ${node_id} ${property} ${value}
- [Documentation] Add property to node
- ${resp} RequestsLibrary.Put Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/node/${node_type}/${node_id}/property/${property}/${value}
- Should Be Equal As Strings ${resp.status_code} 201 Response status code error
-
-Remove property from node
- [Arguments] ${node_type} ${node_id} ${property}
- [Documentation] Remove property from node
- ${resp} RequestsLibrary.Delete Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/node/${node_type}/${node_id}/property/${property}
- Should Be Equal As Strings ${resp.status_code} 204 Response status code error
-
-Add property to nodeconnector
- [Arguments] ${node_type} ${node_id} ${nc_type} ${nc_id} ${property} ${value}
- [Documentation] Add property to nodeconnector
- ${resp} RequestsLibrary.Put Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodeconnector/${node_type}/${node_id}/${nc_type}/${nc_id}/property/${property}/${value}
- Should Be Equal As Strings ${resp.status_code} 201 Response status code error
-
-Remove property from nodeconnector
- [Arguments] ${node_type} ${node_id} ${nc_type} ${nc_id} ${property}
- [Documentation] Remove property from nodeconnector
- ${resp} RequestsLibrary.Delete Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodeconnector/${node_type}/${node_id}/${nc_type}/${nc_id}/property/${property}
- Should Be Equal As Strings ${resp.status_code} 204 Response status code error
-
-Node property should exist
- [Arguments] ${node_type} ${node_id} ${property} ${value}
- [Documentation] Property of node should exist
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- Log ${result}
- ${nodes} Extract All Nodes ${result}
- ${property_values} Extract Node Property Values ${result} ${property}
- ${node} Create Dictionary id=${node_id} type=${node_type}
- ${property_value} Create Dictionary value=${value}
- Log ${property_value}
- List Should Contain Value ${nodes} ${node}
- List Should Contain Value ${property_values} ${property_value}
-
-Node property should not exist
- [Arguments] ${node_type} ${node_id} ${property} ${value}
- [Documentation] Property of node should not exist
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/nodes
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- Log ${result}
- ${nodes} Extract All Nodes ${result}
- ${properties} Extract Node Property Values ${result} ${property}
- ${node} Create Dictionary id=${node_id} type=${node_type}
- ${property} Create Dictionary value=${value}
- Log ${property}
- List Should Contain Value ${nodes} ${node}
- List Should Not Contain Value ${properties} ${property}
-
-Nodeconnector property should exist
- [Arguments] ${node_type} ${node_id} ${nc_type} ${nc_id} ${property} ${value}
- [Documentation] Property of nodeconnector should exist
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/node/${node_type}/${node_id}
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- Log ${result}
- ${property_values} Extract Nodeconnector Property Values ${result} ${property}
- Log ${property_values}
- ${property_value} Create Dictionary value=${value}
- List Should Contain Value ${property_values} ${property_value}
-
-Nodeconnector property should not exist
- [Arguments] ${node_type} ${node_id} ${nc_type} ${nc_id} ${property} ${value}
- [Documentation] Property of nodeconnector should not exist
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/${CONTAINER}/node/${node_type}/${node_id}
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${result} TO JSON ${resp.content}
- Log ${result}
- ${property_values} Extract Nodeconnector Property Values ${result} ${property}
- Log ${property_values}
- ${property_value} Create Dictionary value=${value}
- List Should not Contain Value ${property_values} ${property_value}
-
-List all nodeconnectors of node
- [Arguments] ${node_type} ${node_id}
- [Documentation] List all nodeconnectors and properties of node
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Topology Manager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Variables ../../../variables/Variables.py
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${node1} "00:00:00:00:00:00:00:01"
-${node2} "00:00:00:00:00:00:00:02"
-${node3} "00:00:00:00:00:00:00:03"
-${name} test_userlink1
-${REST_CONTEXT} /controller/nb/v2/topology
-
-*** Test Cases ***
-Get Topology
- [Documentation] Get Topology and validate the result.
- [Tags] adsal
- Wait Until Keyword Succeeds 10s 2s Check For Specific Number Of Elements At URI ${REST_CONTEXT}/${CONTAINER} ${node1} 4
- Wait Until Keyword Succeeds 10s 2s Check For Specific Number Of Elements At URI ${REST_CONTEXT}/${CONTAINER} ${node1} 4
- Wait Until Keyword Succeeds 10s 2s Check For Specific Number Of Elements At URI ${REST_CONTEXT}/${CONTAINER} ${node1} 4
-
-Add a userlink
- [Documentation] Add a userlink, list to validate the result.
- [Tags] adsal
- ${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"}
- ${expected_content} To JSON ${body}
- ${resp} RequestsLibrary.Put Request session ${REST_CONTEXT}/${CONTAINER}/userLink/${name} data=${body}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}/userLinks
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${resp_content} Get From Dictionary ${result} userLinks
- List Should Contain Value ${resp_content} ${expected_content}
-
-Remove a userlink
- [Documentation] Remove a userlink, list to validate the result.
- [Tags] adsal
- ${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
- ${resp} RequestsLibrary.Delete Request session ${REST_CONTEXT}/${CONTAINER}/userLink/${name}
- Should Be Equal As Strings ${resp.status_code} 204
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}/userLinks
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${resp_content} Get From Dictionary ${result} userLinks
- List Should Not Contain Value ${resp_content} ${expected_content}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Statistics Manager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Variables ../../../variables/Variables.py
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${node1} "00:00:00:00:00:00:00:01"
-${node2} "00:00:00:00:00:00:00:02"
-${node3} "00:00:00:00:00:00:00:03"
-@{macaddr_list} ${node1} ${node2} ${node3}
-@{node_list} openflow:1 openflow:2 openflow:3
-${key} portStatistics
-${REST_CONTEXT} /controller/nb/v2/statistics
-
-*** Test Cases ***
-get port stats
- [Documentation] Show port stats and validate result
- [Tags] adsal
- Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/port ${macaddr_list}
- Wait Until Keyword Succeeds 60s 2s Check That Port Count Is Ok ${node1} 4
- Wait Until Keyword Succeeds 60s 1s Check That Port Count Is Ok ${node2} 5
- Wait Until Keyword Succeeds 60s 1s Check That Port Count Is Ok ${node3} 5
-
-get flow stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/flow ${macaddr_list}
-
-get table stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- Wait Until Keyword Succeeds 10s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/table ${macaddr_list}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Flow Programmer
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Variables ../../../variables/Variables.py
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${name} flow1
-${node_id} 00:00:00:00:00:00:00:02
-${REST_CONTEXT} /controller/nb/v2/flowprogrammer
-${REST_CONTEXT_ST} /controller/nb/v2/statistics
-
-*** Test Cases ***
-Add a flow
- [Documentation] Add a flow, list to validate the result.
- [Tags] adsal
- ${body} Set Variable {"installInHw":"true","name":"flow1","node":{"id":"00:00:00:00:00:00:00:02","type":"OF"},"priority":"1","etherType":"0x800","nwDst":"10.0.0.1/32","actions":["OUTPUT=1"]}
- ${expected_content} To JSON ${body}
- ${resp} RequestsLibrary.Put Request session ${REST_CONTEXT}/${CONTAINER}/node/OF/${node_id}/staticFlow/${name} data=${body}
- Should Be Equal As Strings ${resp.status_code} 201
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${resp_content} Get From Dictionary ${result} flowConfig
- List Should Contain Value ${resp_content} ${expected_content}
-
-Check flow in flow stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- ${elements}= Create List 10.0.0.1
- Wait Until Keyword Succeeds 90s 2s Check For Elements At URI ${REST_CONTEXT_ST}/${CONTAINER}/flow ${elements}
-
-Remove a flow
- [Documentation] Remove a flow, list to validate the result.
- [Tags] adsal
- ${node} Create Dictionary type=OF id=${node_id}
- ${actions} Create List OUTPUT=1
- ${expected_content} Create Dictionary name=${name} installInHw=true node=${node} priority=1 etherType=0x800
- ... nwDst=10.0.0.1/32 actions=${actions}
- ${resp} RequestsLibrary.Delete Request session ${REST_CONTEXT}/${CONTAINER}/node/OF/${node_id}/staticFlow/${name}
- Should Be Equal As Strings ${resp.status_code} 204
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}
- Should Be Equal As Strings ${resp.status_code} 200
- ${result} To JSON ${resp.content}
- ${resp_content} Get From Dictionary ${result} flowConfig
- List Should Not Contain Value ${resp_content} ${expected_content}
-
-Check flow is not in flow stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- ${elements}= Create List 10.0.0.1
- Wait Until Keyword Succeeds 60s 2s Check For Elements Not At URI ${REST_CONTEXT_ST}/${CONTAINER}/flow ${elements}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for AD-SAL NSF OF13
-Suite Setup Start Suite
-Suite Teardown Stop Suite
-Library SSHLibrary
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${start} sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo tree,2 --switch ovsk,protocols=OpenFlow13
-
-*** Keywords ***
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Switch Manager
-Suite Setup Create Session ${ODL_CONTROLLER_SESSION} http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Library ../../../libraries/SwitchManager.py
-Variables ../../../variables/Variables.py
-Library ../../../libraries/Topologynew.py
-
-*** Variables ***
-${REST_CONTEXT} /controller/nb/v2/switchmanager
-
-*** Test Cases ***
-List all nodes
- [Documentation] List all nodes and their properties in the network.
- [Tags] adsal
- Log ${TOPO_TREE_LEVEL}
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT})
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/nodes
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${jsondata}= To JSON ${resp.content}
- ${nodes} Extract All Nodes ${jsondata}
- List Should Contain Sublist ${nodes} ${topo_nodes}
-
-Check root node connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/00:00:00:00:00:00:00:01
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${TOPO_TREE_FANOUT} Convert To Integer ${TOPO_TREE_FANOUT}
- Check conn loop ${TOPO_TREE_FANOUT} 1 ${resp.content}
-
-Check node i connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT}) 1
- Wait Until Keyword Succeeds 30s 2s Check Every Nodes Connectors ${topo_nodes}
-
-*** Keywords ***
-Check Every Nodes Connectors
- [Arguments] ${topo_nodes}
- : FOR ${ITEM} IN @{topo_nodes}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/${IND}
- \ Log ${resp.content}
- \ Should Be Equal As Strings ${resp.status_code} 200
- \ Check conn loop ${TOPO_TREE_FANOUT+1} ${IND} ${resp.content}
-
-Check conn loop
- [Arguments] ${arg} ${outerind} ${content}
- : FOR ${var} IN RANGE 0 ${arg+1}
- \ Should Contain ${content} "id":"${var}"
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Statistics Manager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Library ../../../libraries/Topologynew.py
-Variables ../../../variables/Variables.py
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${nodeprefix} openflow:
-${key} portStatistics
-${REST_CONTEXT} /controller/nb/v2/statistics
-
-*** Test Cases ***
-get port stats
- [Documentation] Show port stats and validate result
- [Tags] adsal
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT}) 1
- @{node_list} Create Nodes List ${topo_nodes}
- Wait Until Keyword Succeeds 70s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/port ${node_list}
-
-get flow stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT})
- @{node_list} Create Nodes List ${topo_nodes}
- Wait Until Keyword Succeeds 70s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/flow ${node_list}
-
-get table stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT})
- @{node_list} Create Nodes List ${topo_nodes}
- Wait Until Keyword Succeeds 70s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/table ${node_list}
-
-*** Keywords ***
-Check For Correct Number Of Nodes At URI
- [Arguments] ${uri} ${topo_nodes}
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}/${uri}
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200
- Should Contain X Times ${resp.content} "00:00:00:00:00:00:00:01" ${TOPO_TREE_FANOUT+2}
- : FOR ${ITEM} IN @{topo_nodes}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ Should Contain X Times ${resp.content} "${IND}" ${TOPO_TREE_FANOUT+3}
-
-Check For All Nodes At URI
- [Arguments] ${uri} ${topo_nodes}
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}/${uri}
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200
- : FOR ${ITEM} IN @{topo_nodes}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ Should Contain ${resp.content} "${IND}"
-
-Create Nodes List
- [Arguments] ${topo_dict}
- ##init list
- @{node_list}= Create List
- : FOR ${ITEM} IN @{topo_dict}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ Append To List ${node_list} ${IND}
- [Return] @{node_list}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Topology Manager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Library ../../../libraries/Topologynew.py
-Variables ../../../variables/Variables.py
-
-*** Variables ***
-${nodeprefix} openflow:
-${REST_CONTEXT} /controller/nb/v2/topology
-
-*** Test Cases ***
-Get Topology
- [Documentation] Get Topology and validate the result.
- [Tags] adsal
- ${TOPO_TREE_DEPTH} Convert To Integer ${TOPO_TREE_DEPTH}
- ${TOPO_TREE_FANOUT} Convert To Integer ${TOPO_TREE_FANOUT}
- ${leaflist} Get Ids Of Leaf Nodes ${TOPO_TREE_FANOUT} ${TOPO_TREE_DEPTH}
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT}) 1
- Wait Until Keyword Succeeds 30s 2s Check Link Counts For Each Node ${topo_nodes} ${leaflist}
-
-*** Keywords ***
-Check Link Counts For Each Node
- [Arguments] ${topo_nodes} ${leaflist}
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200
- Should Contain X Times ${resp.content} "00:00:00:00:00:00:00:01" ${TOPO_TREE_FANOUT*2}
- : FOR ${ITEM} IN @{topo_nodes}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ ${linkcnt} Num Of Links For Node ${IND} ${leaflist} ${TOPO_TREE_FANOUT}
- \ Should Contain X Times ${resp.content} "${IND}" ${linkcnt*2}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Switch Manager
-Suite Setup Create Session ${ODL_CONTROLLER_SESSION} http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Library ../../../libraries/SwitchManager.py
-Variables ../../../variables/Variables.py
-Library ../../../libraries/Topologynew.py
-
-*** Variables ***
-${REST_CONTEXT} /controller/nb/v2/switchmanager
-
-*** Test Cases ***
-List all nodes
- [Documentation] List all nodes and their properties in the network.
- [Tags] adsal
- Log ${TOPO_TREE_LEVEL}
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT})
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/nodes
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${jsondata}= To JSON ${resp.content}
- ${nodes} Extract All Nodes ${jsondata}
- List Should Contain Sublist ${nodes} ${topo_nodes}
-
-Check root node connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/00:00:00:00:00:00:00:01
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200 Response status code error
- ${TOPO_TREE_FANOUT} Convert To Integer ${TOPO_TREE_FANOUT}
- Check conn loop ${TOPO_TREE_FANOUT} 1 ${resp.content}
-
-Check node i connectors
- [Documentation] List node connectors and verify all connectors are there
- [Tags] adsal
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT}) 1
- Wait Until Keyword Succeeds 30s 2s Check Every Nodes Connectors ${topo_nodes}
-
-*** Keywords ***
-Check Every Nodes Connectors
- [Arguments] ${topo_nodes}
- : FOR ${ITEM} IN @{topo_nodes}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ ${resp} RequestsLibrary.Get Request ${ODL_CONTROLLER_SESSION} ${REST_CONTEXT}/default/node/OF/${IND}
- \ Log ${resp.content}
- \ Should Be Equal As Strings ${resp.status_code} 200
- \ Check conn loop ${TOPO_TREE_FANOUT+1} ${IND} ${resp.content}
-
-Check conn loop
- [Arguments] ${arg} ${outerind} ${content}
- : FOR ${var} IN RANGE 0 ${arg+1}
- \ Should Contain ${content} "id":"${var}"
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Statistics Manager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Library ../../../libraries/Topologynew.py
-Variables ../../../variables/Variables.py
-Resource ../../../libraries/Utils.robot
-
-*** Variables ***
-${nodeprefix} openflow:
-${key} portStatistics
-${REST_CONTEXT} /controller/nb/v2/statistics
-
-*** Test Cases ***
-get port stats
- [Documentation] Show port stats and validate result
- [Tags] adsal
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT}) 1
- @{node_list} Create Nodes List ${topo_nodes}
- Wait Until Keyword Succeeds 70s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/port ${node_list}
-
-get flow stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT})
- @{node_list} Create Nodes List ${topo_nodes}
- Wait Until Keyword Succeeds 70s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/flow ${node_list}
-
-get table stats
- [Documentation] Show flow stats and validate result
- [Tags] adsal
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT})
- @{node_list} Create Nodes List ${topo_nodes}
- Wait Until Keyword Succeeds 70s 2s Check For Elements At URI ${REST_CONTEXT}/${CONTAINER}/table ${node_list}
-
-*** Keywords ***
-Check For Correct Number Of Nodes At URI
- [Arguments] ${uri} ${topo_nodes}
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}/${uri}
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200
- Should Contain X Times ${resp.content} "00:00:00:00:00:00:00:01" ${TOPO_TREE_FANOUT+2}
- : FOR ${ITEM} IN @{topo_nodes}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ Should Contain X Times ${resp.content} "${IND}" ${TOPO_TREE_FANOUT+3}
-
-Check For All Nodes At URI
- [Arguments] ${uri} ${topo_nodes}
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}/${uri}
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200
- : FOR ${ITEM} IN @{topo_nodes}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ Should Contain ${resp.content} "${IND}"
-
-Create Nodes List
- [Arguments] ${topo_dict}
- ##init list
- @{node_list}= Create List
- : FOR ${ITEM} IN @{topo_dict}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ Append To List ${node_list} ${IND}
- [Return] @{node_list}
+++ /dev/null
-*** Settings ***
-Documentation Test suite for Topology Manager
-Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTPORT} auth=${AUTH} headers=${HEADERS}
-Suite Teardown Delete All Sessions
-Library Collections
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Library ../../../libraries/Topologynew.py
-Variables ../../../variables/Variables.py
-
-*** Variables ***
-${nodeprefix} openflow:
-${REST_CONTEXT} /controller/nb/v2/topology
-
-*** Test Cases ***
-Get Topology
- [Documentation] Get Topology and validate the result.
- [Tags] adsal
- ${TOPO_TREE_DEPTH} Convert To Integer ${TOPO_TREE_DEPTH}
- ${TOPO_TREE_FANOUT} Convert To Integer ${TOPO_TREE_FANOUT}
- ${leaflist} Get Ids Of Leaf Nodes ${TOPO_TREE_FANOUT} ${TOPO_TREE_DEPTH}
- ${topo_nodes} Get Nodes From Tree Topo (${TOPO_TREE_DEPTH},${TOPO_TREE_FANOUT}) 1
- Wait Until Keyword Succeeds 30s 2s Check Link Counts For Each Node ${topo_nodes} ${leaflist}
-
-*** Keywords ***
-Check Link Counts For Each Node
- [Arguments] ${topo_nodes} ${leaflist}
- ${resp} RequestsLibrary.Get Request session ${REST_CONTEXT}/${CONTAINER}
- Log ${resp.content}
- Should Be Equal As Strings ${resp.status_code} 200
- Should Contain X Times ${resp.content} "00:00:00:00:00:00:00:01" ${TOPO_TREE_FANOUT*2}
- : FOR ${ITEM} IN @{topo_nodes}
- \ ${IND} Get From Dictionary ${ITEM} id
- \ ${linkcnt} Num Of Links For Node ${IND} ${leaflist} ${TOPO_TREE_FANOUT}
- \ Should Contain X Times ${resp.content} "${IND}" ${linkcnt*2}