d315d77ea418f0865c1a3bf2d8583535e7a72a81
[integration/test.git] / test / csit / suites / base-of13 / 070__Flows_OF13 / 306__eth_ip_qos.txt
1 *** Settings ***
2 Documentation     Test suite for IP,Ethernet,DSCP and Action dec TTL
3 Suite Setup       Create Session    session    http://${CONTROLLER}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
4 Suite Teardown    Delete All Sessions
5 Library           SSHLibrary
6 Library           Collections
7 Library           OperatingSystem
8 Library           ../../../libraries/RequestsLibrary.py
9 Library           ../../../libraries/Common.py
10 Variables         ../../../variables/Variables.py
11
12 *** Variables ***
13 ${REST_CON}       /restconf/config/opendaylight-inventory:nodes
14 ${REST_OPR}       /restconf/operational/opendaylight-inventory:nodes
15 ${FILE}           ${CURDIR}/../../../variables/xmls/f7.xml
16 ${FLOW}           130
17 ${TABLE}          2
18 @{FLOWELMENTS}    dl_dst=ff:ff:ff:ff:ff:aa    table=2    nw_ecn=1    dl_src=00:00:00:11:23:ae    nw_src=10.1.2.0    nw_dst=20.4.0.0    dec_ttl
19 ...               nw_proto=56    nw_tos=60
20
21 *** Test Cases ***
22 Add a flow - Output to physical port#
23     [Documentation]    Push a flow through REST-API
24     [Tags]    Push
25     ${body}    OperatingSystem.Get File    ${FILE}
26     Set Suite Variable    ${body}
27     ${resp}    Putxml    session    ${REST_CON}/node/openflow:1/table/${TABLE}/flow/${FLOW}    data=${body}
28     Should Be Equal As Strings    ${resp.status_code}    200
29
30 Verify after adding flow config - Output to physical port#
31     [Documentation]    Verify the flow
32     [Tags]    Get
33     ${resp}    get    session    ${REST_CON}/node/openflow:1/table/${TABLE}/flow/${FLOW}    headers=${ACCEPT_XML}
34     Should Be Equal As Strings    ${resp.status_code}    200
35     compare xml    ${body}    ${resp.content}
36
37 Verify flows after adding flow config on OVS
38     [Documentation]    Checking Flows on switch
39     [Tags]    Switch    ${EMPTY}
40     sleep    1
41     write    dpctl dump-flows -O OpenFlow13
42     ${body}    OperatingSystem.Get File    ${FILE}
43     Sleep    1
44     ${switchouput}    Read
45     : FOR    ${flowElement}    IN    @{FLOWELMENTS}
46     \    should Contain    ${switchouput}    ${flowElement}
47
48 Remove a flow - Output to physical port#
49     [Documentation]    Remove a flow
50     [Tags]    remove
51     ${resp}    Delete    session    ${REST_CON}/node/openflow:1/table/${TABLE}/flow/${FLOW}
52     Should Be Equal As Strings    ${resp.status_code}    200
53
54 Verify after deleting flow config - Output to physical port#
55     [Documentation]    Verify the flow
56     [Tags]    Get
57     ${resp}    Get    session    ${REST_CON}/node/openflow:1/table/${TABLE}
58     Should Not Contain    ${resp.content}    ${FLOW}
59
60 Verify flows after deleting flow config on OVS
61     [Documentation]    Checking Flows on switch
62     [Tags]    Switch
63     sleep    1
64     write    dpctl dump-flows -O OpenFlow13
65     ${body}    OperatingSystem.Get File    ${FILE}
66     Sleep    1
67     ${switchouput}    Read
68     : FOR    ${flowElement}    IN    @{FLOWELMENTS}
69     \    should Not Contain    ${switchouput}    ${flowElement}