Update Robot Framework format - step 14
[integration/test.git] / csit / suites / sxp / filtering / 200_Outbound_Filtering_Policy.robot
1 *** Settings ***
2 Documentation       Test suite to verify Outbound filtering functionality using manual policy
3
4 Library             RequestsLibrary
5 Library             SSHLibrary
6 Library             ../../../libraries/Sxp.py
7 Library             ../../../libraries/Common.py
8 Resource            ../../../libraries/SxpLib.robot
9 Resource            ../../../libraries/WaitForFailure.robot
10 Resource            ../../../libraries/SXP/FilteringResources.robot
11
12 Suite Setup         Setup SXP Environment    5
13 Suite Teardown      Clean SXP Environment    5
14 Test Teardown       Clean Nodes
15
16
17 *** Test Cases ***
18 Access List Filtering
19     [Documentation]    Test ACL filter behaviour during filter update
20     [Tags]    sxp    filtering
21     ${peers}    Add Peers    127.0.0.4    127.0.0.5
22     Add PeerGroup    GROUP    ${peers}
23     ${entry1}    Get Filter Entry    10    permit    acl=10.10.10.0,0.0.0.255
24     ${entry2}    Get Filter Entry    20    deny    acl=10.10.0.0,0.0.255.0
25     ${entry3}    Get Filter Entry    30    permit    acl=10.0.0.0,0.255.255.0
26     ${entries}    Combine Strings    ${entry1}    ${entry2}    ${entry3}
27     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
28     Setup Nodes
29     Wait Until Keyword Succeeds    4    2    Check One Group 4-5
30     Delete Filter    GROUP    outbound
31     Verify Keyword Does Not Fail Within Timeout    4    1    Check One Group 4-5
32     Reconnect Peers
33     ${entry1}    Get Filter Entry    10    permit    acl=10.20.0.0,0.0.255.255
34     ${entry2}    Get Filter Entry    20    permit    acl=10.10.0.0,0.0.255.0
35     ${entries}    Combine Strings    ${entry1}    ${entry2}
36     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
37     Reconnect Peers
38     Wait Until Keyword Succeeds    4    2    Check Two Group 4-5
39
40 Access List Sgt Filtering
41     [Documentation]    Test ACL and SGT filter behaviour during filter update
42     [Tags]    sxp    filtering
43     ${peers}    Add Peers    127.0.0.2    127.0.0.5
44     Add PeerGroup    GROUP    ${peers}
45     ${entry1}    Get Filter Entry    10    deny    acl=10.10.20.0,0.0.0.255
46     ${entry2}    Get Filter Entry    20    permit    acl=10.10.0.0,0.0.255.0
47     ${entry3}    Get Filter Entry    30    permit    sgt=30    acl=10.10.10.0,0.0.0.255
48     ${entries}    Combine Strings    ${entry1}    ${entry2}    ${entry3}
49     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
50     Setup Nodes
51     Wait Until Keyword Succeeds    4    2    Check One Group 2-5
52     Delete Filter    GROUP    outbound
53     Verify Keyword Does Not Fail Within Timeout    4    1    Check One Group 2-5
54     Reconnect Peers
55     ${entries}    Get Filter Entry    10    permit    esgt=20,40    acl=10.10.0.0,0.0.255.255
56     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
57     Reconnect Peers
58     Wait Until Keyword Succeeds    4    2    Check Two Group 2-5
59
60 Prefix List Filtering
61     [Documentation]    Test Prefix List filter behaviour during filter update
62     [Tags]    sxp    filtering
63     ${peers}    Add Peers    127.0.0.4    127.0.0.5
64     Add PeerGroup    GROUP    ${peers}
65     ${entry1}    Get Filter Entry    10    permit    pl=10.10.10.0/24
66     ${entry2}    Get Filter Entry    20    deny    epl=10.10.0.0/16,le,24
67     ${entry3}    Get Filter Entry    30    permit    epl=10.0.0.0/8,le,24
68     ${entries}    Combine Strings    ${entry1}    ${entry2}    ${entry3}
69     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
70     Setup Nodes
71     Wait Until Keyword Succeeds    4    2    Check One Group 4-5
72     Delete Filter    GROUP    outbound
73     Verify Keyword Does Not Fail Within Timeout    4    1    Check One Group 4-5
74     Reconnect Peers
75     ${entry1}    Get Filter Entry    10    permit    pl=10.20.0.0/16
76     ${entry2}    Get Filter Entry    20    permit    epl=10.10.0.0/16,le,24
77     ${entries}    Combine Strings    ${entry1}    ${entry2}
78     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
79     Reconnect Peers
80     Wait Until Keyword Succeeds    4    2    Check Two Group 4-5
81
82 Prefix List Sgt Filtering
83     [Documentation]    Test Prefix List and SGT filter behaviour during filter update
84     [Tags]    sxp    filtering
85     ${peers}    Add Peers    127.0.0.2    127.0.0.5
86     Add PeerGroup    GROUP    ${peers}
87     ${entry1}    Get Filter Entry    10    deny    pl=10.10.20.0/24
88     ${entry2}    Get Filter Entry    20    permit    epl=10.10.0.0/16,le,24
89     ${entry3}    Get Filter Entry    30    permit    sgt=30    pl=10.10.10.0/24
90     ${entries}    Combine Strings    ${entry1}    ${entry2}    ${entry3}
91     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
92     Setup Nodes
93     Wait Until Keyword Succeeds    4    2    Check One Group 2-5
94     Delete Filter    GROUP    outbound
95     Verify Keyword Does Not Fail Within Timeout    4    1    Check One Group 2-5
96     Reconnect Peers
97     ${entries}    Get Filter Entry    10    permit    esgt=20,40    pl=10.10.0.0/16
98     Add Filter    GROUP    outbound    ${entries}    policy=manual-update
99     Reconnect Peers
100     Wait Until Keyword Succeeds    4    2    Check Two Group 2-5
101
102
103 *** Keywords ***
104 Reconnect Peers
105     [Documentation]    Reconnect all peers connected to node containing filters
106     [Arguments]    ${version}=version4    ${password}=none
107     Clean Connections    127.0.0.1
108     Add Connection    ${version}    both    127.0.0.2    64999    127.0.0.1    ${password}
109     Add Connection    ${version}    listener    127.0.0.3    64999    127.0.0.1    ${password}
110     Add Connection    ${version}    both    127.0.0.4    64999    127.0.0.1    ${password}
111     Add Connection    ${version}    speaker    127.0.0.5    64999    127.0.0.1    ${password}
112     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    both    127.0.0.2
113     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.3
114     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    both    127.0.0.4
115     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.5