Delete flows created by simple fwd + improve OVSDB test + more stable mininet cleaning
[integration/test.git] / test / csit / suites / base / 030__arp_handler.txt
1 *** Settings ***
2 Documentation     Test suite for the arp handler module.
3 Suite Setup       Create Session   session   http://${CONTROLLER}:8080   auth=${AUTH}   headers=${HEADERS}
4 Suite Teardown    Delete All Sessions
5 Library           SSHLibrary
6 Library           Collections
7 Library           ../../libraries/RequestsLibrary.py
8 Library           ../../libraries/Common.py
9 Variables         ../../variables/Variables.py
10
11 *** Variables ***
12 ${name}           test
13 ${key}            subnetConfig
14 ${REST_CONTEXT}    /controller/nb/v2/subnetservice
15 ${REST_CONTEXT_HT}   /controller/nb/v2/hosttracker
16
17 *** Test Cases ***
18 List Subnets
19     [Documentation]    List subnets and verify default is there
20     [Tags]    Get
21     ${resp}    Get    session    ${REST_CONTEXT}/${CONTAINER}/subnets
22     Should Be Equal As Strings   ${resp.status_code}   200
23     ${result}    To JSON    ${resp.content}
24     ${subnet}    Get From Dictionary    ${result}    ${key}
25     ${content}   Get From List    ${subnet}    0
26     Dictionary Should Contain Value   ${content}   0.0.0.0/0
27 Ping h1 to h4
28     [Documentation]    Ping h1 to h4, verify no packet loss
29     [Tags]   Get
30     Write   h1 ping -c 3 h4
31     Sleep   6
32     ${result}    Read
33     Should Contain   ${result}   64 bytes
34 List hosts
35     [Documentation]    List hosts and verify h1 and h4
36     [Tags]   Get
37     ${resp}    Get    session    ${REST_CONTEXT_HT}/${CONTAINER}/hosts/active
38     Should Be Equal As Strings    ${resp.status_code}    200  
39     Should Contain     ${resp.content}    10.0.0.1
40     Should Contain     ${resp.content}    10.0.0.4
41 Remove flows
42     [Documentation]    Remove flows generated by simple fwd
43     [Tags]   Get
44     Write   dpctl del-flows
45     Sleep   1
46     Read
47 Add a subnet
48     [Documentation]    Add a subnet, list to validate the result.
49     [Tags]    add
50     ${body}    Create Dictionary    name    ${name}    subnet    11.0.0.254/8
51     ${resp}    Put    session    ${REST_CONTEXT}/${CONTAINER}/subnet/${name}    data=${body}
52     Should Be Equal As Strings    ${resp.status_code}    201
53     ${resp}    Get    session    ${REST_CONTEXT}/${CONTAINER}/subnets
54     Should Be Equal As Strings    ${resp.status_code}    200
55     ${result}    To JSON    ${resp.content}
56     ${content}    Get From Dictionary    ${result}    ${key}
57     List Should Contain Value    ${content}    ${body}
58 Remove a subnet
59     [Documentation]    Remove a subnet, list to validate the result.
60     [Tags]    remove
61     ${body}    Create Dictionary    name    ${name}    subnet    11.0.0.254/8
62     ${resp}    Delete    session    ${REST_CONTEXT}/${CONTAINER}/subnet/${name}
63     Should Be Equal As Strings    ${resp.status_code}    204
64     ${resp}    Get    session    ${REST_CONTEXT}/${CONTAINER}/subnets
65     Should Be Equal As Strings    ${resp.status_code}    200
66     ${result}    To JSON    ${resp.content}
67     ${content}    Get From Dictionary    ${result}    ${key}
68     List Should Not Contain Value    ${content}    ${body}