Step 2: Move test folder to root
[integration/test.git] / csit / suites / lacp / Lacp_Feature_OF13 / 030__lacp_flow_entry_stats.robot
diff --git a/csit/suites/lacp/Lacp_Feature_OF13/030__lacp_flow_entry_stats.robot b/csit/suites/lacp/Lacp_Feature_OF13/030__lacp_flow_entry_stats.robot
new file mode 100644 (file)
index 0000000..93c9f82
--- /dev/null
@@ -0,0 +1,62 @@
+*** Settings ***\r
+Documentation     Test suite to verify if the PDU count for the LACP flow entry is getting updated\r
+Suite Setup       LACP Inventory Suite Setup\r
+Suite Teardown    Delete All Sessions\r
+Library           SSHLibrary\r
+Library           Collections\r
+Library           String\r
+Library           RequestsLibrary\r
+Library           ../../../libraries/Common.py\r
+Resource          ../../../libraries/Utils.robot\r
+Variables         ../../../variables/Variables.py\r
+\r
+*** Variables ***\r
+${node1}          openflow:1\r
+\r
+*** Test Cases ***\r
+Verify Switch S1 LACP flow entry packet hit doesn't display zero value\r
+    [Documentation]    Verify the LACP flow entry packet hit stats doesn't display zero value on the Switch S1\r
+    ${result}=    Run Command On Remote System    ${MININET}    sudo ovs-ofctl dump-flows s1 -O OpenFlow13\r
+    Comment    ${result}    Read Until    mininet>\r
+    Should Not Contain    ${result}    n_packets=0\r
+    Should Not Contain    ${result}    n_bytes=0\r
+\r
+Verify Switch S1 Port stats doesn't display zero value\r
+    [Documentation]    Verify the port stats for the Switch S1 doesn't display value with zero\r
+    ${result}=    Run Command On Remote System    ${MININET}    sudo ovs-ofctl dump-ports s1 -O OpenFlow13   ${MININET_USER}    #\r
+    Comment    ${result}    Read Until    mininet>\r
+    ${port1}=    Get Lines Containing String    ${result}    1:\r
+    Should Not Contain    ${port1}    rx pkts=0\r
+    Should Not Contain    ${port1}    bytes=0\r
+    ${port2}=    Get Lines Containing String    ${result}    2:\r
+    Should Not Contain    ${port2}    rx pkts=0\r
+    Should Not Contain    ${port2}    bytes=0\r
+    ${port3}=    Get Lines Containing String    ${result}    3:\r
+    Should Not Contain    ${port3}    rx pkts=0\r
+    Should Not Contain    ${port3}    bytes=0\r
+    ${port4}=    Get Lines Containing String    ${result}    4:\r
+    Should Not Contain    ${port4}    rx pkts=0\r
+    Should Not Contain    ${port4}    bytes=0\r
+\r
+*** Keywords ***\r
+Verify LACP RESTAPI Response Code for node\r
+    [Documentation]    Will check for the response code of the REST query\r
+    Should Be Equal As Strings    ${resp.status_code}    200\r
+    Should Contain    ${resp.content}    ${node1}\r
+\r
+Verify LACP RESTAPI Aggregator and Tag Contents\r
+    [Arguments]    ${resp.content}    ${content-lookup}\r
+    [Documentation]    Will check for the LACP Specific tags or Aggregator ID for node\r
+    Should Contain    ${resp.content}    ${content-lookup}\r
+\r
+Verify LACP Tags Are Formed\r
+    [Documentation]    Fundamental Check That LACP is working\r
+    ${resp}    RequestsLibrary.Get    session    ${OPERATIONAL_NODES_API}\r
+    Verify LACP RESTAPI Response Code for node\r
+    Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    non-lag-groupid\r
+    Verify LACP RESTAPI Aggregator and Tag Contents    ${resp.content}    lacp-aggregators\r
+\r
+LACP Inventory Suite Setup\r
+    [Documentation]    If these basic checks fail, there is no need to continue any of the other test cases\r
+    Create Session    session    http://${CONTROLLER}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}\r
+    Wait Until Keyword Succeeds    15s    1s    Verify LACP Tags Are Formed\r