From: Vishal Thapar Date: Mon, 26 Nov 2018 08:04:09 +0000 (+0530) Subject: Check for 404 instead of empty list X-Git-Tag: pre-potassium~448 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=integration%2Ftest.git;a=commitdiff_plain;h=5b8fd805db0adc5bf9833a227c145dab9ce6311d Check for 404 instead of empty list As part of Neon platform upgrade, read on an empty list now returns a null [404] instead of 200 with emtpy list. Refer: https://wiki.opendaylight.org/view/Neon_platform_upgrade#Datastore_lifecycle Change-Id: I4762749ed8f54eb5a8fb78bbc11bba3ba4a3524e Signed-off-by: Vishal Thapar --- diff --git a/csit/libraries/Utils.robot b/csit/libraries/Utils.robot index 3ab78a5484..cfcefc11aa 100644 --- a/csit/libraries/Utils.robot +++ b/csit/libraries/Utils.robot @@ -119,12 +119,15 @@ Check For Elements At URI \ Should Contain ${resp.content} ${i} Check For Elements Not At URI - [Arguments] ${uri} ${elements} ${session}=session ${pretty_print_json}=False - [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 + [Arguments] ${uri} ${elements} ${session}=session ${pretty_print_json}=False ${check_for_null}=False + [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. If ${check_for_null} is True + ... return of 404 is treated as empty list. From Neon onwards, an empty list is always + ... returned as null, giving 404 on rest call. ${resp} RequestsLibrary.Get Request ${session} ${uri} BuiltIn.Run Keyword If "${pretty_print_json}" == "True" Log Content ${resp.content} ... ELSE BuiltIn.Log ${resp.content} + BuiltIn.Run Keyword If "${check_for_null}" == "True" Builtin.Return From Keyword If ${resp.status_code} == 404 Should Be Equal As Strings ${resp.status_code} 200 : FOR ${i} IN @{elements} \ Should Not Contain ${resp.content} ${i} diff --git a/csit/suites/netvirt/vpnservice/vpn_basic.robot b/csit/suites/netvirt/vpnservice/vpn_basic.robot index b99add3564..a2c0421089 100644 --- a/csit/suites/netvirt/vpnservice/vpn_basic.robot +++ b/csit/suites/netvirt/vpnservice/vpn_basic.robot @@ -189,7 +189,7 @@ Delete Router ${router_output} = OpenStackOperations.List Routers BuiltIn.Should Not Contain ${router_output} ${ROUTER} @{router_list} = BuiltIn.Create List ${ROUTER} - BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} + BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} check_for_null=True ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${ROUTER} Verify GWMAC Flow Entry Removed From Flow Table On All Compute Nodes diff --git a/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_one_router.robot b/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_one_router.robot index 060b2c415d..e311e00fae 100644 --- a/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_one_router.robot +++ b/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_one_router.robot @@ -250,7 +250,7 @@ Delete Router And Router Interfaces With L3VPN ${router_output} = OpenStackOperations.List Routers BuiltIn.Should Not Contain ${router_output} ${ROUTER} ${router_list} = BuiltIn.Create List ${ROUTER} - BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} + BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} check_for_null=True # Verify Router Entry removed from L3VPN ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID[0]} BuiltIn.Should Not Contain ${resp} ${router_id} diff --git a/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot b/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot index b82f831123..96cb6a9100 100644 --- a/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot +++ b/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot @@ -148,7 +148,7 @@ Delete Router And Router Interfaces With L3VPN ${router_output} = OpenStackOperations.List Routers BuiltIn.Should Not Contain ${router_output} ${ROUTER} @{router_list} = BuiltIn.Create List ${ROUTER} - BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} + BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} check_for_null=True ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${router_id} Verify GWMAC Flow Entry Removed From Flow Table On All Compute Nodes