Check for 404 instead of empty list 28/78128/7
authorVishal Thapar <vthapar@redhat.com>
Mon, 26 Nov 2018 08:04:09 +0000 (13:34 +0530)
committerSam Hague <shague@redhat.com>
Wed, 28 Nov 2018 15:47:19 +0000 (15:47 +0000)
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 <vthapar@redhat.com>
csit/libraries/Utils.robot
csit/suites/netvirt/vpnservice/vpn_basic.robot
csit/suites/netvirt/vpnservice/vpn_basic_dualstack_one_router.robot
csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot

index 3ab78a5484c58170484a41ce6eed686c1677beda..cfcefc11aab1d8bf6319869556f3abf70ff8f667 100644 (file)
@@ -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}
index b99add3564f68cf36a22f4536ef8ebd47d4faf52..a2c042108949c753cbe2f0dc410029ea8066fca8 100644 (file)
@@ -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
index 060b2c415da9f433ff0f9b6463ccddf220dca6d8..e311e00faeb514513d0ce1564b603d3a73a560b2 100644 (file)
@@ -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}
index b82f8311231930ab8be70c08eb24fb59a00478ea..96cb6a91009278a27826da7ec2148d41db483b8b 100644 (file)
@@ -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