Replace Bierman02 with RFC8040 for OpenFlow Plugin
[integration/test.git] / csit / suites / openflowplugin / Bug_Validation / 6917.robot
index 444fc321b0fec566b599bd5cf270ea7990e3ef24..4c3ac1c73a64df410663ccc1604d70f213dfe4f9 100644 (file)
@@ -6,20 +6,29 @@ Library           XML
 Library           RequestsLibrary
 Resource          ../../../libraries/MininetKeywords.robot
 Resource          ../../../libraries/FlowLib.robot
-Variables         ../../../variables/Variables.py
+Resource          ../../../variables/Variables.robot
+Resource          ../../../variables/openflowplugin/Variables.robot
 
 *** Variables ***
 ${XmlsDir}        ${CURDIR}/../../../variables/xmls
-${flowfile}       f21.xml
 ${switch_idx}     1
 ${switch_name}    s${switch_idx}
-${iteration}      5
+${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 ***
@@ -28,28 +37,34 @@ Initialization Phase
     ${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
+    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
+    [Arguments]    ${flowfile}
     [Documentation]    Add a Delete a Flow and verify presence in Datastore. The 5 sec sleep is required to reproduce the bug.
-    Sleep    5
     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
+    [Arguments]    ${flowfile}
+    [Documentation]    Add a Delete a Flow and verify presence in Datastore. The 5 sec sleep is required to reproduce the bug.
+    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 Request    session    ${RFC8040_NODES_API}