Boron update of CSIT
[integration/test.git] / csit / suites / sxp / topology / 040_Domains_Substraction.robot
1 *** Settings ***
2 Documentation     Test suite to verify Domain data consistency during data change
3 Test Setup        Setup Nodes Local
4 Test Teardown     Clean SXP Environment    15
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 and is not affected by changes from other nodes
18     [Tags]    SXP    Domains
19     Check Binding Range    20    0    300    127.0.0.7
20     Check Binding Range Negative    40    0    300    127.0.0.7
21     Check Binding Range Negative    60    0    300    127.0.0.7
22     Check Binding Range Negative    120    0    300    127.0.0.7
23     Delete Bindings Range    40    0    300    127.0.0.4
24     Wait Until Keyword Succeeds    15    1    Check Binding Range    20    0    300
25     ...    127.0.0.7
26     Delete Bindings Range    20    0    300    127.0.0.2
27     Wait Until Keyword Succeeds    15    1    Check Binding Range Negative    20    0    300
28     ...    127.0.0.7
29
30 Export Separation Node 8-9 Test
31     [Documentation]    Test if Nodes 8,9 contains consistent data during its update
32     [Tags]    SXP    Domains
33     : FOR    ${node}    IN RANGE    8    10
34     \    Check Binding Range Negative    20    0    300    127.0.0.${node}
35     \    Check Binding Range    40    0    300    127.0.0.${node}
36     \    Check Binding Range Negative    60    0    300    127.0.0.${node}
37     \    Check Binding Range Negative    120    0    300    127.0.0.${node}
38     Delete Bindings Range    60    0    300    127.0.0.6
39     : FOR    ${node}    IN RANGE    8    10
40     \    Wait Until Keyword Succeeds    15    1    Check Binding Range    40    0
41     \    ...    300    127.0.0.${node}
42     Delete Bindings Range    40    0    300    127.0.0.4
43     : FOR    ${node}    IN RANGE    8    10
44     \    Wait Until Keyword Succeeds    15    1    Check Binding Range Negative    40    0
45     \    ...    300    127.0.0.${node}
46
47 Export Separation Node 10 Test
48     [Documentation]    Test if Node 10 contains consistent data during its update
49     [Tags]    SXP    Domains
50     Check Binding Range Negative    20    0    300    127.0.0.10
51     Check Binding Range Negative    40    0    300    127.0.0.10
52     Check Binding Range    60    0    300    127.0.0.10
53     Check Binding Range Negative    120    0    300    127.0.0.10
54     Delete Bindings Range    20    0    300    127.0.0.2
55     Wait Until Keyword Succeeds    15    1    Check Binding Range    60    0    300
56     ...    127.0.0.10
57     Delete Bindings Range    60    0    300    127.0.0.6
58     Wait Until Keyword Succeeds    15    1    Check Binding Range Negative    60    0    300
59     ...    127.0.0.10
60
61 Export Separation Node 11-14 Test
62     [Documentation]    Test if Nodes 11-14 contains consistent data during its update
63     [Tags]    SXP    Domains
64     : FOR    ${node}    IN RANGE    11    15
65     \    Check Binding Range Negative    20    0    300    127.0.0.${node}
66     \    Check Binding Range Negative    40    0    300    127.0.0.${node}
67     \    Check Binding Range Negative    60    0    300    127.0.0.${node}
68     \    Check Binding Range    120    0    300    127.0.0.${node}
69     Delete Bindings Range    60    0    300    127.0.0.6
70     : FOR    ${node}    IN RANGE    11    15
71     \    Wait Until Keyword Succeeds    15    1    Check Binding Range    120    0
72     \    ...    300    127.0.0.${node}
73     Delete Bindings Range    120    0    300    127.0.0.12
74     : FOR    ${node}    IN RANGE    11    15
75     \    Wait Until Keyword Succeeds    15    1    Check Binding Range Negative    120    0
76     \    ...    300    127.0.0.${node}
77
78 *** Keywords ***
79 Setup Nodes Local
80     [Arguments]    ${version}=version4
81     [Documentation]    Setups Multi domain topology consisting of 3 specific domains and 1 default, data between domains must remain separated.
82     Setup SXP Environment    15
83     : FOR    ${node}    IN RANGE    2    7
84     \    Add Connection    ${version}    speaker    127.0.0.1    64999    127.0.0.${node}
85     : FOR    ${node}    IN RANGE    7    11
86     \    Add Connection    ${version}    listener    127.0.0.1    64999    127.0.0.${node}
87     : FOR    ${node}    IN RANGE    11    15
88     \    Add Connection    ${version}    both    127.0.0.1    64999    127.0.0.${node}
89     Add Domain    ${DOMAIN_1}
90     Add Domain    ${DOMAIN_2}
91     Add Domain    ${DOMAIN_3}
92     Add Bindings Range    20    0    300    127.0.0.2
93     Add Bindings Range    40    0    300    127.0.0.4
94     Add Bindings Range    60    0    300    127.0.0.6
95     Add Bindings Range    120    0    300    127.0.0.12
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}