SXP Domain Filtering
[integration/test.git] / csit / suites / sxp / filtering / 050_Domain_filtering.robot
1 *** Settings ***
2 Documentation     Test suite to verify Domain data filtering
3 Test Setup        Setup Nodes Local
4 Test Teardown     Clean SXP Environment    10
5 Library           RequestsLibrary
6 Library           SSHLibrary
7 Library           ../../../libraries/Sxp.py
8 Library           ../../../libraries/Common.py
9 Resource          ../../../libraries/SxpLib.robot
10
11 *** Variables ***
12 ${DOMAIN_1}       guest
13 ${DOMAIN_2}       trusted
14 ${DOMAIN_3}       semitrusted
15 ${DOMAIN_4}       secure
16 ${version}        version4
17
18 *** Test Cases ***
19 Non Transitivity Test
20     [Documentation]    Test if Bindings are shared according to associated filters
21     [Tags]    SXP    Domains    Filtering
22     Wait Until Keyword Succeeds    15    1    Check Initialized
23     Add Filters
24     Wait Until Keyword Succeeds    15    1    Check Domain Sharing
25     Remove Filters
26     Wait Until Keyword Succeeds    15    1    Check Initialized
27
28 Update Messages Test
29     [Documentation]    Test if Bindings are shared according to associated filters while bindings are removed/added
30     [Tags]    SXP    Domains    Filtering
31     Wait Until Keyword Succeeds    15    1    Check Initialized
32     Add Filters
33     Wait Until Keyword Succeeds    15    1    Check Domain Sharing
34     : FOR    ${node}    IN RANGE    2    5
35     \    Delete Binding    ${node}0    ${node}0.${node}0.${node}0.0/24    127.0.0.${node}
36     \    Delete Binding    ${node}0    ${node}0.${node}0.0.0/16    127.0.0.${node}
37     Wait Until Keyword Succeeds    15    1    Check Domain Sharing After Update
38     : FOR    ${node}    IN RANGE    2    5
39     \    Add Binding    ${node}0    ${node}0.${node}0.${node}0.0/24    127.0.0.${node}
40     \    Add Binding    ${node}0    ${node}0.${node}0.0.0/16    127.0.0.${node}
41     Wait Until Keyword Succeeds    15    1    Check Domain Sharing
42
43 Local Binding Non Transitivity Test
44     [Documentation]    Test if Local Bindings are shared according to associated filters,
45     ...    and does not colide with other Bindings
46     [Tags]    SXP    Domains    Filtering
47     Wait Until Keyword Succeeds    15    1    Check Initialized Local
48     Add Filters
49     Wait Until Keyword Succeeds    15    1    Check Domain Sharing Local
50     Remove Filters
51     Wait Until Keyword Succeeds    15    1    Check Initialized Local
52
53 Local Binding Update Test
54     [Documentation]    Test if Local Bindings are shared according to associated filters while bindings are removed/added
55     [Tags]    SXP    Domains    Filtering
56     Wait Until Keyword Succeeds    15    1    Check Initialized Local
57     Add Filters
58     Wait Until Keyword Succeeds    15    1    Check Domain Sharing Local
59     Delete Binding    20    20.20.20.5/32    127.0.0.1    ${DOMAIN_1}
60     Delete Binding    30    30.30.30.5/32    127.0.0.1    ${DOMAIN_2}
61     Delete Binding    40    40.40.40.5/32    127.0.0.1    ${DOMAIN_3}
62     Wait Until Keyword Succeeds    15    1    Check Domain Sharing After Update Local
63     Add Binding    20    20.20.20.5/32    127.0.0.1    ${DOMAIN_1}
64     Add Binding    30    30.30.30.5/32    127.0.0.1    ${DOMAIN_2}
65     Add Binding    40    40.40.40.5/32    127.0.0.1    ${DOMAIN_3}
66     Wait Until Keyword Succeeds    15    1    Check Domain Sharing Local
67
68 Binding Replacement Test
69     [Documentation]    Test situation where Local binding is replaced by other shared local binding,
70     ...    after shared binding is removed the original binding must be propagated to Peers
71     [Tags]    SXP    Domains    Filtering
72     Wait Until Keyword Succeeds    15    1    Check Initialized After Update
73     Add Binding    400    35.35.35.35/32    127.0.0.4
74     Add Binding    450    35.35.35.35/32    127.0.0.1    ${DOMAIN_3}
75     Wait Until Keyword Succeeds    15    1    Check After Update Part One
76     Add Filters After Update
77     Wait Until Keyword Succeeds    15    1    Check After Update Part Two
78     Delete Binding    450    35.35.35.35/32    127.0.0.1    ${DOMAIN_3}
79     Wait Until Keyword Succeeds    15    1    Check After Update Part Three
80
81 *** Keywords ***
82 Setup Nodes Local
83     [Documentation]    Setups Multi domain topology consisting of 3 specific domains and 1 default, data will be shared by filter.
84     Setup SXP Environment    10
85     : FOR    ${node}    IN RANGE    2    5
86     \    Add Binding    ${node}0    ${node}0.${node}0.${node}0.${node}0/32    127.0.0.${node}
87     \    Add Binding    ${node}0    ${node}0.${node}0.${node}0.0/24    127.0.0.${node}
88     \    Add Binding    ${node}0    ${node}0.${node}0.0.0/16    127.0.0.${node}
89     \    Add Binding    ${node}0    ${node}0.0.0.0/8    127.0.0.${node}
90     \    Add Connection    ${version}    speaker    127.0.0.1    64999    127.0.0.${node}
91     : FOR    ${node}    IN RANGE    5    10
92     \    Add Connection    ${version}    listener    127.0.0.1    64999    127.0.0.${node}
93     Add Domain    ${DOMAIN_1}
94     Add Domain    ${DOMAIN_2}
95     Add Domain    ${DOMAIN_3}
96     Add Binding    20    20.20.20.5/32    127.0.0.1    ${DOMAIN_1}
97     Add Binding    20    20.20.5.5/32    127.0.0.1    ${DOMAIN_1}
98     Add Binding    30    30.30.30.5/32    127.0.0.1    ${DOMAIN_2}
99     Add Binding    30    30.30.5.5/32    127.0.0.1    ${DOMAIN_2}
100     Add Binding    40    40.40.40.5/32    127.0.0.1    ${DOMAIN_3}
101     Add Binding    40    40.40.5.5/32    127.0.0.1    ${DOMAIN_3}
102     Add Binding    300    25.25.25.25/32    127.0.0.4
103     Add Binding    500    35.35.35.35/32
104     # NO DOMAIN
105     Add Connection    ${version}    speaker    127.0.0.8    64999
106     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.8
107     # DOMAIN 1
108     Add Connection    ${version}    listener    127.0.0.2    64999    domain=${DOMAIN_1}
109     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.2
110     ...    domain=${DOMAIN_1}
111     Add Connection    ${version}    speaker    127.0.0.5    64999    domain=${DOMAIN_1}
112     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.5
113     ...    domain=${DOMAIN_1}
114     # DOMAIN 2
115     Add Connection    ${version}    listener    127.0.0.3    64999    domain=${DOMAIN_2}
116     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.3
117     ...    domain=${DOMAIN_2}
118     Add Connection    ${version}    speaker    127.0.0.6    64999    domain=${DOMAIN_2}
119     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.6
120     ...    domain=${DOMAIN_2}
121     # DOMAIN 3
122     Add Connection    ${version}    listener    127.0.0.4    64999    domain=${DOMAIN_3}
123     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.4
124     ...    domain=${DOMAIN_3}
125     Add Connection    ${version}    speaker    127.0.0.7    64999    domain=${DOMAIN_3}
126     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.7
127     ...    domain=${DOMAIN_3}
128
129 Add Filters
130     [Documentation]    Add 4 Domain filters that shares portion of Bindings
131     ${domain_1_xml}    Add Domains    ${DOMAIN_3}
132     ${domain_2_xml}    Add Domains    ${DOMAIN_4}
133     ${domains}    Combine Strings    ${domain_1_xml}    ${domain_2_xml}
134     ${entry1}    Get Filter Entry    10    permit    pl=20.0.0.0/8
135     ${entries}    Combine Strings    ${entry1}
136     Add Domain Filter    ${DOMAIN_1}    ${domains}    ${entries}
137     ${domain_1_xml}    Add Domains    ${DOMAIN_4}
138     ${domains}    Combine Strings    ${domain_1_xml}
139     ${entry1}    Get Filter Entry    10    permit    pl=20.20.0.0/16
140     ${entries}    Combine Strings    ${entry1}
141     Add Domain Filter    ${DOMAIN_1}    ${domains}    ${entries}    127.0.0.1    extended-domain-filter
142     ${domain_1_xml}    Add Domains    ${DOMAIN_1}
143     ${domains}    Combine Strings    ${domain_1_xml}
144     ${entry1}    Get Filter Entry    10    permit    pl=30.30.0.0/16
145     ${entries}    Combine Strings    ${entry1}
146     Add Domain Filter    ${DOMAIN_2}    ${domains}    ${entries}
147     ${domain_1_xml}    Add Domains    global
148     ${domains}    Combine Strings    ${domain_1_xml}
149     ${entry1}    Get Filter Entry    10    permit    pl=30.30.30.0/24
150     ${entries}    Combine Strings    ${entry1}
151     Add Domain Filter    ${DOMAIN_2}    ${domains}    ${entries}    127.0.0.1    extended-domain-filter
152
153 Add Filters After Update
154     [Documentation]    Add Domain filter that shares portion of Local Bindings
155     ${domain_1_xml}    Add Domains    global
156     ${domains}    Combine Strings    ${domain_1_xml}
157     ${entry1}    Get Filter Entry    10    permit    esgt=300,600
158     ${entries}    Combine Strings    ${entry1}
159     Add Domain Filter    ${DOMAIN_3}    ${domains}    ${entries}
160
161 Remove Filters
162     [Documentation]    Remove 4 Domain filters that shared portion of Bindings
163     Delete Domain Filter    ${DOMAIN_1}
164     Delete Domain Filter    ${DOMAIN_1}    127.0.0.1    extended-domain-filter
165     Delete Domain Filter    ${DOMAIN_2}
166     Delete Domain Filter    ${DOMAIN_2}    127.0.0.1    extended-domain-filter
167
168 Check Initialized
169     [Documentation]    Checks that Bindings are not shared between domains
170     ${resp}    Get Bindings    127.0.0.5
171     Should Contain Binding    ${resp}    20    20.20.20.20/32
172     Should Contain Binding    ${resp}    20    20.20.20.0/24
173     Should Contain Binding    ${resp}    20    20.20.0.0/16
174     Should Contain Binding    ${resp}    20    20.0.0.0/8
175     Should Not Contain Binding    ${resp}    30    30.30.30.30/32
176     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
177     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
178     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
179     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
180     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
181     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
182     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
183     ${resp}    Get Bindings    127.0.0.6
184     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
185     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
186     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
187     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
188     Should Contain Binding    ${resp}    30    30.30.30.30/32
189     Should Contain Binding    ${resp}    30    30.30.30.0/24
190     Should Contain Binding    ${resp}    30    30.30.0.0/16
191     Should Contain Binding    ${resp}    30    30.0.0.0/8
192     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
193     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
194     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
195     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
196     ${resp}    Get Bindings    127.0.0.7
197     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
198     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
199     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
200     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
201     Should Not Contain Binding    ${resp}    30    30.30.30.30/32
202     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
203     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
204     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
205     Should Contain Binding    ${resp}    40    40.40.40.40/32
206     Should Contain Binding    ${resp}    40    40.40.40.0/24
207     Should Contain Binding    ${resp}    40    40.40.0.0/16
208     Should Contain Binding    ${resp}    40    40.0.0.0/8
209     : FOR    ${node}    IN RANGE    8    10
210     \    ${resp}    Get Bindings    127.0.0.${node}
211     \    Should Not Contain Binding    ${resp}    20    20.20.20.20/32
212     \    Should Not Contain Binding    ${resp}    20    20.20.20.0/24
213     \    Should Not Contain Binding    ${resp}    20    20.20.0.0/16
214     \    Should Not Contain Binding    ${resp}    20    20.0.0.0/8
215     \    Should Not Contain Binding    ${resp}    30    30.30.30.30/32
216     \    Should Not Contain Binding    ${resp}    30    30.30.30.0/24
217     \    Should Not Contain Binding    ${resp}    30    30.30.0.0/16
218     \    Should Not Contain Binding    ${resp}    30    30.0.0.0/8
219     \    Should Not Contain Binding    ${resp}    40    40.40.40.40/32
220     \    Should Not Contain Binding    ${resp}    40    40.40.40.0/24
221     \    Should Not Contain Binding    ${resp}    40    40.40.0.0/16
222     \    Should Not Contain Binding    ${resp}    40    40.0.0.0/8
223
224 Check Initialized Local
225     [Documentation]    Checks that Local Bindings are not shared between domains
226     ${resp}    Get Bindings    127.0.0.5
227     Should Contain Binding    ${resp}    20    20.20.20.5/32
228     Should Contain Binding    ${resp}    20    20.20.5.5/32
229     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
230     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
231     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
232     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
233     ${resp}    Get Bindings    127.0.0.6
234     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
235     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
236     Should Contain Binding    ${resp}    30    30.30.30.5/32
237     Should Contain Binding    ${resp}    30    30.30.5.5/32
238     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
239     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
240     ${resp}    Get Bindings    127.0.0.7
241     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
242     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
243     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
244     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
245     Should Contain Binding    ${resp}    40    40.40.40.5/32
246     Should Contain Binding    ${resp}    40    40.40.5.5/32
247     : FOR    ${node}    IN RANGE    8    10
248     \    ${resp}    Get Bindings    127.0.0.${node}
249     \    Should Not Contain Binding    ${resp}    20    20.20.20.5/32
250     \    Should Not Contain Binding    ${resp}    20    20.20.5.5/32
251     \    Should Not Contain Binding    ${resp}    30    30.30.30.5/32
252     \    Should Not Contain Binding    ${resp}    30    30.30.5.5/32
253     \    Should Not Contain Binding    ${resp}    40    40.40.40.5/32
254     \    Should Not Contain Binding    ${resp}    40    40.40.5.5/32
255
256 Check Initialized After Update
257     [Documentation]    Checks that Local Bindings are not shared between domains
258     ${resp}    Get Bindings    127.0.0.7
259     Should Contain Binding    ${resp}    300    25.25.25.25/32
260     Should Not Contain Binding    ${resp}    400    35.35.35.35/32
261     Should Not Contain Binding    ${resp}    450    35.35.35.35/32
262     ${resp}    Get Bindings    127.0.0.8
263     Should Not Contain Binding    ${resp}    300    25.25.25.25/32
264     Should Contain Binding    ${resp}    500    35.35.35.35/32
265
266 Check Domain Sharing
267     [Documentation]    Checks that Bindings are shared between domains
268     ${resp}    Get Bindings    127.0.0.5
269     Should Contain Binding    ${resp}    20    20.20.20.20/32
270     Should Contain Binding    ${resp}    20    20.20.20.0/24
271     Should Contain Binding    ${resp}    20    20.20.0.0/16
272     Should Contain Binding    ${resp}    20    20.0.0.0/8
273     Should Contain Binding    ${resp}    30    30.30.30.30/32
274     Should Contain Binding    ${resp}    30    30.30.30.0/24
275     Should Contain Binding    ${resp}    30    30.30.0.0/16
276     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
277     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
278     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
279     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
280     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
281     ${resp}    Get Bindings    127.0.0.6
282     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
283     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
284     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
285     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
286     Should Contain Binding    ${resp}    30    30.30.30.30/32
287     Should Contain Binding    ${resp}    30    30.30.30.0/24
288     Should Contain Binding    ${resp}    30    30.30.0.0/16
289     Should Contain Binding    ${resp}    30    30.0.0.0/8
290     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
291     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
292     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
293     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
294     ${resp}    Get Bindings    127.0.0.7
295     Should Contain Binding    ${resp}    20    20.20.20.20/32
296     Should Contain Binding    ${resp}    20    20.20.20.0/24
297     Should Contain Binding    ${resp}    20    20.20.0.0/16
298     Should Contain Binding    ${resp}    20    20.0.0.0/8
299     Should Not Contain Binding    ${resp}    30    30.30.30.30/32
300     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
301     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
302     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
303     Should Contain Binding    ${resp}    40    40.40.40.40/32
304     Should Contain Binding    ${resp}    40    40.40.40.0/24
305     Should Contain Binding    ${resp}    40    40.40.0.0/16
306     Should Contain Binding    ${resp}    40    40.0.0.0/8
307     ${resp}    Get Bindings    127.0.0.8
308     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
309     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
310     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
311     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
312     Should Contain Binding    ${resp}    30    30.30.30.30/32
313     Should Contain Binding    ${resp}    30    30.30.30.0/24
314     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
315     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
316     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
317     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
318     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
319     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
320     ${resp}    Get Bindings    127.0.0.9
321     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
322     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
323     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
324     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
325     Should Not Contain Binding    ${resp}    30    30.30.30.30/32
326     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
327     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
328     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
329     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
330     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
331     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
332     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
333
334 Check Domain Sharing Local
335     [Documentation]    Checks that Local Bindings are shared between domains
336     ${resp}    Get Bindings    127.0.0.5
337     Should Contain Binding    ${resp}    20    20.20.20.5/32
338     Should Contain Binding    ${resp}    20    20.20.5.5/32
339     Should Contain Binding    ${resp}    30    30.30.30.5/32
340     Should Contain Binding    ${resp}    30    30.30.5.5/32
341     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
342     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
343     ${resp}    Get Bindings    127.0.0.6
344     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
345     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
346     Should Contain Binding    ${resp}    30    30.30.30.5/32
347     Should Contain Binding    ${resp}    30    30.30.5.5/32
348     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
349     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
350     ${resp}    Get Bindings    127.0.0.7
351     Should Contain Binding    ${resp}    20    20.20.20.5/32
352     Should Contain Binding    ${resp}    20    20.20.5.5/32
353     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
354     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
355     Should Contain Binding    ${resp}    40    40.40.40.5/32
356     Should Contain Binding    ${resp}    40    40.40.5.5/32
357     ${resp}    Get Bindings    127.0.0.8
358     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
359     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
360     Should Contain Binding    ${resp}    30    30.30.30.5/32
361     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
362     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
363     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
364     ${resp}    Get Bindings    127.0.0.9
365     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
366     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
367     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
368     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
369     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
370     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
371
372 Check Domain Sharing After Update
373     [Documentation]    Checks that removed Bindings are shared between domains
374     ${resp}    Get Bindings    127.0.0.5
375     Should Contain Binding    ${resp}    20    20.20.20.20/32
376     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
377     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
378     Should Contain Binding    ${resp}    20    20.0.0.0/8
379     Should Contain Binding    ${resp}    30    30.30.30.30/32
380     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
381     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
382     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
383     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
384     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
385     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
386     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
387     ${resp}    Get Bindings    127.0.0.6
388     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
389     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
390     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
391     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
392     Should Contain Binding    ${resp}    30    30.30.30.30/32
393     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
394     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
395     Should Contain Binding    ${resp}    30    30.0.0.0/8
396     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
397     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
398     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
399     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
400     ${resp}    Get Bindings    127.0.0.7
401     Should Contain Binding    ${resp}    20    20.20.20.20/32
402     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
403     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
404     Should Contain Binding    ${resp}    20    20.0.0.0/8
405     Should Not Contain Binding    ${resp}    30    30.30.30.30/32
406     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
407     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
408     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
409     Should Contain Binding    ${resp}    40    40.40.40.40/32
410     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
411     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
412     Should Contain Binding    ${resp}    40    40.0.0.0/8
413     ${resp}    Get Bindings    127.0.0.8
414     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
415     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
416     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
417     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
418     Should Contain Binding    ${resp}    30    30.30.30.30/32
419     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
420     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
421     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
422     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
423     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
424     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
425     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
426     ${resp}    Get Bindings    127.0.0.9
427     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
428     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
429     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
430     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
431     Should Not Contain Binding    ${resp}    30    30.30.30.30/32
432     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
433     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
434     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
435     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
436     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
437     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
438     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
439
440 Check Domain Sharing After Update Local
441     [Documentation]    Checks that removed Local Bindings are shared between domains
442     ${resp}    Get Bindings    127.0.0.5
443     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
444     Should Contain Binding    ${resp}    20    20.20.5.5/32
445     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
446     Should Contain Binding    ${resp}    30    30.30.5.5/32
447     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
448     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
449     ${resp}    Get Bindings    127.0.0.6
450     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
451     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
452     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
453     Should Contain Binding    ${resp}    30    30.30.5.5/32
454     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
455     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
456     ${resp}    Get Bindings    127.0.0.7
457     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
458     Should Contain Binding    ${resp}    20    20.20.5.5/32
459     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
460     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
461     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
462     Should Contain Binding    ${resp}    40    40.40.5.5/32
463     ${resp}    Get Bindings    127.0.0.8
464     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
465     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
466     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
467     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
468     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
469     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
470     ${resp}    Get Bindings    127.0.0.9
471     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
472     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
473     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
474     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
475     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
476     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
477
478 Check After Update Part One
479     [Documentation]    Checks that Local Binding is not replaced by Local shared Binding
480     ${resp}    Get Bindings    127.0.0.7
481     Should Contain Binding    ${resp}    300    25.25.25.25/32
482     Should Contain Binding    ${resp}    450    35.35.35.35/32
483     ${resp}    Get Bindings    127.0.0.8
484     Should Contain Binding    ${resp}    500    35.35.35.35/32
485
486 Check After Update Part Two
487     [Documentation]    Checks that Local Binding was replaced by Local shared Binding
488     ${resp}    Get Bindings    127.0.0.8
489     Should Contain Binding    ${resp}    300    25.25.25.25/32
490     Should Contain Binding    ${resp}    450    35.35.35.35/32
491
492 Check After Update Part Three
493     [Documentation]    Checks that Local Binding restored
494     ${resp}    Get Bindings    127.0.0.7
495     Should Contain Binding    ${resp}    300    25.25.25.25/32
496     Should Contain Binding    ${resp}    400    35.35.35.35/32
497     ${resp}    Get Bindings    127.0.0.8
498     Should Contain Binding    ${resp}    300    25.25.25.25/32
499     Should Contain Binding    ${resp}    500    35.35.35.35/32