Resource ../../../variables/Variables.robot
*** Variables ***
-${BGP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/bgpflowspec
+${BGP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/bgpflowspec/
${CMD} env exabgp.tcp.port=1790 exabgp --debug
${HOLDTIME} 180
-${OLD_EMPTY} {"bgp-flowspec:flowspec-routes": {}}
-${NEW_EMPTY} {}
${OLD_AS_PATH} \n"as-path": {},
${NEW_AS_PATH} ${EMPTY}
+${EXP0} {"bgp-flowspec:flowspec-routes": {}}
${CFG1} bgp-flowspec.cfg
-${EXP1} bgp-flowspec.json
+${EXP1} bgp_flowspec
${CFG2} bgp-flowspec-redirect.cfg
-${EXP2} bgp-flowspec-redirect.json
+${EXP2} bgp_flowspec_redirect
${FLOWSPEC_URL} /restconf/operational/bgp-rib:bgp-rib/rib/example-bgp-rib/loc-rib/tables/bgp-types:ipv4-address-family/bgp-flowspec:flowspec-subsequent-address-family/bgp-flowspec:flowspec-routes
${CONFIG_SESSION} session
${DEVICE_NAME} controller-config
-${BGP_PEER_NAME} example-bgp-peer
${RIB_INSTANCE} example-bgp-rib
${PROTOCOL_OPENCONFIG} ${RIB_INSTANCE}
@{EMPTY_LIST}
Reconfigure_ODL_To_Accept_Connection
[Documentation] Configure BGP peer module with initiate-connection set to false.
- &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} NAME=${BGP_PEER_NAME} IP=${TOOLS_SYSTEM_IP} HOLDTIME=${HOLDTIME} PEER_PORT=${BGP_TOOL_PORT}
- ... INITIATE=false RIB_INSTANCE_NAME=${RIB_INSTANCE} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG} PASSIVE_MODE=true
+ &{mapping} BuiltIn.Create_Dictionary IP=${TOOLS_SYSTEM_IP} HOLDTIME=${HOLDTIME} PEER_PORT=${BGP_TOOL_PORT} INITIATE=false BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG}
+ ... PASSIVE_MODE=true
TemplatedRequests.Put_As_Xml_Templated ${BGP_VARIABLES_FOLDER}/bgp_peer mapping=${mapping} session=${CONFIG_SESSION}
FlowSpec_Test_1
Deconfigure_ODL_To_Accept_Connection
[Documentation] Deconfigure BGP peer.
- &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} NAME=${BGP_PEER_NAME} IP=${TOOLS_SYSTEM_IP} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG}
+ &{mapping} BuiltIn.Create_Dictionary IP=${TOOLS_SYSTEM_IP} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG}
TemplatedRequests.Delete_Templated ${BGP_VARIABLES_FOLDER}/bgp_peer mapping=${mapping} session=${CONFIG_SESSION}
*** Keywords ***
SSHKeywords.Virtual_Env_Install_Package exabgp==3.4.16
RequestsLibrary.Create_Session ${CONFIG_SESSION} http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH}
Upload_Config_Files ${BGP_VARIABLES_FOLDER}
- ${EXP0} = CompareStream.Set_Variable_If_At_Least_Neon ${NEW_EMPTY} ${OLD_EMPTY}
- BuiltIn.Set_Suite_Variable ${EXP0}
${AS_PATH} = CompareStream.Set_Variable_If_At_Least_Neon ${NEW_AS_PATH} ${OLD_AS_PATH}
BuiltIn.Set_Suite_Variable ${AS_PATH}
Verify_Empty_Flowspec_Data
[Documentation] Verify expected response.
- ${rsp} = RequestsLibrary.Get_Request ${CONFIG_SESSION} ${FLOWSPEC_URL}
- TemplatedRequests.Normalize_Jsons_With_Bits_And_Compare ${EXP0} ${rsp.content} keys_with_bits=${EMPTY_LIST}
+ CompareStream.Run_Keyword_If_At_Most_Fluorine Normalize_And_Compare
+ CompareStream.Run_Keyword_If_At_Least_Neon Verify_Empty_Flowspec_Data_Neon
Verify_Flowspec_Data
- [Arguments] ${exprspfile}
+ [Arguments] ${exprspdir}
[Documentation] Verify expected response
&{mapping} BuiltIn.Create_Dictionary AS_PATH=${AS_PATH}
- ${expected_rsp} = TemplatedRequests.Resolve_Text_From_Template_File ${BGP_VARIABLES_FOLDER} ${exprspfile} mapping=${mapping}
+ TemplatedRequests.Get_As_Json_Templated ${BGP_VARIABLES_FOLDER}${/}${exprspdir} session=${CONFIG_SESSION} mapping=${mapping} verify=True
+
+Normalize_And_Compare
+ [Documentation] Verify empty flowspec data
${rsp} = RequestsLibrary.Get_Request ${CONFIG_SESSION} ${FLOWSPEC_URL}
- TemplatedRequests.Normalize_Jsons_With_Bits_And_Compare ${expected_rsp} ${rsp.content} keys_with_bits=${EMPTY_LIST}
+ TemplatedRequests.Normalize_Jsons_With_Bits_And_Compare ${EXP0} ${rsp.content} keys_with_bits=${EMPTY_LIST}
+
+Verify_Empty_Flowspec_Data_Neon
+ [Documentation] Verify empty flowspec data on neon
+ TemplatedRequests.Get_As_Json_Templated ${BGP_VARIABLES_FOLDER}${/}empty_route session=${CONFIG_SESSION} verify=True