Update Robot Framework format - step 14
[integration/test.git] / csit / suites / sxp / topology / 030_Domains_Forwarding.robot
1 *** Settings ***
2 Documentation       Test suite to verify Domain data separation
3
4 Library             RequestsLibrary
5 Library             SSHLibrary
6 Library             ../../../libraries/Sxp.py
7 Resource            ../../../libraries/SxpLib.robot
8
9 Suite Setup         Setup Nodes Local
10 Suite Teardown      Clean SXP Environment    14
11
12
13 *** Variables ***
14 ${DOMAIN_1}     guest
15 ${DOMAIN_2}     trusted
16 ${DOMAIN_3}     secure
17
18
19 *** Test Cases ***
20 Export Separation Node 7 Test
21     [Documentation]    Test if Node 7 contains only bindings from global domain
22     [Tags]    sxp    domains
23     Check Binding Range    20    2000    2300    127.0.0.7
24     Check Binding Range Negative    30    3000    3300    127.0.0.7
25     Check Binding Range Negative    40    4000    4300    127.0.0.7
26     Check Binding Range Negative    50    5000    5300    127.0.0.7
27     Check Binding Range Negative    60    6000    6300    127.0.0.7
28     Check Binding Range Negative    110    11000    11300    127.0.0.7
29     Check Binding Range Negative    120    12000    12300    127.0.0.7
30     Check Binding Range Negative    130    13000    13300    127.0.0.7
31     Check Binding Range Negative    140    14000    14300    127.0.0.7
32
33 Export Separation Node 8-9 Test
34     [Documentation]    Test if Nodes 8,9 contains only bindings from guest domain
35     [Tags]    sxp    domains
36     FOR    ${node}    IN RANGE    8    10
37         Check Binding Range Negative    20    2000    2300    127.0.0.${node}
38         Check Binding Range    30    3000    3300    127.0.0.${node}
39         Check Binding Range    40    4000    3300    127.0.0.${node}
40         Check Binding Range Negative    50    5000    5300    127.0.0.${node}
41         Check Binding Range Negative    60    6000    6300    127.0.0.${node}
42         Check Binding Range Negative    110    11000    11300    127.0.0.${node}
43         Check Binding Range Negative    120    12000    12300    127.0.0.${node}
44         Check Binding Range Negative    130    13000    13300    127.0.0.${node}
45         Check Binding Range Negative    140    14000    14300    127.0.0.${node}
46     END
47
48 Export Separation Node 10 Test
49     [Documentation]    Test if Node 10 contains only bindings from trusted domain
50     [Tags]    sxp    domains
51     Check Binding Range Negative    20    2000    2300    127.0.0.10
52     Check Binding Range Negative    30    3000    3300    127.0.0.10
53     Check Binding Range Negative    40    4000    4300    127.0.0.10
54     Check Binding Range    50    5000    5300    127.0.0.10
55     Check Binding Range    60    6000    6300    127.0.0.10
56     Check Binding Range Negative    110    11000    11300    127.0.0.10
57     Check Binding Range Negative    120    12000    12300    127.0.0.10
58     Check Binding Range Negative    130    13000    13300    127.0.0.10
59     Check Binding Range Negative    140    14000    14300    127.0.0.10
60
61 Export Separation Node 11-14 Test
62     [Documentation]    Test if Nodes 11-14 contains only bindings from secure domain
63     [Tags]    sxp    domains
64     FOR    ${node}    IN RANGE    11    15
65         Check Binding Range Negative    20    2000    2300    127.0.0.${node}
66         Check Binding Range Negative    30    3000    3300    127.0.0.${node}
67         Check Binding Range Negative    40    4000    4300    127.0.0.${node}
68         Check Binding Range Negative    50    5000    5300    127.0.0.${node}
69         Check Binding Range Negative    60    6000    6300    127.0.0.${node}
70         Check Binding Range    110    11000    11300    127.0.0.${node}
71         Check Binding Range    120    12000    12300    127.0.0.${node}
72         Check Binding Range    130    13000    13300    127.0.0.${node}
73         Check Binding Range    140    14000    14300    127.0.0.${node}
74     END
75
76
77 *** Keywords ***
78 Setup Nodes Local
79     [Documentation]    Setups Multi domain topology consisting of 3 specific domains and 1 default, data between domains must remain separated.
80     [Arguments]    ${version}=version4
81     Setup SXP Environment    14
82     FOR    ${node}    IN RANGE    2    7
83         Add Connection    ${version}    speaker    127.0.0.1    64999    127.0.0.${node}
84         Add Bindings Range    ${node}0    ${node}000    300    127.0.0.${node}
85     END
86     FOR    ${node}    IN RANGE    7    11
87         Add Connection    ${version}    listener    127.0.0.1    64999    127.0.0.${node}
88     END
89     FOR    ${node}    IN RANGE    11    15
90         Add Connection    ${version}    both    127.0.0.1    64999    127.0.0.${node}
91         Add Bindings Range    ${node}0    ${node}000    300    127.0.0.${node}
92     END
93     Add Domain    ${DOMAIN_1}
94     Add Domain    ${DOMAIN_2}
95     Add Domain    ${DOMAIN_3}
96     # NO DOMAIN
97     Add Connection    ${version}    listener    127.0.0.2    64999
98     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.2
99     Add Connection    ${version}    speaker    127.0.0.7    64999
100     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.7
101     # DOMAIN 1
102     Add Connection    ${version}    listener    127.0.0.3    64999    domain=${DOMAIN_1}
103     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.3
104     ...    domain=${DOMAIN_1}
105     Add Connection    ${version}    listener    127.0.0.4    64999    domain=${DOMAIN_1}
106     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.4
107     ...    domain=${DOMAIN_1}
108     Add Connection    ${version}    speaker    127.0.0.8    64999    domain=${DOMAIN_1}
109     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.8
110     ...    domain=${DOMAIN_1}
111     Add Connection    ${version}    speaker    127.0.0.9    64999    domain=${DOMAIN_1}
112     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.9
113     ...    domain=${DOMAIN_1}
114     # DOMAIN 2
115     Add Connection    ${version}    listener    127.0.0.5    64999    domain=${DOMAIN_2}
116     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.5
117     ...    domain=${DOMAIN_2}
118     Add Connection    ${version}    listener    127.0.0.6    64999    domain=${DOMAIN_2}
119     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.6
120     ...    domain=${DOMAIN_2}
121     Add Connection    ${version}    speaker    127.0.0.10    64999    domain=${DOMAIN_2}
122     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.10
123     ...    domain=${DOMAIN_2}
124     # DOMAIN 3
125     FOR    ${node}    IN RANGE    11    15
126         Add Connection    ${version}    both    127.0.0.${node}    64999    domain=${DOMAIN_3}
127         Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    both
128         ...    127.0.0.${node}    domain=${DOMAIN_3}
129     END