... terms of the Eclipse Public License v1.0 which accompanies this distribution,
... and is available at http://www.eclipse.org/legal/epl-v10.html
...
+... TODO: Rename this file after Beryllium is out, for example to basic.robot
+...
... Test suite performs basic BGP functional test cases:
... BGP peer initiated coonection
... - introduce and check 3 prefixes in one update message
Library ${CURDIR}/../../../libraries/HsfJson/hsf_json.py
Variables ${CURDIR}/../../../variables/Variables.py
Variables ${CURDIR}/../../../variables/bgpuser/variables.py ${TOOLS_SYSTEM_IP}
+Resource ${CURDIR}/../../../libraries/BGPcliKeywords.robot
Resource ${CURDIR}/../../../libraries/BGPSpeaker.robot
Resource ${CURDIR}/../../../libraries/ConfigViaRestconf.robot
Resource ${CURDIR}/../../../libraries/FailFast.robot
[Documentation] See TCP (BGP) connection in established state.
# This case is separate from the previous one, to resemble structure of the second half of this suite more closely.
Check_Speaker_Is_Connected
+ [Teardown] Utils.Report_Failure_Due_To_Bug 5171
Check_Talking_Topology_Is_Filled
[Documentation] See new routes in example-ipv4-topology as a proof that synchronization was correct.
... prepare directories for responses, put Python tool to mininet machine, setup imported resources.
SetupUtils.Setup_Utils_For_Setup_And_Teardown
SSHLibrary.Set_Default_Configuration prompt=${TOOLS_SYSTEM_PROMPT}
- SSHLibrary.Open_Connection ${TOOLS_SYSTEM_IP}
- Utils.Flexible_Mininet_Login
RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_TOPO_API} auth=${AUTH}
# TODO: Do not include slash in ${OPERATIONAL_TOPO_API}, having it typed here is more readable.
# TODO: Alternatively, create variable in Variables which starts with http.
# The previous suite may have been using the same directories.
OperatingSystem.Create_Directory ${EXPECTED_RESPONSES_FOLDER}
OperatingSystem.Create_Directory ${ACTUAL_RESPONSES_FOLDER}
+ SSHLibrary.Open_Connection ${TOOLS_SYSTEM_IP}
+ Utils.Flexible_Mininet_Login
+ SSHKeywords.Require_Python
+ SSHKeywords.Assure_Library_Ipaddr target_dir=.
SSHLibrary.Put_File ${CURDIR}/../../../../tools/fastbgp/play.py
ConfigViaRestconf.Setup_Config_Via_Restconf
KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${CONTROLLER_LOG_LEVEL}
[Documentation] Run netstat in mininet machine and parse it for number of established connections. Check it is ${howmany}.
${output}= SSHKeywords.Count_Port_Occurences 17900 ESTABLISHED python
BuiltIn.Should_Be_Equal_As_Strings ${output} ${howmany}
-
-Read_And_Fail_If_Prompt_Is_Seen
- [Documentation] Try to read SSH to see prompt, but expect to see no prompt within SSHLibrary's timeout.
- ${passed}= BuiltIn.Run_Keyword_And_Return_Status BuiltIn.Run_Keyword_And_Expect_Error No match found for '${TOOLS_SYSTEM_PROMPT}' in *. Read_Text_Before_Prompt
- BuiltIn.Return_From_Keyword_If ${passed}
- BGPSpeaker.Dump_BGP_Speaker_Logs
- Builtin.Fail The prompt was seen but it was not expected yet
-
-Read_Text_Before_Prompt
- [Documentation] Log text gathered by SSHLibrary.Read_Until_Prompt.
- ... This needs to be a separate keyword just because how Read_And_Fail_If_Prompt_Is_Seen is implemented.
- ${text}= SSHLibrary.Read_Until_Prompt
- BuiltIn.Log ${text}