Fix bgpcep flowspec test 19/77619/2
authortomas.markovic <tomas.markovic@pantheon.tech>
Thu, 8 Nov 2018 13:11:37 +0000 (14:11 +0100)
committerJamo Luhrsen <jluhrsen@redhat.com>
Fri, 9 Nov 2018 18:27:17 +0000 (18:27 +0000)
Change-Id: I2a9bd47810842b5a39e917bcabf6afe3feb291e0
Signed-off-by: tomas.markovic <tomas.markovic@pantheon.tech>
csit/suites/bgpcep/bgpflowspec/010_bgp_flowspec.robot
csit/variables/bgpflowspec/bgp-flowspec-redirect.json
csit/variables/bgpflowspec/bgp-flowspec.json
csit/variables/bgpflowspec/empty-flowspec.json [deleted file]

index 3841ef5be22ad21b79a5ee6a9ac64d20452540c7..adba040d3bbe349f39dc0ac4df0d1caadeca1f38 100644 (file)
@@ -6,21 +6,24 @@ Documentation     Functional test for bgp flowspec.
 ...               This program and the accompanying materials are made available under the
 ...               terms of the Eclipse Public License v1.0 which accompanies this distribution,
 ...               and is available at http://www.eclipse.org/legal/epl-v10.html
-Suite Setup       Start Suite
-Suite Teardown    Stop Suite
+Suite Setup       Start_Suite
+Suite Teardown    Stop_Suite
 Library           RequestsLibrary
 Library           SSHLibrary
+Resource          ../../../libraries/CompareStream.robot
 Resource          ../../../libraries/ExaBgpLib.robot
-Resource          ../../../libraries/SetupUtils.robot
 Resource          ../../../libraries/SSHKeywords.robot
 Resource          ../../../libraries/TemplatedRequests.robot
 Resource          ../../../variables/Variables.robot
 
 *** Variables ***
-${HOLDTIME}       180
 ${BGP_VARIABLES_FOLDER}    ${CURDIR}/../../../variables/bgpflowspec
 ${CMD}            env exabgp.tcp.port=1790 exabgp --debug
-${EXP0}           empty-flowspec.json
+${HOLDTIME}       180
+${OLD_EMPTY}      {"bgp-flowspec:flowspec-routes": {}}
+${NEW_EMPTY}      {}
+${OLD_AS_PATH}    \n"as-path": {},
+${NEW_AS_PATH}    ${EMPTY}
 ${CFG1}           bgp-flowspec.cfg
 ${EXP1}           bgp-flowspec.json
 ${CFG2}           bgp-flowspec-redirect.cfg
@@ -31,12 +34,13 @@ ${DEVICE_NAME}    controller-config
 ${BGP_PEER_NAME}    example-bgp-peer
 ${RIB_INSTANCE}    example-bgp-rib
 ${PROTOCOL_OPENCONFIG}    ${RIB_INSTANCE}
+@{EMPTY_LIST}
 
 *** Test Cases ***
 Check_For_Empty_Topology_Before_Talking
     [Documentation]    Sanity check bgp-flowspec:flowspec-routes is up but empty.
     [Tags]    critical
-    BuiltIn.Wait Until Keyword Succeeds    60s    3s    Verify Empty Flowspec Data
+    BuiltIn.Wait_Until_Keyword_Succeeds    60s    3s    Verify_Empty_Flowspec_Data
 
 Reconfigure_ODL_To_Accept_Connection
     [Documentation]    Configure BGP peer module with initiate-connection set to false.
@@ -44,16 +48,16 @@ Reconfigure_ODL_To_Accept_Connection
     ...    INITIATE=false    RIB_INSTANCE_NAME=${RIB_INSTANCE}    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
+FlowSpec_Test_1
     [Documentation]    Testing flowspec values for ${CFG1}
