Upgrade RF syntax for v3.2 compatibility
[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    9
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 Bindings    ${node}0    ${node}0.${node}0.${node}0.0/24    127.0.0.${node}
36         Delete Bindings    ${node}0    ${node}0.${node}0.0.0/16    127.0.0.${node}
37     END
38     Wait Until Keyword Succeeds    15    1    Check Domain Sharing After Update
39     FOR    ${node}    IN RANGE    2    5
40         Add Bindings    ${node}0    ${node}0.${node}0.${node}0.0/24    127.0.0.${node}
41         Add Bindings    ${node}0    ${node}0.${node}0.0.0/16    127.0.0.${node}
42     END
43     Wait Until Keyword Succeeds    15    1    Check Domain Sharing
44
45 Local Binding Non Transitivity Test
46     [Documentation]    Test if Local Bindings are shared according to associated filters,
47     ...    and does not colide with other Bindings
48     [Tags]    SXP    Domains    Filtering
49     Wait Until Keyword Succeeds    15    1    Check Initialized Local
50     Add Filters
51     Wait Until Keyword Succeeds    15    1    Check Domain Sharing Local
52     Remove Filters
53     Wait Until Keyword Succeeds    15    1    Check Initialized Local
54
55 Local Binding Update Test
56     [Documentation]    Test if Local Bindings are shared according to associated filters while bindings are removed/added
57     [Tags]    SXP    Domains    Filtering
58     Wait Until Keyword Succeeds    15    1    Check Initialized Local
59     Add Filters
60     Wait Until Keyword Succeeds    15    1    Check Domain Sharing Local
61     Delete Bindings    20    20.20.20.5/32    127.0.0.1    ${DOMAIN_1}
62     Delete Bindings    30    30.30.30.5/32    127.0.0.1    ${DOMAIN_2}
63     Delete Bindings    40    40.40.40.5/32    127.0.0.1    ${DOMAIN_3}
64     Wait Until Keyword Succeeds    15    1    Check Domain Sharing After Update Local
65     Add Bindings    20    20.20.20.5/32    127.0.0.1    ${DOMAIN_1}
66     Add Bindings    30    30.30.30.5/32    127.0.0.1    ${DOMAIN_2}
67     Add Bindings    40    40.40.40.5/32    127.0.0.1    ${DOMAIN_3}
68     Wait Until Keyword Succeeds    15    1    Check Domain Sharing Local
69
70 Binding Replacement Test
71     [Documentation]    Test situation where Local binding is replaced by other shared local binding,
72     ...    after shared binding is removed the original binding must be propagated to Peers
73     [Tags]    SXP    Domains    Filtering
74     Wait Until Keyword Succeeds    15    1    Check Initialized After Update
75     Add Bindings    400    35.35.35.35/32    127.0.0.4
76     Add Bindings    450    35.35.35.35/32    127.0.0.1    domain=${DOMAIN_3}
77     Wait Until Keyword Succeeds    15    1    Check After Update Part One
78     Add Filters After Update
79     Wait Until Keyword Succeeds    15    1    Check After Update Part Two
80     Delete Bindings    450    35.35.35.35/32    127.0.0.1    ${DOMAIN_3}
81     Wait Until Keyword Succeeds    15    1    Check After Update Part Three
82
83 *** Keywords ***
84 Setup Nodes Local
85     [Documentation]    Setups Multi domain topology consisting of 3 specific domains and 1 default, data will be shared by filter.
86     Setup SXP Environment    9
87     FOR    ${node}    IN RANGE    2    5
88         Add Bindings    ${node}0    ${node}0.${node}0.${node}0.${node}0/32    127.0.0.${node}
89         Add Bindings    ${node}0    ${node}0.${node}0.${node}0.0/24    127.0.0.${node}
90         Add Bindings    ${node}0    ${node}0.${node}0.0.0/16    127.0.0.${node}
91         Add Bindings    ${node}0    ${node}0.0.0.0/8    127.0.0.${node}
92         Add Connection    ${version}    speaker    127.0.0.1    64999    127.0.0.${node}
93     END
94     FOR    ${node}    IN RANGE    5    10
95         Add Connection    ${version}    listener    127.0.0.1    64999    127.0.0.${node}
96     END
97     Add Domain    ${DOMAIN_1}
98     Add Domain    ${DOMAIN_2}
99     Add Domain    ${DOMAIN_3}
100     Add Bindings    20    20.20.20.5/32    127.0.0.1    domain=${DOMAIN_1}
101     Add Bindings    20    20.20.5.5/32    127.0.0.1    domain=${DOMAIN_1}
102     Add Bindings    30    30.30.30.5/32    127.0.0.1    domain=${DOMAIN_2}
103     Add Bindings    30    30.30.5.5/32    127.0.0.1    domain=${DOMAIN_2}
104     Add Bindings    40    40.40.40.5/32    127.0.0.1    domain=${DOMAIN_3}
105     Add Bindings    40    40.40.5.5/32    127.0.0.1    domain=${DOMAIN_3}
106     Add Bindings    300    25.25.25.25/32    127.0.0.4
107     Add Bindings    500    35.35.35.35/32
108     # NO DOMAIN
109     Add Connection    ${version}    speaker    127.0.0.8    64999
110     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.8
111     # DOMAIN 1
112     Add Connection    ${version}    listener    127.0.0.2    64999    domain=${DOMAIN_1}
113     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.2
114     ...    domain=${DOMAIN_1}
115     Add Connection    ${version}    speaker    127.0.0.5    64999    domain=${DOMAIN_1}
116     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.5
117     ...    domain=${DOMAIN_1}
118     # DOMAIN 2
119     Add Connection    ${version}    listener    127.0.0.3    64999    domain=${DOMAIN_2}
120     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.3
121     ...    domain=${DOMAIN_2}
122     Add Connection    ${version}    speaker    127.0.0.6    64999    domain=${DOMAIN_2}
123     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.6
124     ...    domain=${DOMAIN_2}
125     # DOMAIN 3
126     Add Connection    ${version}    listener    127.0.0.4    64999    domain=${DOMAIN_3}
127     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    listener    127.0.0.4
128     ...    domain=${DOMAIN_3}
129     Add Connection    ${version}    speaker    127.0.0.7    64999    domain=${DOMAIN_3}
130     Wait Until Keyword Succeeds    15    1    Verify Connection    ${version}    speaker    127.0.0.7
131     ...    domain=${DOMAIN_3}
132
133 Add Filters
134     [Documentation]    Add 4 Domain filters that shares portion of Bindings
135     ${domain_1_xml}    Add Domains    ${DOMAIN_3}
136     ${domain_2_xml}    Add Domains    ${DOMAIN_4}
137     ${domains}    Combine Strings    ${domain_1_xml}    ${domain_2_xml}
138     ${entry1}    Get Filter Entry    10    permit    pl=20.0.0.0/8
139     ${entries}    Combine Strings    ${entry1}
140     Add Domain Filter    ${DOMAIN_1}    ${domains}    ${entries}
141     ${domain_1_xml}    Add Domains    ${DOMAIN_1}
142     ${domains}    Combine Strings    ${domain_1_xml}
143     ${entry1}    Get Filter Entry    10    permit    pl=30.30.0.0/16
144     ${entries}    Combine Strings    ${entry1}
145     Add Domain Filter    ${DOMAIN_2}    ${domains}    ${entries}
146     ${domain_1_xml}    Add Domains    global
147     ${domains}    Combine Strings    ${domain_1_xml}
148     ${entry1}    Get Filter Entry    10    permit    pl=30.30.30.0/24
149     ${entries}    Combine Strings    ${entry1}
150     Add Domain Filter    ${DOMAIN_2}    ${domains}    ${entries}    127.0.0.1    extended-domain-filter
151
152 Add Filters After Update
153     [Documentation]    Add Domain filter that shares portion of Local Bindings
154     ${domain_1_xml}    Add Domains    global
155     ${domains}    Combine Strings    ${domain_1_xml}
156     ${entry1}    Get Filter Entry    10    permit    esgt=300,600
157     ${entries}    Combine Strings    ${entry1}
158     Add Domain Filter    ${DOMAIN_3}    ${domains}    ${entries}
159
160 Remove Filters
161     [Documentation]    Remove 4 Domain filters that shared portion of Bindings
162     Delete Domain Filter    ${DOMAIN_1}
163     Delete Domain Filter    ${DOMAIN_2}
164     Delete Domain Filter    ${DOMAIN_2}    127.0.0.1    extended-domain-filter
165
166 Check Initialized
167     [Documentation]    Checks that Bindings are not shared between domains
168     ${resp}    Get Bindings    127.0.0.5
169     Should Contain Binding    ${resp}    20    20.20.20.20/32
170     Should Contain Binding    ${resp}    20    20.20.20.0/24
171     Should Contain Binding    ${resp}    20    20.20.0.0/16
172     Should Contain Binding    ${resp}    20    20.0.0.0/8
173     Should Not Contain Binding    ${resp}    30    30.30.30.30/32
174     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
175     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
176     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
177     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
178     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
179     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
180     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
181     ${resp}    Get Bindings    127.0.0.6
182     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
183     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
184     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
185     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
186     Should Contain Binding    ${resp}    30    30.30.30.30/32
187     Should Contain Binding    ${resp}    30    30.30.30.0/24
188     Should Contain Binding    ${resp}    30    30.30.0.0/16
189     Should Contain Binding    ${resp}    30    30.0.0.0/8
190     Should Not Contain Binding    ${resp}    40    40.40.40.40/32
191     Should Not Contain Binding    ${resp}    40    40.40.40.0/24
192     Should Not Contain Binding    ${resp}    40    40.40.0.0/16
193     Should Not Contain Binding    ${resp}    40    40.0.0.0/8
194     ${resp}    Get Bindings    127.0.0.7
195     Should Not Contain Binding    ${resp}    20    20.20.20.20/32
196     Should Not Contain Binding    ${resp}    20    20.20.20.0/24
197     Should Not Contain Binding    ${resp}    20    20.20.0.0/16
198     Should Not Contain Binding    ${resp}    20    20.0.0.0/8
199     Should Not Contain Binding    ${resp}    30    30.30.30.30/32
200     Should Not Contain Binding    ${resp}    30    30.30.30.0/24
201     Should Not Contain Binding    ${resp}    30    30.30.0.0/16
202     Should Not Contain Binding    ${resp}    30    30.0.0.0/8
203     Should Contain Binding    ${resp}    40    40.40.40.40/32
204     Should Contain Binding    ${resp}    40    40.40.40.0/24
205     Should Contain Binding    ${resp}    40    40.40.0.0/16
206     Should Contain Binding    ${resp}    40    40.0.0.0/8
207     FOR    ${node}    IN RANGE    8    10
208         ${resp}    Get Bindings    127.0.0.${node}
209         Should Not Contain Binding    ${resp}    20    20.20.20.20/32
210         Should Not Contain Binding    ${resp}    20    20.20.20.0/24
211         Should Not Contain Binding    ${resp}    20    20.20.0.0/16
212         Should Not Contain Binding    ${resp}    20    20.0.0.0/8
213         Should Not Contain Binding    ${resp}    30    30.30.30.30/32
214         Should Not Contain Binding    ${resp}    30    30.30.30.0/24
215         Should Not Contain Binding    ${resp}    30    30.30.0.0/16
216         Should Not Contain Binding    ${resp}    30    30.0.0.0/8
217         Should Not Contain Binding    ${resp}    40    40.40.40.40/32
218         Should Not Contain Binding    ${resp}    40    40.40.40.0/24
219         Should Not Contain Binding    ${resp}    40    40.40.0.0/16
220         Should Not Contain Binding    ${resp}    40    40.0.0.0/8
221     END
222
223 Check Initialized Local
224     [Documentation]    Checks that Local Bindings are not shared between domains
225     ${resp}    Get Bindings    127.0.0.5
226     Should Contain Binding    ${resp}    20    20.20.20.5/32
227     Should Contain Binding    ${resp}    20    20.20.5.5/32
228     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
229     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
230     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
231     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
232     ${resp}    Get Bindings    127.0.0.6
233     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
234     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
235     Should Contain Binding    ${resp}    30    30.30.30.5/32
236     Should Contain Binding    ${resp}    30    30.30.5.5/32
237     Should Not Contain Binding    ${resp}    40    40.40.40.5/32
238     Should Not Contain Binding    ${resp}    40    40.40.5.5/32
239     ${resp}    Get Bindings    127.0.0.7
240     Should Not Contain Binding    ${resp}    20    20.20.20.5/32
241     Should Not Contain Binding    ${resp}    20    20.20.5.5/32
242     Should Not Contain Binding    ${resp}    30    30.30.30.5/32
243     Should Not Contain Binding    ${resp}    30    30.30.5.5/32
244     Should Contain Binding    ${resp}    40    40.40.40.5/32
245     Should Contain Binding    ${resp}    40    40.40.5.5/32
246     FOR    ${node}    IN RANGE    8    10
247         ${resp}    Get Bindings    127.0.0.${node}
248         Should Not Contain Binding    ${resp}    20    20.20.20.5/32
249         Should Not Contain Binding    ${resp}    20    20.20.5.5/32
250         Should Not Contain Binding    ${resp}    30    30.30.30.5/32
251         Should Not Contain Binding    ${resp}    30    30.30.5.5/32
252         Should Not Contain Binding    ${resp}    40    40.40.40.5/32
253         Should Not Contain Binding    ${resp}    40    40.40.5.5/32
254     END
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