SFC New testcase addition.
[integration/test.git] / csit / suites / examples / 2016_Summit_Tutorial_Example.robot
1 *** Settings ***
2 Documentation     Example Robot suite used for the CSIT tutorial at the 2016 OpenDaylight Summit
3 Suite Setup       Local Suite Setup
4 Suite Teardown    Local Suite Teardown
5 Test Setup        SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
6 Library           RequestsLibrary
7 Variables         ../../variables/Variables.py
8 Resource          ../../libraries/OVSDB.robot
9 Resource          ../../libraries/SetupUtils.robot
10
11 *** Variables ***
12 ${switch_name}    odl_summit_switch
13
14 *** Test Cases ***
15 Verify Ovs Is Discovered In Operational
16     [Documentation]    The test case setup will connect ovs to the controller and the test case itself
17     ...    will verify specific elements are discovered in the operational toplogy.
18     [Setup]    Connect Ovs To Controller
19     Wait Until Keyword Succeeds    5s    1s    Verify Ovs Reports Connected
20     # very basic list of things we expect to find in the output of from operational's topology response
21     @{elements_to_verify}    Create List    openflow:    node-id
22     Wait Until Keyword Succeeds    5s    1s    Check For Elements At URI    ${OPERATIONAL_TOPO_API}    ${elements_to_verify}
23
24 Verify There Is No Topology In Config Store
25     [Documentation]    Only the operational store should have any topology info at this point, as it was
26     ...    populated when the ovs was connected to the openflow southbound.
27     No Content From URI    session    ${CONFIG_TOPO_API}
28
29 Add Openflow Rule
30     [Documentation]    TODO
31     [Tags]    exclude
32     Log    This test case is not implemented yet
33
34 Delete Openflow Rule
35     [Documentation]    TODO
36     [Tags]    exclude
37     Log    This test case is not implemented yet
38
39 *** Keywords ***
40 Connect Ovs To Controller
41     [Documentation]    Will set the ovs manager to point at the ODL IP on the openflow port
42     Run Command On Remote System    ${TOOLS_SYSTEM_IP}    sudo ovs-vsctl add-br ${switch_name}
43     Run Command On Remote System    ${TOOLS_SYSTEM_IP}    sudo ovs-vsctl set bridge ${switch_name} protocols=OpenFlow13
44     Run Command On Remote System    ${TOOLS_SYSTEM_IP}    sudo ovs-vsctl set bridge ${switch_name} other-config:hwaddr=00:00:00:00:00:01
45     Set Controller In OVS Bridge    ${TOOLS_SYSTEM_IP}    ${switch_name}    tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT}
46
47 Local Suite Setup
48     [Documentation]    Make sure the environment is in a clean state.
49     SetupUtils.Setup_Utils_For_Setup_And_Teardown
50     # the variable named "session" has grandfathered it's way in to CSIT such that some keywords expect
51     # it to be the name of the session with which it should make it's rest calls with.    There is no other
52     # good reason than that.
53     Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
54     Clean OVSDB Test Environment
55
56 Local Suite Teardown
57     [Documentation]    Ensure the system is clean and all connections are closed
58     Clean OVSDB Test Environment
59     Close All Connections