-    [Setup]    Setup Testcase    ${CFG1}
-    BuiltIn.Wait Until Keyword Succeeds    15s    1s    Verify Flowspec Data    ${EXP1}
+    [Setup]    Setup_Testcase    ${CFG1}
+    BuiltIn.Wait_Until_Keyword_Succeeds    15s    1s    Verify_Flowspec_Data    ${EXP1}
     [Teardown]    ExaBgpLib.Stop_ExaBgp
 
-FlowSpec Test 2
+FlowSpec_Test_2
     [Documentation]    Testing flowspec values for ${CFG2}
-    [Setup]    Setup Testcase    ${CFG2}
-    BuiltIn.Wait Until Keyword Succeeds    15s    1s    Verify Flowspec Data    ${EXP2}
+    [Setup]    Setup_Testcase    ${CFG2}
+    BuiltIn.Wait_Until_Keyword_Succeeds    15s    1s    Verify_Flowspec_Data    ${EXP2}
     [Teardown]    ExaBgpLib.Stop_ExaBgp
 
 Deconfigure_ODL_To_Accept_Connection
@@ -62,53 +66,49 @@ Deconfigure_ODL_To_Accept_Connection
     TemplatedRequests.Delete_Templated    ${BGP_VARIABLES_FOLDER}/bgp_peer    mapping=${mapping}    session=${CONFIG_SESSION}
 
 *** Keywords ***
-Start Suite
+Start_Suite
     [Documentation]    Suite setup keyword
-    ${mininet_conn_id}=    SSHLibrary.Open Connection    ${TOOLS_SYSTEM_IP}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=6s
-    Builtin.Set Suite Variable    ${mininet_conn_id}
-    SSHKeywords.Flexible Mininet Login    ${TOOLS_SYSTEM_USER}
+    SSHLibrary.Open_Connection    ${TOOLS_SYSTEM_IP}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=6s
+    SSHKeywords.Flexible_Mininet_Login    ${TOOLS_SYSTEM_USER}
     SSHKeywords.Virtual_Env_Create
     SSHKeywords.Virtual_Env_Install_Package    exabgp==3.4.16
-    RequestsLibrary.Create Session    ${CONFIG_SESSION}    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}
-    Upload Config Files    ${CURDIR}/../../../variables/bgpflowspec/
+    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}
 
-Stop Suite
+Stop_Suite
     [Documentation]    Suite teardown keyword
-    SSHLibrary.Close All Connections
-    RequestsLibrary.Delete All Sessions
+    SSHLibrary.Close_All_Connections
+    RequestsLibrary.Delete_All_Sessions
 
-Upload Config Files
+Upload_Config_Files
     [Arguments]    ${dir_name}
     [Documentation]    Uploads exabgp config files
-    SSHLibrary.Put Directory    ${CURDIR}/../../../variables/bgpflowspec/    .
-    @{cfgfiles}=    SSHLibrary.List Files In Directory    .    *.cfg
+    SSHLibrary.Put_Directory    ${BGP_VARIABLES_FOLDER}    .
+    @{cfgfiles} =    SSHLibrary.List_Files_In_Directory    .    *.cfg
     : FOR    ${cfgfile}    IN    @{cfgfiles}
-    \    SSHLibrary.Execute Command    sed -i -e 's/EXABGPIP/${TOOLS_SYSTEM_IP}/g' ${cfgfile}
-    \    SSHLibrary.Execute Command    sed -i -e 's/ODLIP/${ODL_SYSTEM_IP}/g' ${cfgfile}
-    \    ${stdout}=    SSHLibrary.Execute Command    cat ${cfgfile}
+    \    SSHLibrary.Execute_Command    sed -i -e 's/EXABGPIP/${TOOLS_SYSTEM_IP}/g' ${cfgfile}
+    \    SSHLibrary.Execute_Command    sed -i -e 's/ODLIP/${ODL_SYSTEM_IP}/g' ${cfgfile}
+    \    ${stdout}=    SSHLibrary.Execute_Command    cat ${cfgfile}
     \    Log    ${stdout}
 
-Setup Testcase
+Setup_Testcase
     [Arguments]    ${cfg_file}
