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