Migrate Get Requests invocations(libraries)
[integration/test.git] / csit / libraries / DataModels.robot
index 5efcbdbcbf94d10ac565cf4e1662b7aa512f2175..69e4c6a1cba9e6160afa73a1ac96e55c9be19df0 100644 (file)
@@ -1,23 +1,43 @@
 *** Settings ***
-Documentation     Library to deal with mdsal data models. Initially, as a common place to show and
-...               debug a list of data models.
-Library           RequestsLibrary
+Documentation       Library to deal with mdsal data models. Initially, as a common place to show and
+...                 debug a list of data models.
+
+Library             RequestsLibrary
+Resource            Utils.robot
+
 
 *** Variables ***
-@{data_models}    ${EMPTY}
+@{internal_data_models}     ${EMPTY}
+${DISPATCHER_TABLE}         17
+${INTEGRATION_BRIDGE}       br-int
+
 
 *** Keywords ***
 Get Model Dump
-    [Arguments]    ${controller_ip}    ${data_models}=@{data_models}
     [Documentation]    Will output a list of mdsal models using ${data_models} list
+    [Arguments]    ${controller_ip}    ${data_models}=@{internal_data_models}    ${restconf_root}=rests
     # while feature request in bug 7892 is not done, we will quickly timeout and not retry the model dump get
     # request. This is because when it's done in a failed cluster state, it could take 20s for the reesponse to
     # to come back as the internal clustering times out waiting for a leader which will not come. When bug 7892
     # is resolved, we can remove the timeout=1 and max_retries=0, but likely have to modify the request itself to
     # pass a timeout to restconf
-    Create Session    model_dump_session    http://${controller_ip}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}    timeout=1    max_retries=0
-    : FOR    ${model}    IN    @{data_models}
-    \    ${resp}=    RequestsLibrary.Get Request    model_dump_session    restconf/${model}
-    \    Log    ${resp.status_code}
-    \    ${pretty_output}=    To Json    ${resp.content}    pretty_print=True
-    \    Log    ${pretty_output}
+    Create Session
+    ...    model_dump_session
+    ...    http://${controller_ip}:${RESTCONFPORT}
+    ...    auth=${AUTH}
+    ...    headers=${HEADERS}
+    ...    timeout=1
+    ...    max_retries=0
+    FOR    ${model}    IN    @{data_models}
+        ${resp}=    RequestsLibrary.GET On Session    model_dump_session    url=${restconf_root}/${model}
+        Utils.Log Content    ${resp.text}
+    END
+
+Verify No Ingress Dispatcher Non-Default Flow Entries
+    [Documentation]    Verify the ingress dispatcher table has no non-default flows after neutron was cleaned up
+    [Arguments]    ${ovs_ip}
+    ${flow_output}=    Utils.Run Command On Remote System
+    ...    ${ovs_ip}
+    ...    sudo ovs-ofctl -O OpenFlow13 dump-flows ${INTEGRATION_BRIDGE} table=${DISPATCHER_TABLE} | grep -v "priority=0"
+    Log    ${flow_output}
+    #Should Not Contain    ${flow_output}    table=${DISPATCHER_TABLE} # Skipping test verification until bug 7451 is resolved