-    Verify Empty Flowspec Data
+    Verify_Empty_Flowspec_Data
     ExaBgpLib.Start_ExaBgp_And_Verify_Connected    ${cfg_file}    ${CONFIG_SESSION}    ${TOOLS_SYSTEM_IP}    connection_retries=${3}
 
-Verify Empty Flowspec Data
+Verify_Empty_Flowspec_Data
     [Documentation]    Verify expected response.
-    Verify Flowspec Data    ${EXP0}
+    ${rsp} =    RequestsLibrary.Get_Request    ${CONFIG_SESSION}    ${FLOWSPEC_URL}
+    TemplatedRequests.Normalize_Jsons_With_Bits_And_Compare    ${EXP0}    ${rsp.content}    keys_with_bits=${EMPTY_LIST}
 
-Verify Flowspec Data
+Verify_Flowspec_Data
     [Arguments]    ${exprspfile}
     [Documentation]    Verify expected response
-    ${keys_with_bits}=    BuiltIn.Create_List
-    ${expected_rsp}=    Get Expected Response From File    ${exprspfile}
-    ${rsp}=    RequestsLibrary.Get Request    ${CONFIG_SESSION}    ${FLOWSPEC_URL}
-    TemplatedRequests.Normalize_Jsons_With_Bits_And_Compare    ${expected_rsp}    ${rsp.content}    keys_with_bits=${keys_with_bits}
-
-Get Expected Response From File
-    [Arguments]    ${exprspfile}
-    [Documentation]    Looks for release specific response first, then take default.
-    ${status}    ${expresponse}=    BuiltIn.Run_Keyword_And_Ignore_Error    OperatingSystem.Get File    ${CURDIR}/../../../variables/bgpflowspec/${exprspfile}.${ODL_STREAM}
-    Return From Keyword If    '${status}' == 'PASS'    ${expresponse}
-    ${expresponse}=    OperatingSystem.Get File    ${CURDIR}/../../../variables/bgpflowspec/${exprspfile}
-    [Return]    ${expresponse}
+    &{mapping}    BuiltIn.Create_Dictionary    AS_PATH=${AS_PATH}
+    ${expected_rsp} =    TemplatedRequests.Resolve_Text_From_Template_File    ${BGP_VARIABLES_FOLDER}    ${exprspfile}    mapping=${mapping}
+    ${rsp} =    RequestsLibrary.Get_Request    ${CONFIG_SESSION}    ${FLOWSPEC_URL}
+    TemplatedRequests.Normalize_Jsons_With_Bits_And_Compare    ${expected_rsp}    ${rsp.content}    keys_with_bits=${EMPTY_LIST}
index 200403fa17616b47b77e1e5318430a71b5e6b880..a70c9a3d2ea8363dd9efe57501a945d410b3b242 100644 (file)
@@ -19,8 +19,7 @@
                     },
                     "origin": {
                         "value": "igp"
-                    },
-                    "as-path": {},
+                    },$AS_PATH
                     "local-pref": {
                         "pref": 100
                     }
@@ -49,8 +48,7 @@
                     ],
                     "origin": {
                         "value": "igp"
-                    },
-                    "as-path": {},
+                    },$AS_PATH
                     "local-pref": {
                         "pref": 100
                     }
@@ -82,8 +80,7 @@
                     },
                     "origin": {
                         "value": "igp"
-                    },
-                    "as-path": {},
+                    },$AS_PATH
                     "local-pref": {
                         "pref": 100
                     }
index cc1bd8d323814a88e879ae0ad7a8a1f35ac65605..6113110a26ffcd3be32f8ea9a38a5d8cb68c1cbe 100644 (file)
@@ -16,8 +16,7 @@
                     ],
                     "origin": {
                         "value": "igp"
-                    },
-                    "as-path": {},
+                    },$AS_PATH
                     "local-pref": {
                         "pref": 100
                     }
diff --git a/csit/variables/bgpflowspec/empty-flowspec.json b/csit/variables/bgpflowspec/empty-flowspec.json
deleted file mode 100644 (file)
index d406b3c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-{"bgp-flowspec:flowspec-routes": {}}