Migrate Get Requests invocations(libraries)
[integration/test.git] / csit / suites / openflowplugin / Bug_Validation / 6917.robot
index 444fc321b0fec566b599bd5cf270ea7990e3ef24..95ebdce233e9f91fec53c631c09f2d4c3271513b 100644 (file)
@@ -1,55 +1,93 @@
 *** Settings ***
-Documentation     Test suite for bug 6917 validation.
-Suite Setup       Initialization Phase
-Suite Teardown    Final Phase
-Library           XML
-Library           RequestsLibrary
-Resource          ../../../libraries/MininetKeywords.robot
-Resource          ../../../libraries/FlowLib.robot
-Variables         ../../../variables/Variables.py
+Documentation       Test suite for bug 6917 validation.
+
+Library             XML
+Library             RequestsLibrary
+Resource            ../../../libraries/MininetKeywords.robot
+Resource            ../../../libraries/FlowLib.robot
+Resource            ../../../variables/Variables.robot
+Resource            ../../../variables/openflowplugin/Variables.robot
+
+Suite Setup         Initialization Phase
+Suite Teardown      Final Phase
+
 
 *** Variables ***
-${XmlsDir}        ${CURDIR}/../../../variables/xmls
-${flowfile}       f21.xml
-${switch_idx}     1
-${switch_name}    s${switch_idx}
-${iteration}      5
+${XmlsDir}          ${CURDIR}/../../../variables/xmls
+${switch_idx}       1
+${switch_name}      s${switch_idx}
+${iteration}        4
+
 
 *** Test Cases ***
-Bug 6917
+Add Delete Same Flow
     [Documentation]    Iterate on add and delete flow until alien ID is found in Operational Datastore.
-    : FOR    ${i}    IN RANGE    ${iteration}
-    \    Add And Delete Flow
+    FOR    ${i}    IN RANGE    ${iteration}
+        Run Keyword And Continue On Failure    Add And Delete Flow    f21.xml
+    END
     [Teardown]    Report_Failure_Due_To_Bug    6917
 
+Add Multiple Flows
+    [Documentation]    Iterate on add and delete flow until alien ID is found in Operational Datastore.
+    Run Keyword And Continue On Failure    Add Flow    f20.xml
+    Run Keyword And Continue On Failure    Add Flow    f21.xml
+    Run Keyword And Continue On Failure    Add Flow    f22.xml
+    Run Keyword And Continue On Failure    Add Flow    f23.xml
+    [Teardown]    Report_Failure_Due_To_Bug    6917
+
+
 *** Keywords ***
 Initialization Phase
     [Documentation]    Starts mininet and verify if topology is in operational datastore.
     ${mininet_conn_id}=    MininetKeywords.Start Mininet Single Controller
     BuiltIn.Set Suite Variable    ${mininet_conn_id}
-    RequestsLibrary.Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
-    BuiltIn.Wait Until Keyword Succeeds    10s    1s    Are Switches Connected Topo
+    RequestsLibrary.Create Session
+    ...    session
+    ...    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
+    ...    auth=${AUTH}
+    ...    headers=${HEADERS_XML}
+    BuiltIn.Wait Until Keyword Succeeds    10s    1s    FlowLib.Check Switches In Topology    1
 
 Final Phase
     [Documentation]    Stops mininet.
     MininetKeywords.Stop Mininet And Exit    ${mininet_conn_id}
     RequestsLibrary.Delete All Sessions
 
-Are Switches Connected Topo
-    [Documentation]    Checks wheather switches are connected to controller
-    ${resp}=    RequestsLibrary.Get Request    session    ${OPERATIONAL_TOPO_API}/topology/flow:1    headers=${ACCEPT_XML}
-    Log    ${resp.content}
-    ${count}=    XML.Get Element Count    ${resp.content}    xpath=node
-    BuiltIn.Should Be Equal As Numbers    ${count}    1
-
 Add And Delete Flow
     [Documentation]    Add a Delete a Flow and verify presence in Datastore. The 5 sec sleep is required to reproduce the bug.
-    Sleep    5
+    [Arguments]    ${flowfile}
     FlowLib.Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
     FlowLib.Add Flow Via Restconf    ${switch_idx}    ${table_id}    ${data}
     BuiltIn.Wait Until Keyword Succeeds    10s    1s    FlowLib.Check Operational Flow    ${True}    ${data}
-    FlowLib.Check Datastore Presence    ${flowfile}    ${True}    ${True}    ${False}    ${True}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    FlowLib.Check Datastore Presence
+    ...    ${flowfile}
+    ...    ${True}
+    ...    ${True}
+    ...    ${False}
+    ...    ${True}
     FlowLib.Delete Flow Via Restconf    ${switch_idx}    ${table_id}    ${flow_id}
     BuiltIn.Wait Until Keyword Succeeds    10s    1s    FlowLib.Check Operational Flow    ${False}    ${data}
     FlowLib.Check Datastore Presence    ${flowfile}    ${False}    ${False}    ${True}
+    Sleep    5
     [Teardown]    BuiltIn.Run Keyword And Ignore Error    FlowLib.Delete Flow Via Restconf    ${switch_idx}    ${table_id}    ${flow_id}
+
+Add Flow
+    [Documentation]    Add a Delete a Flow and verify presence in Datastore. The 5 sec sleep is required to reproduce the bug.
+    [Arguments]    ${flowfile}
+    FlowLib.Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
+    FlowLib.Add Flow Via Restconf    ${switch_idx}    ${table_id}    ${data}
+    BuiltIn.Wait Until Keyword Succeeds    10s    1s    FlowLib.Check Operational Flow    ${True}    ${data}
+    BuiltIn.Wait Until Keyword Succeeds
+    ...    10s
+    ...    1s
+    ...    FlowLib.Check Datastore Presence
+    ...    ${flowfile}
+    ...    ${True}
+    ...    ${True}
+    ...    ${False}
+    ...    ${True}
+    Sleep    8
+    [Teardown]    BuiltIn.Run Keyword And Ignore Error    RequestsLibrary.DELETE On Session    session    url=${RFC8040_NODES_API}