*** Settings *** Library SSHLibrary *** Variables *** ${start} sudo mn --controller=remote,ip=${CONTROLLER} --topo tree,1 --switch ovsk,protocols=OpenFlow13 *** Keywords *** Start Suite [Documentation] Basic setup/cleanup work that can be done safely before any system ... is run. Log Start the test on the base edition Open Connection ${MININET} prompt=> timeout=30s Login With Public Key ${MININET_USER} ${USER_HOME}/.ssh/id_rsa any Write sudo ovs-vsctl set-manager ptcp:6644 Write sudo mn -c Read Until > Write ${start} Read Until mininet> Stop Suite [Documentation] Cleanup/Shutdown work that should be done at the completion of all ... tests Log Stop the test on the base edition Read Write exit Read Until > Close Connection Ensure All Nodes Are In Response [Arguments] ${URI} ${node_list} [Documentation] A GET is made to the supplied ${URI} and every item in the ${node_list} ... is verified to exist in the repsonse. This keyword currently implies that it's node ... specific but any list of strings can be given in ${node_list}. Refactoring of this ... to make it more generic should be done. (see keyword "Check For Elements At URI") : FOR ${node} IN @{node_list} \ ${resp} Get session ${URI} \ Should Be Equal As Strings ${resp.status_code} 200 \ Should Contain ${resp.content} ${node} Check Nodes Stats [Arguments] ${node} [Documentation] A GET on the /node/${node} API is made and specific flow stat ... strings are checked for existence. ${resp} Get session ${REST_CONTEXT}/node/${node} Should Be Equal As Strings ${resp.status_code} 200 Should Contain ${resp.content} flow-capable-node-connector-statistics Should Contain ${resp.content} flow-table-statistics Check That Port Count Is Ok [Arguments] ${node} ${count} [Documentation] A GET on the /port API is made and the specified port ${count} is ... verified. A more generic Keyword "Check For Specific Number Of Elements At URI" ... also does this work and further consolidation should be done. ${resp} Get session ${REST_CONTEXT}/${CONTAINER}/port Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 Should Contain X Times ${resp.content} ${node} ${count} Check For Specific Number Of Elements At URI [Arguments] ${uri} ${element} ${expected_count} [Documentation] A GET is made to the specified ${URI} and the specific count of a ... given element is done (as supplied by ${element} and ${expected_count}) ${resp} Get session ${uri} Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 Should Contain X Times ${resp.content} ${element} ${expected_count} Check For Elements At URI [Arguments] ${uri} ${elements} [Documentation] A GET is made at the supplied ${URI} and every item in the list of ... ${elements} is verified to exist in the response ${resp} Get session ${uri} Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 : FOR ${i} IN @{elements} \ Should Contain ${resp.content} ${i} Check For Elements Not At URI [Arguments] ${uri} ${elements} [Documentation] A GET is made at the supplied ${URI} and every item in the list of ... ${elements} is verified to NOT exist in the response ${resp} Get session ${uri} Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 : FOR ${i} IN @{elements} \ Should Not Contain ${resp.content} ${i}