Upgrade RF syntax for v3.2 compatibility
[integration/test.git] / csit / suites / openflowplugin / Flows_Additional_TCs / Stat_Manager_extended / 010_SM_add_upd_del_flows.robot
1 *** Settings ***
2 Documentation     Test suite for Stats Manager flows collection
3 Suite Setup       Initialization Phase
4 Suite Teardown    Delete All Sessions
5 Test Template     Check Datastore Presence
6 Library           Collections
7 Library           OperatingSystem
8 Library           RequestsLibrary
9 Library           SSHLibrary
10 Library           XML
11 Library           ${CURDIR}/../../../../libraries/Common.py
12 Library           ${CURDIR}/../../../../libraries/XmlComparator.py
13 Resource          ${CURDIR}/../../../../libraries/CompareStream.robot
14 Resource          ${CURDIR}/../../../../libraries/FlowLib.robot
15 Resource          ${CURDIR}/../../../../variables/Variables.robot
16
17 *** Variables ***
18 ${flow_update_time}    3s
19 ${XmlsDir}        ${CURDIR}/../../../../variables/xmls
20 ${switch_idx}     1
21 ${switch_name}    s${switch_idx}
22 @{flowlist0}      f1.xml    f2.xml    f3.xml    f4.xml    f5.xml    f6.xml    f7.xml
23 ...               f8.xml    f9.xml    f10.xml    f11.xml    f14.xml    f15.xml    f16.xml
24 ...               f17.xml    f18.xml    f19.xml    f20.xml    f21.xml    f22.xml    f23.xml
25 ...               f24.xml    f25.xml    f31.xml    f36.xml    f38.xml    f43.xml    f45.xml
26 ...               f101.xml    f102.xml    f103.xml    f104.xml    f105.xml    f106.xml    f107.xml
27 ...               f108.xml    f109.xml    f110.xml    f113.xml    f156.xml    f201.xml    f202.xml
28 ...               f203.xml    f204.xml    f205.xml    f206.xml    f209.xml    f214.xml    f218.xml
29 ...               f219.xml    f220.xml    f221.xml    f222.xml    f223.xml    f224.xml    f225.xml
30 ...               f550.xml
31
32 *** Test Cases ***
33 Test Add Flows Group 0
34     [Documentation]    Add all flows and waits for SM to collect data
35     [Template]    NONE
36     FOR    ${flowfile}    IN    @{flowlist0}
37         Log    ${flowfile}
38         Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
39         Run Keyword And Continue On Failure    Add Flow Via Restconf    ${switch_idx}    ${table_id}    ${data}
40         # Lets wait for ofp to collect stats
41     END
42     ${flows}=    Get Length    ${flowlist0}
43     Wait Until Keyword Succeeds    30s    2s    FlowLib.Check Flow Stats Are Available    openflow:1    ${flows}
44     # Show switch content (for debug purposes if needed)
45     Write    dpctl dump-flows -O OpenFlow13
46     Read Until    mininet>
47
48 Test Is Flow 1 Added
49     f1.xml    ${True}    ${True}    ${False}    ${True}
50
51 Test Is Flow 2 Added
52     f2.xml    ${True}    ${True}    ${False}    ${True}
53
54 Test Is Flow 3 Added
55     f3.xml    ${True}    ${True}    ${False}    ${True}
56
57 Test Is Flow 4 Added
58     f4.xml    ${True}    ${True}    ${False}    ${True}
59
60 Test Is Flow 5 Added
61     f5.xml    ${True}    ${True}    ${False}    ${True}
62
63 Test Is Flow 6 Added
64     f6.xml    ${True}    ${True}    ${False}    ${True}
65
66 Test Is Flow 7 Added
67     f7.xml    ${True}    ${True}    ${False}    ${True}
68
69 Test Is Flow 8 Added
70     f8.xml    ${True}    ${True}    ${False}    ${True}
71
72 Test Is Flow 9 Added
73     f9.xml    ${True}    ${True}    ${False}    ${True}
74
75 Test Is Flow 10 Added
76     f10.xml    ${True}    ${True}    ${False}    ${True}
77
78 Test Is Flow 11 Added
79     f11.xml    ${True}    ${True}    ${False}    ${True}
80
81 Test Is Flow 14 Added
82     f14.xml    ${True}    ${True}    ${False}    ${True}
83
84 Test Is Flow 15 Added
85     f15.xml    ${True}    ${True}    ${False}    ${True}
86
87 Test Is Flow 16 Added
88     f16.xml    ${True}    ${True}    ${False}    ${True}
89
90 Test Is Flow 17 Added
91     f17.xml    ${True}    ${True}    ${False}    ${True}
92
93 Test Is Flow 18 Added
94     f18.xml    ${True}    ${True}    ${False}    ${True}
95
96 Test Is Flow 19 Added
97     f19.xml    ${True}    ${True}    ${False}    ${True}
98
99 Test Is Flow 20 Added
100     f20.xml    ${True}    ${True}    ${False}    ${True}
101
102 Test Is Flow 21 Added
103     f21.xml    ${True}    ${True}    ${False}    ${True}
104
105 Test Is Flow 22 Added
106     f22.xml    ${True}    ${True}    ${False}    ${True}
107
108 Test Is Flow 23 Added
109     f23.xml    ${True}    ${True}    ${False}    ${True}
110
111 Test Is Flow 24 Added
112     f24.xml    ${True}    ${True}    ${False}    ${True}
113
114 Test Is Flow 25 Added
115     f25.xml    ${True}    ${True}    ${False}    ${True}
116
117 Test Is Flow 31 Added
118     f31.xml    ${True}    ${True}    ${False}    ${True}
119
120 Test Is Flow 36 Added
121     f36.xml    ${True}    ${True}    ${False}    ${True}
122
123 Test Is Flow 38 Added
124     f38.xml    ${True}    ${True}    ${False}    ${True}
125
126 Test Is Flow 43 Added
127     f43.xml    ${True}    ${True}    ${False}    ${True}
128
129 Test Is Flow 45 Added
130     f45.xml    ${True}    ${True}    ${False}    ${True}
131
132 Test Is Flow 101 Added
133     f101.xml    ${True}    ${True}    ${False}    ${True}
134
135 Test Is Flow 102 Added
136     f102.xml    ${True}    ${True}    ${False}    ${True}
137
138 Test Is Flow 103 Added
139     f103.xml    ${True}    ${True}    ${False}    ${True}
140
141 Test Is Flow 104 Added
142     f104.xml    ${True}    ${True}    ${False}    ${True}
143
144 Test Is Flow 105 Added
145     f105.xml    ${True}    ${True}    ${False}    ${True}
146
147 Test Is Flow 106 Added
148     f106.xml    ${True}    ${True}    ${False}    ${True}
149
150 Test Is Flow 107 Added
151     f107.xml    ${True}    ${True}    ${False}    ${True}
152
153 Test Is Flow 108 Added
154     f108.xml    ${True}    ${True}    ${False}    ${True}
155
156 Test Is Flow 109 Added
157     f109.xml    ${True}    ${True}    ${False}    ${True}
158
159 Test Is Flow 110 Added
160     f110.xml    ${True}    ${True}    ${False}    ${True}
161
162 Test Is Flow 113 Added
163     f113.xml    ${True}    ${True}    ${False}    ${True}
164
165 Test Is Flow 156 Added
166     f156.xml    ${True}    ${True}    ${False}    ${True}
167
168 Test Is Flow 201 Added
169     f201.xml    ${True}    ${True}    ${False}    ${True}
170
171 Test Is Flow 202 Added
172     f202.xml    ${True}    ${True}    ${False}    ${True}
173
174 Test Is Flow 203 Added
175     f203.xml    ${True}    ${True}    ${False}    ${True}
176
177 Test Is Flow 204 Added
178     f204.xml    ${True}    ${True}    ${False}    ${True}
179
180 Test Is Flow 205 Added
181     f205.xml    ${True}    ${True}    ${False}    ${True}
182
183 Test Is Flow 206 Added
184     f206.xml    ${True}    ${True}    ${False}    ${True}
185
186 Test Is Flow 209 Added
187     f209.xml    ${True}    ${True}    ${False}    ${True}
188
189 Test Is Flow 214 Added
190     f214.xml    ${True}    ${True}    ${False}    ${True}
191
192 Test Is Flow 218 Added
193     f218.xml    ${True}    ${True}    ${False}    ${True}
194
195 Test Is Flow 219 Added
196     f219.xml    ${True}    ${True}    ${False}    ${True}
197
198 Test Is Flow 220 Added
199     f220.xml    ${True}    ${True}    ${False}    ${True}
200
201 Test Is Flow 221 Added
202     f221.xml    ${True}    ${True}    ${False}    ${True}
203
204 Test Is Flow 222 Added
205     f222.xml    ${True}    ${True}    ${False}    ${True}
206
207 Test Is Flow 223 Added
208     f223.xml    ${True}    ${True}    ${False}    ${True}
209
210 Test Is Flow 224 Added
211     f224.xml    ${True}    ${True}    ${False}    ${True}
212
213 Test Is Flow 225 Added
214     f225.xml    ${True}    ${True}    ${False}    ${True}
215
216 Test Is Flow 550 Added
217     f550.xml    ${True}    ${True}    ${False}    ${True}
218
219 Test Update Flows Group 0
220     [Documentation]    Update all flows and waits for SM to collect data
221     [Template]    NONE
222     FOR    ${flowfile}    IN    @{flowlist0}
223         Log    ${flowfile}
224         Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
225         Run Keyword And Continue On Failure    Update Flow Via Restconf    ${switch_idx}    ${table_id}    ${flow_id}    ${upddata}
226         # Lets wait for ofp to collect stats
227     END
228     Sleep    ${flow_update_time}
229     # Show switch content (for debug purposes if needed)
230     Write    dpctl dump-flows -O OpenFlow13
231     Read Until    mininet>
232
233 Test Is Flow 1 Updated
234     f1.xml    ${True}    ${True}    ${True}    ${True}
235
236 Test Is Flow 2 Updated
237     f2.xml    ${True}    ${True}    ${True}    ${True}
238
239 Test Is Flow 3 Updated
240     f3.xml    ${True}    ${True}    ${True}    ${True}
241
242 Test Is Flow 4 Updated
243     f4.xml    ${True}    ${True}    ${True}    ${True}
244
245 Test Is Flow 5 Updated
246     f5.xml    ${True}    ${True}    ${True}    ${True}
247
248 Test Is Flow 6 Updated
249     f6.xml    ${True}    ${True}    ${True}    ${True}
250
251 Test Is Flow 7 Updated
252     f7.xml    ${True}    ${True}    ${True}    ${True}
253
254 Test Is Flow 8 Updated
255     f8.xml    ${True}    ${True}    ${True}    ${True}
256
257 Test Is Flow 9 Updated
258     f9.xml    ${True}    ${True}    ${True}    ${True}
259
260 Test Is Flow 10 Updated
261     f10.xml    ${True}    ${True}    ${True}    ${True}
262
263 Test Is Flow 11 Updated
264     f11.xml    ${True}    ${True}    ${True}    ${True}
265
266 Test Is Flow 14 Updated
267     f14.xml    ${True}    ${True}    ${True}    ${True}
268
269 Test Is Flow 15 Updated
270     f15.xml    ${True}    ${True}    ${True}    ${True}
271
272 Test Is Flow 16 Updated
273     f16.xml    ${True}    ${True}    ${True}    ${True}
274
275 Test Is Flow 17 Updated
276     f17.xml    ${True}    ${True}    ${True}    ${True}
277
278 Test Is Flow 18 Updated
279     f18.xml    ${True}    ${True}    ${True}    ${True}
280
281 Test Is Flow 19 Updated
282     f19.xml    ${True}    ${True}    ${True}    ${True}
283
284 Test Is Flow 20 Updated
285     f20.xml    ${True}    ${True}    ${True}    ${True}
286
287 Test Is Flow 21 Updated
288     f21.xml    ${True}    ${True}    ${True}    ${True}
289
290 Test Is Flow 22 Updated
291     f22.xml    ${True}    ${True}    ${True}    ${True}
292
293 Test Is Flow 23 Updated
294     f23.xml    ${True}    ${True}    ${True}    ${True}
295
296 Test Is Flow 24 Updated
297     f24.xml    ${True}    ${True}    ${True}    ${True}
298
299 Test Is Flow 25 Updated
300     f25.xml    ${True}    ${True}    ${True}    ${True}
301
302 Test Is Flow 31 Updated
303     f31.xml    ${True}    ${True}    ${True}    ${True}
304
305 Test Is Flow 36 Updated
306     f36.xml    ${True}    ${True}    ${True}    ${True}
307
308 Test Is Flow 38 Updated
309     f38.xml    ${True}    ${True}    ${True}    ${True}
310
311 Test Is Flow 43 Updated
312     f43.xml    ${True}    ${True}    ${True}    ${True}
313
314 Test Is Flow 45 Updated
315     f45.xml    ${True}    ${True}    ${True}    ${True}
316
317 Test Is Flow 101 Updated
318     f101.xml    ${True}    ${True}    ${True}    ${True}
319
320 Test Is Flow 102 Updated
321     f102.xml    ${True}    ${True}    ${True}    ${True}
322
323 Test Is Flow 103 Updated
324     f103.xml    ${True}    ${True}    ${True}    ${True}
325
326 Test Is Flow 104 Updated
327     f104.xml    ${True}    ${True}    ${True}    ${True}
328
329 Test Is Flow 105 Updated
330     f105.xml    ${True}    ${True}    ${True}    ${True}
331
332 Test Is Flow 106 Updated
333     f106.xml    ${True}    ${True}    ${True}    ${True}
334
335 Test Is Flow 107 Updated
336     f107.xml    ${True}    ${True}    ${True}    ${True}
337
338 Test Is Flow 108 Updated
339     f108.xml    ${True}    ${True}    ${True}    ${True}
340
341 Test Is Flow 109 Updated
342     f109.xml    ${True}    ${True}    ${True}    ${True}
343
344 Test Is Flow 110 Updated
345     f110.xml    ${True}    ${True}    ${True}    ${True}
346
347 Test Is Flow 113 Updated
348     f113.xml    ${True}    ${True}    ${True}    ${True}
349
350 Test Is Flow 156 Updated
351     f156.xml    ${True}    ${True}    ${True}    ${True}
352
353 Test Is Flow 201 Updated
354     f201.xml    ${True}    ${True}    ${True}    ${True}
355
356 Test Is Flow 202 Updated
357     f202.xml    ${True}    ${True}    ${True}    ${True}
358
359 Test Is Flow 203 Updated
360     f203.xml    ${True}    ${True}    ${True}    ${True}
361
362 Test Is Flow 204 Updated
363     f204.xml    ${True}    ${True}    ${True}    ${True}
364
365 Test Is Flow 205 Updated
366     f205.xml    ${True}    ${True}    ${True}    ${True}
367
368 Test Is Flow 206 Updated
369     f206.xml    ${True}    ${True}    ${True}    ${True}
370
371 Test Is Flow 209 Updated
372     f209.xml    ${True}    ${True}    ${True}    ${True}
373
374 Test Is Flow 214 Updated
375     f214.xml    ${True}    ${True}    ${True}    ${True}
376
377 Test Is Flow 218 Updated
378     f218.xml    ${True}    ${True}    ${True}    ${True}
379
380 Test Is Flow 219 Updated
381     f219.xml    ${True}    ${True}    ${True}    ${True}
382
383 Test Is Flow 220 Updated
384     f220.xml    ${True}    ${True}    ${True}    ${True}
385
386 Test Is Flow 221 Updated
387     f221.xml    ${True}    ${True}    ${True}    ${True}
388
389 Test Is Flow 222 Updated
390     f222.xml    ${True}    ${True}    ${True}    ${True}
391
392 Test Is Flow 223 Updated
393     f223.xml    ${True}    ${True}    ${True}    ${True}
394
395 Test Is Flow 224 Updated
396     f224.xml    ${True}    ${True}    ${True}    ${True}
397
398 Test Is Flow 225 Updated
399     f225.xml    ${True}    ${True}    ${True}    ${True}
400
401 Test Is Flow 550 Updated
402     f550.xml    ${True}    ${True}    ${True}    ${True}
403
404 Test Delete Flows Group 0
405     [Documentation]    Delete all flows and waits for SM to collect data
406     [Template]    NONE
407     FOR    ${flowfile}    IN    @{flowlist0}
408         Log    ${flowfile}
409         Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
410         Run Keyword And Continue On Failure    Delete Flow Via Restconf    ${switch_idx}    ${table_id}    ${flow_id}
411         # Lets wait for ofp to collect stats
412     END
413     Sleep    ${flow_update_time}
414     # Show switch content (for debug purposes if needed)
415     Write    dpctl dump-flows -O OpenFlow13
416     Read Until    mininet>
417
418 Test Is Flow 1 Deleted
419     f1.xml    ${False}    ${False}    ${True}
420
421 Test Is Flow 2 Deleted
422     f2.xml    ${False}    ${False}    ${True}
423
424 Test Is Flow 3 Deleted
425     f3.xml    ${False}    ${False}    ${True}
426
427 Test Is Flow 4 Deleted
428     f4.xml    ${False}    ${False}    ${True}
429
430 Test Is Flow 5 Deleted
431     f5.xml    ${False}    ${False}    ${True}
432
433 Test Is Flow 6 Deleted
434     f6.xml    ${False}    ${False}    ${True}
435
436 Test Is Flow 7 Deleted
437     f7.xml    ${False}    ${False}    ${True}
438
439 Test Is Flow 8 Deleted
440     f8.xml    ${False}    ${False}    ${True}
441
442 Test Is Flow 9 Deleted
443     f9.xml    ${False}    ${False}    ${True}
444
445 Test Is Flow 10 Deleted
446     f10.xml    ${False}    ${False}    ${True}
447
448 Test Is Flow 11 Deleted
449     f11.xml    ${False}    ${False}    ${True}
450
451 Test Is Flow 14 Deleted
452     f14.xml    ${False}    ${False}    ${True}
453
454 Test Is Flow 15 Deleted
455     f15.xml    ${False}    ${False}    ${True}
456
457 Test Is Flow 16 Deleted
458     f16.xml    ${False}    ${False}    ${True}
459
460 Test Is Flow 17 Deleted
461     f17.xml    ${False}    ${False}    ${True}
462
463 Test Is Flow 18 Deleted
464     f18.xml    ${False}    ${False}    ${True}
465
466 Test Is Flow 19 Deleted
467     f19.xml    ${False}    ${False}    ${True}
468
469 Test Is Flow 20 Deleted
470     f20.xml    ${False}    ${False}    ${True}
471
472 Test Is Flow 21 Deleted
473     f21.xml    ${False}    ${False}    ${True}
474
475 Test Is Flow 22 Deleted
476     f22.xml    ${False}    ${False}    ${True}
477
478 Test Is Flow 23 Deleted
479     f23.xml    ${False}    ${False}    ${True}
480
481 Test Is Flow 24 Deleted
482     f24.xml    ${False}    ${False}    ${True}
483
484 Test Is Flow 25 Deleted
485     f25.xml    ${False}    ${False}    ${True}
486
487 Test Is Flow 31 Deleted
488     f31.xml    ${False}    ${False}    ${True}
489
490 Test Is Flow 36 Deleted
491     f36.xml    ${False}    ${False}    ${True}
492
493 Test Is Flow 38 Deleted
494     f38.xml    ${False}    ${False}    ${True}
495
496 Test Is Flow 43 Deleted
497     f43.xml    ${False}    ${False}    ${True}
498
499 Test Is Flow 45 Deleted
500     f45.xml    ${False}    ${False}    ${True}
501
502 Test Is Flow 101 Deleted
503     f101.xml    ${False}    ${False}    ${True}
504
505 Test Is Flow 102 Deleted
506     f102.xml    ${False}    ${False}    ${True}
507
508 Test Is Flow 103 Deleted
509     f103.xml    ${False}    ${False}    ${True}
510
511 Test Is Flow 104 Deleted
512     f104.xml    ${False}    ${False}    ${True}
513
514 Test Is Flow 105 Deleted
515     f105.xml    ${False}    ${False}    ${True}
516
517 Test Is Flow 106 Deleted
518     f106.xml    ${False}    ${False}    ${True}
519
520 Test Is Flow 107 Deleted
521     f107.xml    ${False}    ${False}    ${True}
522
523 Test Is Flow 108 Deleted
524     f108.xml    ${False}    ${False}    ${True}
525
526 Test Is Flow 109 Deleted
527     f109.xml    ${False}    ${False}    ${True}
528
529 Test Is Flow 110 Deleted
530     f110.xml    ${False}    ${False}    ${True}
531
532 Test Is Flow 113 Deleted
533     f113.xml    ${False}    ${False}    ${True}
534
535 Test Is Flow 156 Deleted
536     f156.xml    ${False}    ${False}    ${True}
537
538 Test Is Flow 201 Deleted
539     f201.xml    ${False}    ${False}    ${True}
540
541 Test Is Flow 202 Deleted
542     f202.xml    ${False}    ${False}    ${True}
543
544 Test Is Flow 203 Deleted
545     f203.xml    ${False}    ${False}    ${True}
546
547 Test Is Flow 204 Deleted
548     f204.xml    ${False}    ${False}    ${True}
549
550 Test Is Flow 205 Deleted
551     f205.xml    ${False}    ${False}    ${True}
552
553 Test Is Flow 206 Deleted
554     f206.xml    ${False}    ${False}    ${True}
555
556 Test Is Flow 209 Deleted
557     f209.xml    ${False}    ${False}    ${True}
558
559 Test Is Flow 214 Deleted
560     f214.xml    ${False}    ${False}    ${True}
561
562 Test Is Flow 218 Deleted
563     f218.xml    ${False}    ${False}    ${True}
564
565 Test Is Flow 219 Deleted
566     f219.xml    ${False}    ${False}    ${True}
567
568 Test Is Flow 220 Deleted
569     f220.xml    ${False}    ${False}    ${True}
570
571 Test Is Flow 221 Deleted
572     f221.xml    ${False}    ${False}    ${True}
573
574 Test Is Flow 222 Deleted
575     f222.xml    ${False}    ${False}    ${True}
576
577 Test Is Flow 223 Deleted
578     f223.xml    ${False}    ${False}    ${True}
579
580 Test Is Flow 224 Deleted
581     f224.xml    ${False}    ${False}    ${True}
582
583 Test Is Flow 225 Deleted
584     f225.xml    ${False}    ${False}    ${True}
585
586 Test Is Flow 550 Deleted
587     f550.xml    ${False}    ${False}    ${True}
588
589 *** Keywords ***
590 Initialization Phase
591     [Documentation]    Initiate tcp connection with controller
592     Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
593     BuiltIn.Wait Until Keyword Succeeds    10x    1s    FlowLib.Check Switches In Inventory    ${1}
594     Write    dpctl dump-flows -O OpenFlow13
595     Read Until    mininet>