5422e9d16ccdfbd6796b7451f369b9d805a9f796
[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
43 Export Separation Node 10 Test
44     [Documentation]    Test if Node 10 contains only bindings from trusted domain
45     [Tags]    SXP    Domains
46     Check Binding Range Negative    20    2000    2300    127.0.0.10
47     Check Binding Range Negative    30    3000    3300    127.0.0.10
48     Check Binding Range Negative    40    4000    4300    127.0.0.10
49     Check Binding Range    50    5000    5300    127.0.0.10
50     Check Binding Range    60    6000    6300    127.0.0.10
51     Check Binding Range Negative    110    11000    11300    127.0.0.10
52     Check Binding Range Negative    120    12000    12300    127.0.0.10
53     Check Binding Range Negative    130    13000    13300    127.0.0.10
54     Check Binding Range Negative    140    14000    14300    127.0.0.10
55
56 Export Separation Node 11-14 Test
57     [Documentation]    Test if Nodes 11-14 contains only bindings from secure domain
58     [Tags]    SXP    Domains
59     : FOR    ${node}    IN RANGE    11    15
60     \    Check Binding Range Negative    20    2000    2300    127.0.0.${node}
61     \    Check Binding Range Negative    30    3000    3300    127.0.0.${node}
62     \    Check Binding Range Negative    40    4000    4300    127.0.0.${node}
63     \    Check Binding Range Negative    50    5000    5300    127.0.0.${node}
64     \    Check Binding Range Negative    60    6000    6300    127.0.0.${node}
65     \    Check Binding Range    110    11000    11300    127.0.0.${node}
66     \    Check Binding Range    120    12000    12300    127.0.0.${node}
67     \    Check Binding Range    130    13000    13300    127.0.0.${node}
68     \    Check Binding Range    140    14000    14300    127.0.0.${node}
69
70 *** Keywords ***
71 Setup Nodes Local
72     [Arguments]    ${version}=version4
73     [Documentation]    Setups Multi domain topology consisting of 3 specific domains and 1 default, data between domains must remain separated.
74     Setup SXP Environment    14
75     : FOR    ${node}    IN RANGE    2    7
76     \    Add Connection    ${version}    speaker    127.0.0.1    64999    127.0.0.${node}
77     \    Add Bindings Range    ${node}0    ${node}000    300    127.0.0.${node}
78     : FOR    ${node}    IN RANGE    7    11
79     \    Add Connection    ${version}    listener    127.0.0.1    64999    127.0.0.${node}
80     : FOR    ${node}    IN RANGE    11    15
81     \    Add Connection    ${version}    both    127.0.0.1    64999    127.0.0.${node}
82     \    Add Bindings Range    ${node}0    ${node}000    300    127.0.0.${node}
83     Add Domain    ${DOMAIN_1}
84     Add Domain    ${DOMAIN_2}
85     Add Domain    ${DOMAIN_3}
86     # NO DOMAIN
87     Add Connection    ${version}    listener    127.0.0.2    64999
88     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.2
89     Add Connection    ${version}    speaker    127.0.0.7    64999
90     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.7
91     # DOMAIN 1
92     Add Connection    ${version}    listener    127.0.0.3    64999    domain=${DOMAIN_1}
93     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.3
94     ...    domain=${DOMAIN_1}
95     Add Connection    ${version}    listener    127.0.0.4    64999    domain=${DOMAIN_1}
96     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.4
97     ...    domain=${DOMAIN_1}
98     Add Connection    ${version}    speaker    127.0.0.8    64999    domain=${DOMAIN_1}
99     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.8
100     ...    domain=${DOMAIN_1}
101     Add Connection    ${version}    speaker    127.0.0.9    64999    domain=${DOMAIN_1}
102     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.9
103     ...    domain=${DOMAIN_1}
104     # DOMAIN 2
105     Add Connection    ${version}    listener    127.0.0.5    64999    domain=${DOMAIN_2}
106     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.5
107     ...    domain=${DOMAIN_2}
108     Add Connection    ${version}    listener    127.0.0.6    64999    domain=${DOMAIN_2}
109     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.6
110     ...    domain=${DOMAIN_2}
111     Add Connection    ${version}    speaker    127.0.0.10    64999    domain=${DOMAIN_2}
112     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.10
113     ...    domain=${DOMAIN_2}
114     # DOMAIN 3
115     : FOR    ${node}    IN RANGE    11    15
116     \    Add Connection    ${version}    both    127.0.0.${node}    64999    domain=${DOMAIN_3}
117     \    Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    both
118     \    ...    127.0.0.${node}    domain=${DOMAIN_3}