Merge "adding a mask for destination and source ip addresses"
[integration/test.git] / test / tools / OF_Test / robot_suites / 075__Flows_OF13_Stat_Manager_extended / 010_SM_add_upd_del_flows.txt
1 *** Settings ***
2 Documentation     Test suite for Stats Manager flows collection
3 Library        OperatingSystem
4 Library        Collections
5 Library        XML
6 Library        SSHLibrary
7 Library        ../../../../csit/libraries/XmlComparator.py
8 Variables      ../../../../csit/variables/Variables.py
9 Library        ../../../../csit/libraries/RequestsLibrary.py
10 Library        ../../../../csit/libraries/Common.py
11 Suite Setup       Initialization Phase
12 Suite Teardown    Teardown Phase
13
14
15 *** Variables ***
16 ${XmlsDir}=       ${CURDIR}/../../../../csit/variables/xmls
17 ${switch_idx}=    1
18 ${switch_name}=   s${switch_idx}
19 @{flowlist0}=     f1.xml  f2.xml  f3.xml  f4.xml  f5.xml  f6.xml  f7.xml  f8.xml  f9.xml  f10.xml  f11.xml  f12.xml  f13.xml  f14.xml  f15.xml  f16.xml  f17.xml  f18.xml  f19.xml  f20.xml  f21.xml  f22.xml  f23.xml  f24.xml  f25.xml  f31.xml  f36.xml  f38.xml  f43.xml  f45.xml  f47.xml  f101.xml  f102.xml  f103.xml  f104.xml  f105.xml  f106.xml  f107.xml  f108.xml  f109.xml  f110.xml  f113.xml  f156.xml  f201.xml  f202.xml  f203.xml  f204.xml  f205.xml  f206.xml  f209.xml  f214.xml  f218.xml  f219.xml  f220.xml
20
21
22 *** Test Cases ***
23 Test Add Flows Group 0
24    [Documentation]    Add all flows and waits for SM to collect data
25      :FOR   ${flowfile}   IN   @{flowlist0}
26      \       Log   ${flowfile}
27      \       Init Flow Variables  ${flowfile}
28      \       Run Keyword And Continue On Failure   Add Flow
29      Sleep  30s
30      Write    dpctl dump-flows -O OpenFlow13
31      Sleep  1s
32      ${switchouput}    Read
33      Log     ${switchouput}
34 Test Is Flow 1 Added
35     [Documentation]    Checks if flow is configured and operational
36       Init Flow Variables       f1.xml
37       Check Config Flow         ${True}   ${data}
38       Check Operational Table   ${True}   ${data}
39 Test Is Flow 2 Added
40     [Documentation]    Checks if flow is configured and operational
41       Init Flow Variables       f2.xml
42       Check Config Flow         ${True}   ${data}
43       Check Operational Table   ${True}   ${data}
44 Test Is Flow 3 Added
45     [Documentation]    Checks if flow is configured and operational
46       Init Flow Variables       f3.xml
47       Check Config Flow         ${True}   ${data}
48       Check Operational Table   ${True}   ${data}
49 Test Is Flow 4 Added
50     [Documentation]    Checks if flow is configured and operational
51       Init Flow Variables       f4.xml
52       Check Config Flow         ${True}   ${data}
53       Check Operational Table   ${True}   ${data}
54 Test Is Flow 5 Added
55     [Documentation]    Checks if flow is configured and operational
56       Init Flow Variables       f5.xml
57       Check Config Flow         ${True}   ${data}
58       Check Operational Table   ${True}   ${data}
59 Test Is Flow 6 Added
60     [Documentation]    Checks if flow is configured and operational
61       Init Flow Variables       f6.xml
62       Check Config Flow         ${True}   ${data}
63       Check Operational Table   ${True}   ${data}
64 Test Is Flow 7 Added
65     [Documentation]    Checks if flow is configured and operational
66       Init Flow Variables       f7.xml
67       Check Config Flow         ${True}   ${data}
68       Check Operational Table   ${True}   ${data}
69 Test Is Flow 8 Added
70     [Documentation]    Checks if flow is configured and operational
71       Init Flow Variables       f8.xml
72       Check Config Flow         ${True}   ${data}
73       Check Operational Table   ${True}   ${data}
74 Test Is Flow 9 Added
75     [Documentation]    Checks if flow is configured and operational
76       Init Flow Variables       f9.xml
77       Check Config Flow         ${True}   ${data}
78       Check Operational Table   ${True}   ${data}
79 Test Is Flow 10 Added
80     [Documentation]    Checks if flow is configured and operational
81       Init Flow Variables       f10.xml
82       Check Config Flow         ${True}   ${data}
83       Check Operational Table   ${True}   ${data}
84 Test Is Flow 11 Added
85     [Documentation]    Checks if flow is configured and operational
86       Init Flow Variables       f11.xml
87       Check Config Flow         ${True}   ${data}
88       Check Operational Table   ${True}   ${data}
89 Test Is Flow 12 Added
90     [Documentation]    Checks if flow is configured and operational
91       Init Flow Variables       f12.xml
92       Check Config Flow         ${True}   ${data}
93       Check Operational Table   ${True}   ${data}
94 Test Is Flow 13 Added
95     [Documentation]    Checks if flow is configured and operational
96       Init Flow Variables       f13.xml
97       Check Config Flow         ${True}   ${data}
98       Check Operational Table   ${True}   ${data}
99 Test Is Flow 14 Added
100     [Documentation]    Checks if flow is configured and operational
101       Init Flow Variables       f14.xml
102       Check Config Flow         ${True}   ${data}
103       Check Operational Table   ${True}   ${data}
104 Test Is Flow 15 Added
105     [Documentation]    Checks if flow is configured and operational
106       Init Flow Variables       f15.xml
107       Check Config Flow         ${True}   ${data}
108       Check Operational Table   ${True}   ${data}
109 Test Is Flow 16 Added
110     [Documentation]    Checks if flow is configured and operational
111       Init Flow Variables       f16.xml
112       Check Config Flow         ${True}   ${data}
113       Check Operational Table   ${True}   ${data}
114 Test Is Flow 17 Added
115     [Documentation]    Checks if flow is configured and operational
116       Init Flow Variables       f17.xml
117       Check Config Flow         ${True}   ${data}
118       Check Operational Table   ${True}   ${data}
119 Test Is Flow 18 Added
120     [Documentation]    Checks if flow is configured and operational
121       Init Flow Variables       f18.xml
122       Check Config Flow         ${True}   ${data}
123       Check Operational Table   ${True}   ${data}
124 Test Is Flow 19 Added
125     [Documentation]    Checks if flow is configured and operational
126       Init Flow Variables       f19.xml
127       Check Config Flow         ${True}   ${data}
128       Check Operational Table   ${True}   ${data}
129 Test Is Flow 20 Added
130     [Documentation]    Checks if flow is configured and operational
131       Init Flow Variables       f20.xml
132       Check Config Flow         ${True}   ${data}
133       Check Operational Table   ${True}   ${data}
134 Test Is Flow 21 Added
135     [Documentation]    Checks if flow is configured and operational
136       Init Flow Variables       f21.xml
137       Check Config Flow         ${True}   ${data}
138       Check Operational Table   ${True}   ${data}
139 Test Is Flow 22 Added
140     [Documentation]    Checks if flow is configured and operational
141       Init Flow Variables       f22.xml
142       Check Config Flow         ${True}   ${data}
143       Check Operational Table   ${True}   ${data}
144 Test Is Flow 23 Added
145     [Documentation]    Checks if flow is configured and operational
146       Init Flow Variables       f23.xml
147       Check Config Flow         ${True}   ${data}
148       Check Operational Table   ${True}   ${data}
149 Test Is Flow 24 Added
150     [Documentation]    Checks if flow is configured and operational
151       Init Flow Variables       f24.xml
152       Check Config Flow         ${True}   ${data}
153       Check Operational Table   ${True}   ${data}
154 Test Is Flow 25 Added
155     [Documentation]    Checks if flow is configured and operational
156       Init Flow Variables       f25.xml
157       Check Config Flow         ${True}   ${data}
158       Check Operational Table   ${True}   ${data}
159 Test Is Flow 31 Added
160     [Documentation]    Checks if flow is configured and operational
161       Init Flow Variables       f31.xml
162       Check Config Flow         ${True}   ${data}
163       Check Operational Table   ${True}   ${data}
164 Test Is Flow 36 Added
165     [Documentation]    Checks if flow is configured and operational
166       Init Flow Variables       f36.xml
167       Check Config Flow         ${True}   ${data}
168       Check Operational Table   ${True}   ${data}
169 Test Is Flow 38 Added
170     [Documentation]    Checks if flow is configured and operational
171       Init Flow Variables       f38.xml
172       Check Config Flow         ${True}   ${data}
173       Check Operational Table   ${True}   ${data}
174 Test Is Flow 43 Added
175     [Documentation]    Checks if flow is configured and operational
176       Init Flow Variables       f43.xml
177       Check Config Flow         ${True}   ${data}
178       Check Operational Table   ${True}   ${data}
179 Test Is Flow 45 Added
180     [Documentation]    Checks if flow is configured and operational
181       Init Flow Variables       f45.xml
182       Check Config Flow         ${True}   ${data}
183       Check Operational Table   ${True}   ${data}
184 Test Is Flow 47 Added
185     [Documentation]    Checks if flow is configured and operational
186       Init Flow Variables       f47.xml
187       Check Config Flow         ${True}   ${data}
188       Check Operational Table   ${True}   ${data}
189 Test Is Flow 101 Added
190     [Documentation]    Checks if flow is configured and operational
191       Init Flow Variables       f101.xml
192       Check Config Flow         ${True}   ${data}
193       Check Operational Table   ${True}   ${data}
194 Test Is Flow 102 Added
195     [Documentation]    Checks if flow is configured and operational
196       Init Flow Variables       f102.xml
197       Check Config Flow         ${True}   ${data}
198       Check Operational Table   ${True}   ${data}
199 Test Is Flow 103 Added
200     [Documentation]    Checks if flow is configured and operational
201       Init Flow Variables       f103.xml
202       Check Config Flow         ${True}   ${data}
203       Check Operational Table   ${True}   ${data}
204 Test Is Flow 104 Added
205     [Documentation]    Checks if flow is configured and operational
206       Init Flow Variables       f104.xml
207       Check Config Flow         ${True}   ${data}
208       Check Operational Table   ${True}   ${data}
209 Test Is Flow 105 Added
210     [Documentation]    Checks if flow is configured and operational
211       Init Flow Variables       f105.xml
212       Check Config Flow         ${True}   ${data}
213       Check Operational Table   ${True}   ${data}
214 Test Is Flow 106 Added
215     [Documentation]    Checks if flow is configured and operational
216       Init Flow Variables       f106.xml
217       Check Config Flow         ${True}   ${data}
218       Check Operational Table   ${True}   ${data}
219 Test Is Flow 107 Added
220     [Documentation]    Checks if flow is configured and operational
221       Init Flow Variables       f107.xml
222       Check Config Flow         ${True}   ${data}
223       Check Operational Table   ${True}   ${data}
224 Test Is Flow 108 Added
225     [Documentation]    Checks if flow is configured and operational
226       Init Flow Variables       f108.xml
227       Check Config Flow         ${True}   ${data}
228       Check Operational Table   ${True}   ${data}
229 Test Is Flow 109 Added
230     [Documentation]    Checks if flow is configured and operational
231       Init Flow Variables       f109.xml
232       Check Config Flow         ${True}   ${data}
233       Check Operational Table   ${True}   ${data}
234 Test Is Flow 110 Added
235     [Documentation]    Checks if flow is configured and operational
236       Init Flow Variables       f110.xml
237       Check Config Flow         ${True}   ${data}
238       Check Operational Table   ${True}   ${data}
239 Test Is Flow 113 Added
240     [Documentation]    Checks if flow is configured and operational
241       Init Flow Variables       f113.xml
242       Check Config Flow         ${True}   ${data}
243       Check Operational Table   ${True}   ${data}
244 Test Is Flow 156 Added
245     [Documentation]    Checks if flow is configured and operational
246       Init Flow Variables       f156.xml
247       Check Config Flow         ${True}   ${data}
248       Check Operational Table   ${True}   ${data}
249 Test Is Flow 201 Added
250     [Documentation]    Checks if flow is configured and operational
251       Init Flow Variables       f201.xml
252       Check Config Flow         ${True}   ${data}
253       Check Operational Table   ${True}   ${data}
254 Test Is Flow 202 Added
255     [Documentation]    Checks if flow is configured and operational
256       Init Flow Variables       f202.xml
257       Check Config Flow         ${True}   ${data}
258       Check Operational Table   ${True}   ${data}
259 Test Is Flow 203 Added
260     [Documentation]    Checks if flow is configured and operational
261       Init Flow Variables       f203.xml
262       Check Config Flow         ${True}   ${data}
263       Check Operational Table   ${True}   ${data}
264 Test Is Flow 204 Added
265     [Documentation]    Checks if flow is configured and operational
266       Init Flow Variables       f204.xml
267       Check Config Flow         ${True}   ${data}
268       Check Operational Table   ${True}   ${data}
269 Test Is Flow 205 Added
270     [Documentation]    Checks if flow is configured and operational
271       Init Flow Variables       f205.xml
272       Check Config Flow         ${True}   ${data}
273       Check Operational Table   ${True}   ${data}
274 Test Is Flow 206 Added
275     [Documentation]    Checks if flow is configured and operational
276       Init Flow Variables       f206.xml
277       Check Config Flow         ${True}   ${data}
278       Check Operational Table   ${True}   ${data}
279 Test Is Flow 209 Added
280     [Documentation]    Checks if flow is configured and operational
281       Init Flow Variables       f209.xml
282       Check Config Flow         ${True}   ${data}
283       Check Operational Table   ${True}   ${data}
284 Test Is Flow 214 Added
285     [Documentation]    Checks if flow is configured and operational
286       Init Flow Variables       f214.xml
287       Check Config Flow         ${True}   ${data}
288       Check Operational Table   ${True}   ${data}
289 Test Is Flow 218 Added
290     [Documentation]    Checks if flow is configured and operational
291       Init Flow Variables       f218.xml
292       Check Config Flow         ${True}   ${data}
293       Check Operational Table   ${True}   ${data}
294 Test Is Flow 219 Added
295     [Documentation]    Checks if flow is configured and operational
296       Init Flow Variables       f219.xml
297       Check Config Flow         ${True}   ${data}
298       Check Operational Table   ${True}   ${data}
299 Test Is Flow 220 Added
300     [Documentation]    Checks if flow is configured and operational
301       Init Flow Variables       f220.xml
302       Check Config Flow         ${True}   ${data}
303       Check Operational Table   ${True}   ${data}
304 Test Update Flows Group 0
305    [Documentation]    Update all flows and waits for SM to collect data
306      :FOR   ${flowfile}   IN   @{flowlist0}
307      \       Log   ${flowfile}
308      \       Init Flow Variables  ${flowfile}
309      \       Run Keyword And Continue On Failure   Update Flow
310      Sleep  40s
311      Write    dpctl dump-flows -O OpenFlow13
312      Sleep  1s
313      ${switchouput}    Read
314      Log     ${switchouput}
315 Test Is Flow 1 Updated
316     [Documentation]    Checks if flow is configured and operational
317       Init Flow Variables       f1.xml
318       Check Config Flow         ${True}   ${upddata}
319       Check Operational Table   ${True}   ${upddata}
320 Test Is Flow 2 Updated
321     [Documentation]    Checks if flow is configured and operational
322       Init Flow Variables       f2.xml
323       Check Config Flow         ${True}   ${upddata}
324       Check Operational Table   ${True}   ${upddata}
325 Test Is Flow 3 Updated
326     [Documentation]    Checks if flow is configured and operational
327       Init Flow Variables       f3.xml
328       Check Config Flow         ${True}   ${upddata}
329       Check Operational Table   ${True}   ${upddata}
330 Test Is Flow 4 Updated
331     [Documentation]    Checks if flow is configured and operational
332       Init Flow Variables       f4.xml
333       Check Config Flow         ${True}   ${upddata}
334       Check Operational Table   ${True}   ${upddata}
335 Test Is Flow 5 Updated
336     [Documentation]    Checks if flow is configured and operational
337       Init Flow Variables       f5.xml
338       Check Config Flow         ${True}   ${upddata}
339       Check Operational Table   ${True}   ${upddata}
340 Test Is Flow 6 Updated
341     [Documentation]    Checks if flow is configured and operational
342       Init Flow Variables       f6.xml
343       Check Config Flow         ${True}   ${upddata}
344       Check Operational Table   ${True}   ${upddata}
345 Test Is Flow 7 Updated
346     [Documentation]    Checks if flow is configured and operational
347       Init Flow Variables       f7.xml
348       Check Config Flow         ${True}   ${upddata}
349       Check Operational Table   ${True}   ${upddata}
350 Test Is Flow 8 Updated
351     [Documentation]    Checks if flow is configured and operational
352       Init Flow Variables       f8.xml
353       Check Config Flow         ${True}   ${upddata}
354       Check Operational Table   ${True}   ${upddata}
355 Test Is Flow 9 Updated
356     [Documentation]    Checks if flow is configured and operational
357       Init Flow Variables       f9.xml
358       Check Config Flow         ${True}   ${upddata}
359       Check Operational Table   ${True}   ${upddata}
360 Test Is Flow 10 Updated
361     [Documentation]    Checks if flow is configured and operational
362       Init Flow Variables       f10.xml
363       Check Config Flow         ${True}   ${upddata}
364       Check Operational Table   ${True}   ${upddata}
365 Test Is Flow 11 Updated
366     [Documentation]    Checks if flow is configured and operational
367       Init Flow Variables       f11.xml
368       Check Config Flow         ${True}   ${upddata}
369       Check Operational Table   ${True}   ${upddata}
370 Test Is Flow 12 Updated
371     [Documentation]    Checks if flow is configured and operational
372       Init Flow Variables       f12.xml
373       Check Config Flow         ${True}   ${upddata}
374       Check Operational Table   ${True}   ${upddata}
375 Test Is Flow 13 Updated
376     [Documentation]    Checks if flow is configured and operational
377       Init Flow Variables       f13.xml
378       Check Config Flow         ${True}   ${upddata}
379       Check Operational Table   ${True}   ${upddata}
380 Test Is Flow 14 Updated
381     [Documentation]    Checks if flow is configured and operational
382       Init Flow Variables       f14.xml
383       Check Config Flow         ${True}   ${upddata}
384       Check Operational Table   ${True}   ${upddata}
385 Test Is Flow 15 Updated
386     [Documentation]    Checks if flow is configured and operational
387       Init Flow Variables       f15.xml
388       Check Config Flow         ${True}   ${upddata}
389       Check Operational Table   ${True}   ${upddata}
390 Test Is Flow 16 Updated
391     [Documentation]    Checks if flow is configured and operational
392       Init Flow Variables       f16.xml
393       Check Config Flow         ${True}   ${upddata}
394       Check Operational Table   ${True}   ${upddata}
395 Test Is Flow 17 Updated
396     [Documentation]    Checks if flow is configured and operational
397       Init Flow Variables       f17.xml
398       Check Config Flow         ${True}   ${upddata}
399       Check Operational Table   ${True}   ${upddata}
400 Test Is Flow 18 Updated
401     [Documentation]    Checks if flow is configured and operational
402       Init Flow Variables       f18.xml
403       Check Config Flow         ${True}   ${upddata}
404       Check Operational Table   ${True}   ${upddata}
405 Test Is Flow 19 Updated
406     [Documentation]    Checks if flow is configured and operational
407       Init Flow Variables       f19.xml
408       Check Config Flow         ${True}   ${upddata}
409       Check Operational Table   ${True}   ${upddata}
410 Test Is Flow 20 Updated
411     [Documentation]    Checks if flow is configured and operational
412       Init Flow Variables       f20.xml
413       Check Config Flow         ${True}   ${upddata}
414       Check Operational Table   ${True}   ${upddata}
415 Test Is Flow 21 Updated
416     [Documentation]    Checks if flow is configured and operational
417       Init Flow Variables       f21.xml
418       Check Config Flow         ${True}   ${upddata}
419       Check Operational Table   ${True}   ${upddata}
420 Test Is Flow 22 Updated
421     [Documentation]    Checks if flow is configured and operational
422       Init Flow Variables       f22.xml
423       Check Config Flow         ${True}   ${upddata}
424       Check Operational Table   ${True}   ${upddata}
425 Test Is Flow 23 Updated
426     [Documentation]    Checks if flow is configured and operational
427       Init Flow Variables       f23.xml
428       Check Config Flow         ${True}   ${upddata}
429       Check Operational Table   ${True}   ${upddata}
430 Test Is Flow 24 Updated
431     [Documentation]    Checks if flow is configured and operational
432       Init Flow Variables       f24.xml
433       Check Config Flow         ${True}   ${upddata}
434       Check Operational Table   ${True}   ${upddata}
435 Test Is Flow 25 Updated
436     [Documentation]    Checks if flow is configured and operational
437       Init Flow Variables       f25.xml
438       Check Config Flow         ${True}   ${upddata}
439       Check Operational Table   ${True}   ${upddata}
440 Test Is Flow 31 Updated
441     [Documentation]    Checks if flow is configured and operational
442       Init Flow Variables       f31.xml
443       Check Config Flow         ${True}   ${upddata}
444       Check Operational Table   ${True}   ${upddata}
445 Test Is Flow 36 Updated
446     [Documentation]    Checks if flow is configured and operational
447       Init Flow Variables       f36.xml
448       Check Config Flow         ${True}   ${upddata}
449       Check Operational Table   ${True}   ${upddata}
450 Test Is Flow 38 Updated
451     [Documentation]    Checks if flow is configured and operational
452       Init Flow Variables       f38.xml
453       Check Config Flow         ${True}   ${upddata}
454       Check Operational Table   ${True}   ${upddata}
455 Test Is Flow 43 Updated
456     [Documentation]    Checks if flow is configured and operational
457       Init Flow Variables       f43.xml
458       Check Config Flow         ${True}   ${upddata}
459       Check Operational Table   ${True}   ${upddata}
460 Test Is Flow 45 Updated
461     [Documentation]    Checks if flow is configured and operational
462       Init Flow Variables       f45.xml
463       Check Config Flow         ${True}   ${upddata}
464       Check Operational Table   ${True}   ${upddata}
465 Test Is Flow 47 Updated
466     [Documentation]    Checks if flow is configured and operational
467       Init Flow Variables       f47.xml
468       Check Config Flow         ${True}   ${upddata}
469       Check Operational Table   ${True}   ${upddata}
470 Test Is Flow 101 Updated
471     [Documentation]    Checks if flow is configured and operational
472       Init Flow Variables       f101.xml
473       Check Config Flow         ${True}   ${upddata}
474       Check Operational Table   ${True}   ${upddata}
475 Test Is Flow 102 Updated
476     [Documentation]    Checks if flow is configured and operational
477       Init Flow Variables       f102.xml
478       Check Config Flow         ${True}   ${upddata}
479       Check Operational Table   ${True}   ${upddata}
480 Test Is Flow 103 Updated
481     [Documentation]    Checks if flow is configured and operational
482       Init Flow Variables       f103.xml
483       Check Config Flow         ${True}   ${upddata}
484       Check Operational Table   ${True}   ${upddata}
485 Test Is Flow 104 Updated
486     [Documentation]    Checks if flow is configured and operational
487       Init Flow Variables       f104.xml
488       Check Config Flow         ${True}   ${upddata}
489       Check Operational Table   ${True}   ${upddata}
490 Test Is Flow 105 Updated
491     [Documentation]    Checks if flow is configured and operational
492       Init Flow Variables       f105.xml
493       Check Config Flow         ${True}   ${upddata}
494       Check Operational Table   ${True}   ${upddata}
495 Test Is Flow 106 Updated
496     [Documentation]    Checks if flow is configured and operational
497       Init Flow Variables       f106.xml
498       Check Config Flow         ${True}   ${upddata}
499       Check Operational Table   ${True}   ${upddata}
500 Test Is Flow 107 Updated
501     [Documentation]    Checks if flow is configured and operational
502       Init Flow Variables       f107.xml
503       Check Config Flow         ${True}   ${upddata}
504       Check Operational Table   ${True}   ${upddata}
505 Test Is Flow 108 Updated
506     [Documentation]    Checks if flow is configured and operational
507       Init Flow Variables       f108.xml
508       Check Config Flow         ${True}   ${upddata}
509       Check Operational Table   ${True}   ${upddata}
510 Test Is Flow 109 Updated
511     [Documentation]    Checks if flow is configured and operational
512       Init Flow Variables       f109.xml
513       Check Config Flow         ${True}   ${upddata}
514       Check Operational Table   ${True}   ${upddata}
515 Test Is Flow 110 Updated
516     [Documentation]    Checks if flow is configured and operational
517       Init Flow Variables       f110.xml
518       Check Config Flow         ${True}   ${upddata}
519       Check Operational Table   ${True}   ${upddata}
520 Test Is Flow 113 Updated
521     [Documentation]    Checks if flow is configured and operational
522       Init Flow Variables       f113.xml
523       Check Config Flow         ${True}   ${upddata}
524       Check Operational Table   ${True}   ${upddata}
525 Test Is Flow 156 Updated
526     [Documentation]    Checks if flow is configured and operational
527       Init Flow Variables       f156.xml
528       Check Config Flow         ${True}   ${upddata}
529       Check Operational Table   ${True}   ${upddata}
530 Test Is Flow 201 Updated
531     [Documentation]    Checks if flow is configured and operational
532       Init Flow Variables       f201.xml
533       Check Config Flow         ${True}   ${upddata}
534       Check Operational Table   ${True}   ${upddata}
535 Test Is Flow 202 Updated
536     [Documentation]    Checks if flow is configured and operational
537       Init Flow Variables       f202.xml
538       Check Config Flow         ${True}   ${upddata}
539       Check Operational Table   ${True}   ${upddata}
540 Test Is Flow 203 Updated
541     [Documentation]    Checks if flow is configured and operational
542       Init Flow Variables       f203.xml
543       Check Config Flow         ${True}   ${upddata}
544       Check Operational Table   ${True}   ${upddata}
545 Test Is Flow 204 Updated
546     [Documentation]    Checks if flow is configured and operational
547       Init Flow Variables       f204.xml
548       Check Config Flow         ${True}   ${upddata}
549       Check Operational Table   ${True}   ${upddata}
550 Test Is Flow 205 Updated
551     [Documentation]    Checks if flow is configured and operational
552       Init Flow Variables       f205.xml
553       Check Config Flow         ${True}   ${upddata}
554       Check Operational Table   ${True}   ${upddata}
555 Test Is Flow 206 Updated
556     [Documentation]    Checks if flow is configured and operational
557       Init Flow Variables       f206.xml
558       Check Config Flow         ${True}   ${upddata}
559       Check Operational Table   ${True}   ${upddata}
560 Test Is Flow 209 Updated
561     [Documentation]    Checks if flow is configured and operational
562       Init Flow Variables       f209.xml
563       Check Config Flow         ${True}   ${upddata}
564       Check Operational Table   ${True}   ${upddata}
565 Test Is Flow 214 Updated
566     [Documentation]    Checks if flow is configured and operational
567       Init Flow Variables       f214.xml
568       Check Config Flow         ${True}   ${upddata}
569       Check Operational Table   ${True}   ${upddata}
570 Test Is Flow 218 Updated
571     [Documentation]    Checks if flow is configured and operational
572       Init Flow Variables       f218.xml
573       Check Config Flow         ${True}   ${upddata}
574       Check Operational Table   ${True}   ${upddata}
575 Test Is Flow 219 Updated
576     [Documentation]    Checks if flow is configured and operational
577       Init Flow Variables       f219.xml
578       Check Config Flow         ${True}   ${upddata}
579       Check Operational Table   ${True}   ${upddata}
580 Test Is Flow 220 Updated
581     [Documentation]    Checks if flow is configured and operational
582       Init Flow Variables       f220.xml
583       Check Config Flow         ${True}   ${upddata}
584       Check Operational Table   ${True}   ${upddata}
585 Test Delete Flows Group 0
586    [Documentation]    Delete all flows and waits for SM to collect data
587      :FOR   ${flowfile}   IN   @{flowlist0}
588      \       Log   ${flowfile}
589      \       Init Flow Variables   ${flowfile}
590      \       Run Keyword And Continue On Failure   Delete Flow
591      Sleep  40s
592      Write    dpctl dump-flows -O OpenFlow13
593      Sleep  1s
594      ${switchouput}    Read
595      Log     ${switchouput}
596 Test Is Flow 1 Deleted
597     [Documentation]    Checks if flow is not configured and operational 
598       Init Flow Variables       f1.xml
599       Check Config Flow         ${False}   ${upddata}
600       Check Operational Table   ${False}   ${upddata}
601 Test Is Flow 2 Deleted
602     [Documentation]    Checks if flow is not configured and operational 
603       Init Flow Variables       f2.xml
604       Check Config Flow         ${False}   ${upddata}
605       Check Operational Table   ${False}   ${upddata}
606 Test Is Flow 3 Deleted
607     [Documentation]    Checks if flow is not configured and operational 
608       Init Flow Variables       f3.xml
609       Check Config Flow         ${False}   ${upddata}
610       Check Operational Table   ${False}   ${upddata}
611 Test Is Flow 4 Deleted
612     [Documentation]    Checks if flow is not configured and operational 
613       Init Flow Variables       f4.xml
614       Check Config Flow         ${False}   ${upddata}
615       Check Operational Table   ${False}   ${upddata}
616 Test Is Flow 5 Deleted
617     [Documentation]    Checks if flow is not configured and operational 
618       Init Flow Variables       f5.xml
619       Check Config Flow         ${False}   ${upddata}
620       Check Operational Table   ${False}   ${upddata}
621 Test Is Flow 6 Deleted
622     [Documentation]    Checks if flow is not configured and operational 
623       Init Flow Variables       f6.xml
624       Check Config Flow         ${False}   ${upddata}
625       Check Operational Table   ${False}   ${upddata}
626 Test Is Flow 7 Deleted
627     [Documentation]    Checks if flow is not configured and operational 
628       Init Flow Variables       f7.xml
629       Check Config Flow         ${False}   ${upddata}
630       Check Operational Table   ${False}   ${upddata}
631 Test Is Flow 8 Deleted
632     [Documentation]    Checks if flow is not configured and operational 
633       Init Flow Variables       f8.xml
634       Check Config Flow         ${False}   ${upddata}
635       Check Operational Table   ${False}   ${upddata}
636 Test Is Flow 9 Deleted
637     [Documentation]    Checks if flow is not configured and operational 
638       Init Flow Variables       f9.xml
639       Check Config Flow         ${False}   ${upddata}
640       Check Operational Table   ${False}   ${upddata}
641 Test Is Flow 10 Deleted
642     [Documentation]    Checks if flow is not configured and operational 
643       Init Flow Variables       f10.xml
644       Check Config Flow         ${False}   ${upddata}
645       Check Operational Table   ${False}   ${upddata}
646 Test Is Flow 11 Deleted
647     [Documentation]    Checks if flow is not configured and operational 
648       Init Flow Variables       f11.xml
649       Check Config Flow         ${False}   ${upddata}
650       Check Operational Table   ${False}   ${upddata}
651 Test Is Flow 12 Deleted
652     [Documentation]    Checks if flow is not configured and operational 
653       Init Flow Variables       f12.xml
654       Check Config Flow         ${False}   ${upddata}
655       Check Operational Table   ${False}   ${upddata}
656 Test Is Flow 13 Deleted
657     [Documentation]    Checks if flow is not configured and operational 
658       Init Flow Variables       f13.xml
659       Check Config Flow         ${False}   ${upddata}
660       Check Operational Table   ${False}   ${upddata}
661 Test Is Flow 14 Deleted
662     [Documentation]    Checks if flow is not configured and operational 
663       Init Flow Variables       f14.xml
664       Check Config Flow         ${False}   ${upddata}
665       Check Operational Table   ${False}   ${upddata}
666 Test Is Flow 15 Deleted
667     [Documentation]    Checks if flow is not configured and operational 
668       Init Flow Variables       f15.xml
669       Check Config Flow         ${False}   ${upddata}
670       Check Operational Table   ${False}   ${upddata}
671 Test Is Flow 16 Deleted
672     [Documentation]    Checks if flow is not configured and operational 
673       Init Flow Variables       f16.xml
674       Check Config Flow         ${False}   ${upddata}
675       Check Operational Table   ${False}   ${upddata}
676 Test Is Flow 17 Deleted
677     [Documentation]    Checks if flow is not configured and operational 
678       Init Flow Variables       f17.xml
679       Check Config Flow         ${False}   ${upddata}
680       Check Operational Table   ${False}   ${upddata}
681 Test Is Flow 18 Deleted
682     [Documentation]    Checks if flow is not configured and operational 
683       Init Flow Variables       f18.xml
684       Check Config Flow         ${False}   ${upddata}
685       Check Operational Table   ${False}   ${upddata}
686 Test Is Flow 19 Deleted
687     [Documentation]    Checks if flow is not configured and operational 
688       Init Flow Variables       f19.xml
689       Check Config Flow         ${False}   ${upddata}
690       Check Operational Table   ${False}   ${upddata}
691 Test Is Flow 20 Deleted
692     [Documentation]    Checks if flow is not configured and operational 
693       Init Flow Variables       f20.xml
694       Check Config Flow         ${False}   ${upddata}
695       Check Operational Table   ${False}   ${upddata}
696 Test Is Flow 21 Deleted
697     [Documentation]    Checks if flow is not configured and operational 
698       Init Flow Variables       f21.xml
699       Check Config Flow         ${False}   ${upddata}
700       Check Operational Table   ${False}   ${upddata}
701 Test Is Flow 22 Deleted
702     [Documentation]    Checks if flow is not configured and operational 
703       Init Flow Variables       f22.xml
704       Check Config Flow         ${False}   ${upddata}
705       Check Operational Table   ${False}   ${upddata}
706 Test Is Flow 23 Deleted
707     [Documentation]    Checks if flow is not configured and operational 
708       Init Flow Variables       f23.xml
709       Check Config Flow         ${False}   ${upddata}
710       Check Operational Table   ${False}   ${upddata}
711 Test Is Flow 24 Deleted
712     [Documentation]    Checks if flow is not configured and operational 
713       Init Flow Variables       f24.xml
714       Check Config Flow         ${False}   ${upddata}
715       Check Operational Table   ${False}   ${upddata}
716 Test Is Flow 25 Deleted
717     [Documentation]    Checks if flow is not configured and operational 
718       Init Flow Variables       f25.xml
719       Check Config Flow         ${False}   ${upddata}
720       Check Operational Table   ${False}   ${upddata}
721 Test Is Flow 31 Deleted
722     [Documentation]    Checks if flow is not configured and operational 
723       Init Flow Variables       f31.xml
724       Check Config Flow         ${False}   ${upddata}
725       Check Operational Table   ${False}   ${upddata}
726 Test Is Flow 36 Deleted
727     [Documentation]    Checks if flow is not configured and operational 
728       Init Flow Variables       f36.xml
729       Check Config Flow         ${False}   ${upddata}
730       Check Operational Table   ${False}   ${upddata}
731 Test Is Flow 38 Deleted
732     [Documentation]    Checks if flow is not configured and operational 
733       Init Flow Variables       f38.xml
734       Check Config Flow         ${False}   ${upddata}
735       Check Operational Table   ${False}   ${upddata}
736 Test Is Flow 43 Deleted
737     [Documentation]    Checks if flow is not configured and operational 
738       Init Flow Variables       f43.xml
739       Check Config Flow         ${False}   ${upddata}
740       Check Operational Table   ${False}   ${upddata}
741 Test Is Flow 45 Deleted
742     [Documentation]    Checks if flow is not configured and operational 
743       Init Flow Variables       f45.xml
744       Check Config Flow         ${False}   ${upddata}
745       Check Operational Table   ${False}   ${upddata}
746 Test Is Flow 47 Deleted
747     [Documentation]    Checks if flow is not configured and operational 
748       Init Flow Variables       f47.xml
749       Check Config Flow         ${False}   ${upddata}
750       Check Operational Table   ${False}   ${upddata}
751 Test Is Flow 101 Deleted
752     [Documentation]    Checks if flow is not configured and operational 
753       Init Flow Variables       f101.xml
754       Check Config Flow         ${False}   ${upddata}
755       Check Operational Table   ${False}   ${upddata}
756 Test Is Flow 102 Deleted
757     [Documentation]    Checks if flow is not configured and operational 
758       Init Flow Variables       f102.xml
759       Check Config Flow         ${False}   ${upddata}
760       Check Operational Table   ${False}   ${upddata}
761 Test Is Flow 103 Deleted
762     [Documentation]    Checks if flow is not configured and operational 
763       Init Flow Variables       f103.xml
764       Check Config Flow         ${False}   ${upddata}
765       Check Operational Table   ${False}   ${upddata}
766 Test Is Flow 104 Deleted
767     [Documentation]    Checks if flow is not configured and operational 
768       Init Flow Variables       f104.xml
769       Check Config Flow         ${False}   ${upddata}
770       Check Operational Table   ${False}   ${upddata}
771 Test Is Flow 105 Deleted
772     [Documentation]    Checks if flow is not configured and operational 
773       Init Flow Variables       f105.xml
774       Check Config Flow         ${False}   ${upddata}
775       Check Operational Table   ${False}   ${upddata}
776 Test Is Flow 106 Deleted
777     [Documentation]    Checks if flow is not configured and operational 
778       Init Flow Variables       f106.xml
779       Check Config Flow         ${False}   ${upddata}
780       Check Operational Table   ${False}   ${upddata}
781 Test Is Flow 107 Deleted
782     [Documentation]    Checks if flow is not configured and operational 
783       Init Flow Variables       f107.xml
784       Check Config Flow         ${False}   ${upddata}
785       Check Operational Table   ${False}   ${upddata}
786 Test Is Flow 108 Deleted
787     [Documentation]    Checks if flow is not configured and operational 
788       Init Flow Variables       f108.xml
789       Check Config Flow         ${False}   ${upddata}
790       Check Operational Table   ${False}   ${upddata}
791 Test Is Flow 109 Deleted
792     [Documentation]    Checks if flow is not configured and operational 
793       Init Flow Variables       f109.xml
794       Check Config Flow         ${False}   ${upddata}
795       Check Operational Table   ${False}   ${upddata}
796 Test Is Flow 110 Deleted
797     [Documentation]    Checks if flow is not configured and operational 
798       Init Flow Variables       f110.xml
799       Check Config Flow         ${False}   ${upddata}
800       Check Operational Table   ${False}   ${upddata}
801 Test Is Flow 113 Deleted
802     [Documentation]    Checks if flow is not configured and operational 
803       Init Flow Variables       f113.xml
804       Check Config Flow         ${False}   ${upddata}
805       Check Operational Table   ${False}   ${upddata}
806 Test Is Flow 156 Deleted
807     [Documentation]    Checks if flow is not configured and operational 
808       Init Flow Variables       f156.xml
809       Check Config Flow         ${False}   ${upddata}
810       Check Operational Table   ${False}   ${upddata}
811 Test Is Flow 201 Deleted
812     [Documentation]    Checks if flow is not configured and operational 
813       Init Flow Variables       f201.xml
814       Check Config Flow         ${False}   ${upddata}
815       Check Operational Table   ${False}   ${upddata}
816 Test Is Flow 202 Deleted
817     [Documentation]    Checks if flow is not configured and operational 
818       Init Flow Variables       f202.xml
819       Check Config Flow         ${False}   ${upddata}
820       Check Operational Table   ${False}   ${upddata}
821 Test Is Flow 203 Deleted
822     [Documentation]    Checks if flow is not configured and operational 
823       Init Flow Variables       f203.xml
824       Check Config Flow         ${False}   ${upddata}
825       Check Operational Table   ${False}   ${upddata}
826 Test Is Flow 204 Deleted
827     [Documentation]    Checks if flow is not configured and operational 
828       Init Flow Variables       f204.xml
829       Check Config Flow         ${False}   ${upddata}
830       Check Operational Table   ${False}   ${upddata}
831 Test Is Flow 205 Deleted
832     [Documentation]    Checks if flow is not configured and operational 
833       Init Flow Variables       f205.xml
834       Check Config Flow         ${False}   ${upddata}
835       Check Operational Table   ${False}   ${upddata}
836 Test Is Flow 206 Deleted
837     [Documentation]    Checks if flow is not configured and operational 
838       Init Flow Variables       f206.xml
839       Check Config Flow         ${False}   ${upddata}
840       Check Operational Table   ${False}   ${upddata}
841 Test Is Flow 209 Deleted
842     [Documentation]    Checks if flow is not configured and operational 
843       Init Flow Variables       f209.xml
844       Check Config Flow         ${False}   ${upddata}
845       Check Operational Table   ${False}   ${upddata}
846 Test Is Flow 214 Deleted
847     [Documentation]    Checks if flow is not configured and operational 
848       Init Flow Variables       f214.xml
849       Check Config Flow         ${False}   ${upddata}
850       Check Operational Table   ${False}   ${upddata}
851 Test Is Flow 218 Deleted
852     [Documentation]    Checks if flow is not configured and operational 
853       Init Flow Variables       f218.xml
854       Check Config Flow         ${False}   ${upddata}
855       Check Operational Table   ${False}   ${upddata}
856 Test Is Flow 219 Deleted
857     [Documentation]    Checks if flow is not configured and operational 
858       Init Flow Variables       f219.xml
859       Check Config Flow         ${False}   ${upddata}
860       Check Operational Table   ${False}   ${upddata}
861 Test Is Flow 220 Deleted
862     [Documentation]    Checks if flow is not configured and operational 
863       Init Flow Variables       f220.xml
864       Check Config Flow         ${False}   ${upddata}
865       Check Operational Table   ${False}   ${upddata}
866
867
868 *** Keywords ***
869 Init Flow Variables   [Arguments]   ${file}
870       ${data}=       OperatingSystem.Get File     ${XmlsDir}/${file}
871       ${xmlroot}=    Parse Xml    ${XmlsDir}/${file}
872       ${table_id}=   Get Element Text   ${xmlroot}   table_id
873       ${flow_id}=    Get Element Text   ${xmlroot}   id
874       ${flow_priority}=    Get Element Text   ${xmlroot}   priority
875       ${upddata}=    Get Data For Flow Put Update   ${data}
876       Set Suite Variable   ${table_id}
877       Set Suite Variable   ${flow_id}
878       Set Suite Variable   ${flow_priority}
879       Set Suite Variable   ${data}
880       Set Suite Variable   ${upddata}
881       Set Suite Variable   ${xmlroot}
882 Check Config Flow   [Arguments]   ${expected}   ${expvalue}
883          ${presence_flow}   ${msg}=      Flow Presence Config Flow    ${expvalue}
884          ${msgf}=   Get Presence Failure Message    config    ${expected}    ${presence_flow}   ${msg} 
885          Should Be Equal    ${expected}  ${presence_flow}   msg=${msgf}
886 Flow Presence Config Flow  [Arguments]   ${expvalue}
887          ${headers}=      Create Dictionary   Accept   application/xml
888          ${resp}=   Get  session  /restconf/config/opendaylight-inventory:nodes/node/openflow:${switch_idx}/table/${table_id}/flow/${flow_id}   headers=${headers}
889          Log  ${resp}
890          Log  ${resp.content}
891          Return From Keyword If   ${resp.status_code}!=200  ${False}   ${EMPTY}
892          ${pres}  ${msg}=  Is Flow Configured  ${expvalue}   ${resp.content}
893          Run Keyword If   '''${msg}'''!='${EMPTY}'   Log   ${msg}
894          Return From Keyword   ${pres}   ${msg}
895 Check Operational Table  [Arguments]   ${expected}    ${expvalue}
896          ${presence_table}  ${msg}=  Flow Presence Operational Table   ${expvalue}
897          ${msgf}=   Get Presence Failure Message    operational    ${expected}    ${presence_table}   ${msg} 
898          Should Be Equal  ${expected}  ${presence_table}  msg=${msgf}
899 Flow Presence Operational Table   [Arguments]  ${expvalue}
900          ${headers}=      Create Dictionary   Accept   application/xml
901          ${resp}=   Get   session   /restconf/operational/opendaylight-inventory:nodes/node/openflow:${switch_idx}/table/${table_id}    headers=${headers}
902          Log   ${resp}
903          Log   ${resp.content}
904          Return From Keyword If    ${resp.status_code}!=200   ${False}   ${EMPTY}
905          ${pres}   ${msg}=   Is Flow Operational2   ${expvalue}   ${resp.content}
906          Run Keyword If   '''${msg}'''!='${EMPTY}'   Log   ${msg}
907          Return From Keyword   ${pres}   ${msg}
908 Delete All Flows
909    [Documentation]    Deletes all flows
910      :FOR   ${flowfile}   IN   @{flowlist0}
911      \       Log   ${flowfile}
912      \       Init Flow Variables   ${flowfile}
913      \       Delete Flow
914 Initialization Phase
915   [Documentation]   Initiate tcp connection with controller
916      Create Session   session   http://${CONTROLLER}:${PORT}   auth=${AUTH}   headers=${HEADERS_XML}
917      Write    dpctl dump-flows -O OpenFlow13
918      Sleep  1s
919      ${switchouput}    Read
920      Log     ${switchouput}
921 Teardown Phase
922   [Documentation]   Closes tcp connection with controller and removes flows
923      Delete All Sessions
924 Get Presence Failure Message   [Arguments]   ${ds}   ${expected}   ${presence}  ${diffmsg}
925          Return From Keyword If   '''${diffmsg}'''!='${EMPTY}'  Flow found in ${ds} data store but: ${diffmsg}
926          ${msgf}=   Set Variable If   ${expected}==${True}   The flow is expected in ${ds} data store, but   The flow is not expected in ${ds} data store, but
927          ${msgp}=   Set Variable If   ${presence}==${True}   it is present.   it is not present.
928          Return From Keyword   ${msgf} ${msgp}
929 Add Flow
930       Log             ${data}
931       ${resp}=        Post    session   /restconf/config/opendaylight-inventory:nodes/node/openflow:${switch_idx}/table/${table_id}   data=${data}
932       Log             ${resp.content}
933       ${msg}=  Set Variable   Adding flow for /restconf/config/opendaylight-inventory:nodes/node/openflow:${switch_idx}/table/${table_id}/flow/${flow_id} failed, http response ${resp.status_code} received.
934       Should Be Equal As Strings   ${resp.status_code}   204   msg=${msg}
935 Update Flow
936        Log          ${upddata}
937        ${resp}=     Putxml    session  /restconf/config/opendaylight-inventory:nodes/node/openflow:${switch_idx}/table/${table_id}/flow/${flow_id}  data=${upddata}
938        Log             ${resp.content}
939        ${msg}=  Set Variable   Updating flow for /restconf/config/opendaylight-inventory:nodes/node/openflow:${switch_idx}/table/${table_id}/flow/${flow_id} failed, http response ${resp.status_code} received.
940        Should Be Equal As Strings  ${resp.status_code}   200    msg=${msg}
941 Delete Flow
942       ${resp}=  Delete   session   /restconf/config/opendaylight-inventory:nodes/node/openflow:${switch_idx}/table/${table_id}/flow/${flow_id}
943       Log             ${resp.content}
944       ${msg}=  Set Variable  Delete flow for /restconf/config/opendaylight-inventory:nodes/node/openflow:${switch_idx}/table/${table_id}/flow/${flow_id} failed, http response ${resp.status_code} received.
945       Should Be Equal As Strings   ${resp.status_code}   200   msg=${msg}