Add suite testing IoTDM plugin infrastructure
[integration/test.git] / csit / suites / iotdm / basic / 200_IoTDMInfraPlugins.robot
1 *** Settings ***
2 Documentation     Test suite testing IoTDM PluginManager RPC calls registrations of default plugins and
3 ...               communication channels and re-configuration of port of registered plugins
4 Suite Setup       Setup Suite
5 Suite Teardown    Teardown Suite
6 Resource          ../../../variables/Variables.robot
7 Resource          ../../../libraries/ClusterManagement.robot
8 Resource          ../../../libraries/TemplatedRequests.robot
9
10 *** Variables ***
11 ${VAR_BASE}       ${CURDIR}/../../../variables/IoTDM/
12 # TODO 500 seems to be a bug in ODL, remove when solved
13 @{NEGATIVE_RESULTS}    ${500}    ${400}
14
15 *** Test Cases ***
16 1.00 Default result of onem2m-plugin-manager-plugin-data RPC
17     [Documentation]    Verifies the result of RPC and looks for data items related to:
18     ...    HTTP, CoAP, MQTT, WS and Onem2mExample
19     BuiltIn.Wait_Until_Keyword_Succeeds    15 sec    1 sec    Verify Default PluginData Output
20
21 1.01 Plugin data of HTTP - filtered
22     [Documentation]    Verifies all plugin data about HTTP provider module plugin
23     Verify RPC Plugin Data    http/filtered
24
25 1.02 Plugin data of CoAP - filtered
26     [Documentation]    Verifies all plugin data about CoAP provider module plugin
27     Verify RPC Plugin Data    coap/filtered
28
29 1.03 Plugin data of MQTT - filtered
30     [Documentation]    Verifies all plugin data about MQTT provider module plugin
31     Verify RPC Plugin Data    mqtt/filtered
32
33 1.04 Plugin data of WS - filtered
34     [Documentation]    Verifies all plugin data about WS provider module plugin
35     Verify RPC Plugin Data    ws/filtered
36
37 1.05 Plugin data of Onem2mExample - filtered
38     [Documentation]    Verifies all plugin data about Onem2mExample provider module plugin
39     Verify RPC Plugin Data    onem2m_example/filtered
40
41 1.06 Plugin data of TSDR - filtered
42     [Documentation]    Verifies all plugin data about Onem2mExample provider module plugin
43     Verify RPC Plugin Data    tsdr/filtered
44
45 1.07 Plugin data of SimpleAdapter - filtered
46     [Documentation]    Verifies all plugin data about Onem2mExample provider module plugin
47     Verify RPC Plugin Data    simple_adapter/filtered
48
49 2.00.01 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC - HTTP
50     [Documentation]    Verifies if the result of the RPC contains correct data about HTTP
51     Verify RPC Plugin Registrations    http/default
52
53 2.00.02 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC - CoAP
54     [Documentation]    Verifies if the result of the RPC contains correct data about CoAP
55     Verify RPC Plugin Registrations    coap/default
56
57 2.00.03 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC - MQTT
58     [Documentation]    Verifies if the result of the RPC contains correct data about MQTT
59     Verify RPC Plugin Registrations    mqtt/default
60
61 2.00.04 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC - WS
62     [Documentation]    Verifies if the result of the RPC contains correct data about ws
63     Verify RPC Plugin Registrations    ws/default
64
65 2.00.05 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC - Onem2mExample
66     [Documentation]    Verifies if the result of the RPC contains correct data about Onem2mExample
67     Verify RPC Plugin Registrations    onem2m_example/default
68
69 2.01.01 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC filtered - HTTP
70     [Documentation]    Verifies if the result of the RPC with input filter contains correct data about HTTP only
71     Verify RPC Plugin Registrations    http/filtered
72
73 2.01.02 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC filtered - CoAP
74     [Documentation]    Verifies if the result of the RPC with input filter contains correct data about CoAP only
75     Verify RPC Plugin Registrations    coap/filtered
76
77 2.01.03 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC filtered - MQTT
78     [Documentation]    Verifies if the result of the RPC with input filter contains correct data about MQTT only
79     Verify RPC Plugin Registrations    mqtt/filtered
80
81 2.01.04 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC filtered - WS
82     [Documentation]    Verifies if the result of the RPC with input filter contains correct data about WS only
83     Verify RPC Plugin Registrations    ws/filtered
84
85 2.01.05 Default result of onem2m-plugin-manager-iotdm-plugin-registrations RPC filtered - Onem2mExample
86     [Documentation]    Verifies if the result of the RPC with input filter contains correct data about Onem2mExample only
87     Verify RPC Plugin Registrations    onem2m_example/filtered
88
89 3.00.01 Default result of onem2m-plugin-manager-db-api-client-registrations RPC - Onem2mExample
90     [Documentation]    Verifies the result of RPC and looks for Onem2mExample registration
91     Verify RPC Db Registrations    onem2m_example/filtered
92
93 3.00.02 Default result of onem2m-plugin-manager-db-api-client-registrations RPC - TSDR
94     [Documentation]    Verifies the result of RPC and looks for TSDR registration
95     Verify RPC Db Registrations    tsdr/default
96
97 3.00.03 Default result of onem2m-plugin-manager-db-api-client-registrations RPC - SimpleAdapter
98     [Documentation]    Verifies the result of RPC and looks for SimpleAdapter registration
99     Verify RPC Db Registrations    simple_adapter/default
100
101 3.01.00 Default result of onem2m-plugin-manager-db-api-client-registrations RPC - filtered Onem2mExample
102     [Documentation]    Verifies result of RPC with input filter for Onem2mExample
103     Verify RPC Db Registrations    onem2m_example/filtered
104
105 3.01.01 Default result of onem2m-plugin-manager-db-api-client-registrations RPC - filtered TSDR
106     [Documentation]    Verifies result of RPC with input filter for TSDR
107     Verify RPC Db Registrations    tsdr/filtered
108
109 3.01.02 Default result of onem2m-plugin-manager-db-api-client-registrations RPC - filtered SimpleAdapter
110     [Documentation]    Verifies result of RPC with input filter for SimpleAdapter
111     Verify RPC Db Registrations    simple_adapter/filtered
112
113 4.00.01 Default result of onem2m-plugin-manager-simple-config-client-registrations RPC - Onem2mExample
114     [Documentation]    Verifies the result of RPC and looks for Onem2mExample registration
115     Verify RPC Positive    simple_config_registrations/default
116
117 4.00.02 Default result of onem2m-plugin-manager-simple-config-client-registrations RPC - filtered Onem2mExample
118     [Documentation]    Verifies the result of RPC with input filter and looks for Onem2mExample registration only
119     Verify RPC Positive    simple_config_registrations/filtered
120
121 5.00.01 Default Communication channel for HTTP plugin
122     [Documentation]    Verifies the default instance of HTTP communication channel for HTTP provider
123     Verify RPC Comm Channels    http/default
124
125 5.00.02 Default Communication channel for CoAP plugin
126     [Documentation]    Verifies the default instance of CoAP communication channel for CoAP provider
127     Verify RPC Comm Channels    coap/default
128
129 5.00.03 Default Communication channel for MQTT plugin
130     [Documentation]    Verifies the default instance of MQTT communication channel for MQTT provider
131     Verify RPC Comm Channels    mqtt/default
132
133 5.00.04 Default Communication channel for WS plugin
134     [Documentation]    Verifies the default instance of WS communication channel for WS provider
135     Verify RPC Comm Channels    ws/default
136
137 5.00.05 Default Communication channel for Onem2mExample plugin
138     [Documentation]    Verifies the default instance of HTTP communication channel for Onem2mExample plugin
139     Verify RPC Comm Channels    onem2m_example/default
140
141 5.01.01 Default Communication channel for HTTP plugin - filtered
142     [Documentation]    Verifies the default instances of HTTP communication channel for HTTP provider using RPC with input filter
143     Verify RPC Comm Channels    http/filtered
144
145 5.01.02 Default Communication channel for CoAP plugin - filtered
146     [Documentation]    Verifies the default instance of CoAP communication channel for CoAP provider using RPC with input filter
147     Verify RPC Comm Channels    coap/filtered
148
149 5.01.03 Default Communication channel for MQTT plugin - filtered
150     [Documentation]    Verifies the default instance of MQTT communication channel for MQTT provider using RPC with input filter
151     Verify RPC Comm Channels    mqtt/filtered
152
153 5.01.04 Default Communication channel for WS plugin - filtered
154     [Documentation]    Verifies the default instance of WS communication channel for WS provider using RPC with input filter
155     Verify RPC Comm Channels    ws/filtered
156
157 5.01.05 Default Communication channel for Onem2mExample plugin - filtered
158     [Documentation]    Verifies the default instance of HTTP communication channel for Onem2mExample plugin using RPC with input filter
159     Verify RPC Comm Channels    onem2m_example/filtered
160
161 6.00.01 Change port number of HTTP provider plugin
162     [Documentation]    Configures new port number for HTTP provider module and verifies
163     TemplatedRequests.Put_As_Json_Templated    folder=${VAR_BASE}/put_http/change_port    verify=True
164     TemplatedRequests.Get_As_Json_Templated    folder=${VAR_BASE}/get_http    verify=True
165     Verify PluginData After Reconfiguration of HTTP
166
167 6.00.02 Check HTTP communication using new port
168     [Documentation]    Sends GET request to the new port and verifies if it is possible to use the new configured port
169     ...    for HTTP communication and verifies also if the old port is not opened for HTTP communication.
170     [Tags]    not-implemented    exclude
171     TODO
172
173 6.01.01 Change port number of CoAP provider plugin
174     [Documentation]    Configures new port number for CoAP provider module and verifies
175     TemplatedRequests.Put_As_Json_Templated    folder=${VAR_BASE}/put_coap/change_port    verify=True
176     TemplatedRequests.Get_As_Json_Templated    folder=${VAR_BASE}/get_coap    verify=True
177     Verify PluginData After Reconfiguration of CoAP
178
179 6.01.02 Check CoAP communication using new port
180     [Documentation]    Sends GET request to the new port and verifies if it is possible to use the new configured port
181     ...    for CoAP communication and verifies also if the old port is not opened for CoAP communication.
182     [Tags]    not-implemented    exclude
183     TODO
184
185 6.02.00 Setup MQTT communication
186     [Documentation]    MQTT communication is not configured by default. This TC turns it ON and verifies.
187     [Tags]    not-implemented    exclude
188     #TemplatedRequests.Put_As_Json_Templated    folder=${VAR_BASE}/put_mqtt    verify=True
189     #TODO: this will not work because we need to have MQTT broker provisioned in cluster
190     #TODO: this needs to be solved with releng team
191     TODO
192
193 6.02.01 Change port number of MQTT provider plugin
194     [Documentation]    Configures new port number for MQTT provider module and verifies
195     [Tags]    not-implemented    exclude
196     #TemplatedRequests.Put_As_Json_Templated    folder=${VAR_BASE}/put_mqtt/change_port    verify=True
197     #TemplatedRequests.Get_As_Json_Templated    folder=${VAR_BASE}/get_mqtt    verify=True
198     #Verify PluginData After Reconfiguration of MQTT
199     #TODO: this will not work because we need to have MQTT broker provisioned in cluster
200     #TODO: this needs to be solved with releng team
201     TODO
202
203 6.02.02 Check MQTT communication using new port
204     [Documentation]    Sends GET request to the new port and verifies if it is possible to use the new configured port
205     ...    for MQTT communication and verifies also if the old port is not opened for MQTT communication.
206     [Tags]    not-implemented    exclude
207     #TODO: this will not work because we need to have MQTT broker provisioned in cluster
208     #TODO: this needs to be solved with releng team
209     TODO
210
211 6.03.01 Change port number of WS provider plugin
212     [Documentation]    Configures new port number for WS provider module and verifies
213     [Tags]    not-implemented    exclude
214     #todo check current configuration of ws if the feature is added to IoTDM project as in 6.01
215     TODO
216
217 6.03.02 Check WS communication using new port
218     [Documentation]    Sends GET request to the new port and verifies if it is possible to use the new configured port
219     ...    for WS communication and verifies also if the old port is not opened for WS communication.
220     [Tags]    not-implemented    exclude
221     TODO
222
223 6.04 Change port number of Onem2mExample provider plugin
224     [Documentation]    Configures new port number for Onem2mExample module using SimpleConfig and verifies
225     Verify RPC Positive    put_onem2m_example/change_port
226     Verify RPC Positive    get_onem2m_example
227     Verify PluginData After Reconfiguration of Onem2mExample
228
229 6.05 Restart IoTDM and verify configuration of all plugins
230     [Documentation]    Restarts IoTDM and verifies if the modules still uses new configuration
231     [Tags]    persistence
232     Restart Cluster
233     BuiltIn.Wait_Until_Keyword_Succeeds    60 sec    1 sec    Verify PluginData After Reconfiguration of All Modules
234     #todo change for ws port in ${VAR_BASE}/plugin_data/changed_data when feature is added to IoTDM project
235
236 6.06 Revert Configurations of all plugins
237     [Documentation]    Reverts configuration of all re-configured plugins back to default state
238     TemplatedRequests.Delete_Templated    folder=${VAR_BASE}/put_http/change_port
239     TemplatedRequests.Delete_Templated    folder=${VAR_BASE}/put_coap/change_port
240     #TODO revert also MQTT when issues solved
241     #    TemplatedRequests.Delete_Templated    folder=${VAR_BASE}/put_mqtt/change_port
242     #TODO revert for ws when feature is added to IoTDM project
243     #    TemplatedRequests.Delete_Templated    folder=${VAR_BASE}/put_ws/change_port
244     # Calls RPC for configuration delete
245     Verify RPC Positive    put_onem2m_example
246
247 7.00 Test missing configuration of HTTP provider module
248     [Documentation]    Tests multiple cases of missing mandatory configuration items of HTTP provider module
249     Verify RPC Negative TC    http_cfg/missing_sec_level
250     Verify RPC Negative TC    http_cfg/missing_sec_conn
251     Verify RPC Negative TC    http_cfg/missing_server_port
252
253 7.01 Test invalid values in configuration of HTTP provider module
254     [Documentation]    Tests multiple cases of invalid values set in configuration of HTTP provider module
255     Verify RPC Negative TC    http_cfg/invalid_server_port
256     Verify RPC Negative TC    http_cfg/invalid_sec_level
257     Verify RPC Negative TC    http_cfg/invalid_sec_conn
258
259 7.02 Test missing configuration of CoAP provider module
260     [Documentation]    Tests multiple cases of missing mandatory configuration items of CoAP provider module
261     Verify RPC Negative TC    coap_cfg/missing_sec_level
262     Verify RPC Negative TC    coap_cfg/missing_sec_conn
263     Verify RPC Negative TC    coap_cfg/missing_server_port
264
265 7.03 Test invalid values in configuration of CoAP provider module
266     [Documentation]    Tests multiple cases of invalid values set in configuration of CoAP provider module
267     Verify RPC Negative TC    coap_cfg/invalid_server_port
268     Verify RPC Negative TC    coap_cfg/invalid_sec_level
269     Verify RPC Negative TC    coap_cfg/invalid_sec_conn
270
271 7.04 Test missing configuration of MQTT provider module
272     [Documentation]    Tests multiple cases of missing mandatory configuration items of MQTT provider module
273     Verify RPC Negative TC    mqtt_cfg/missing_mqtt_broker_ip
274     Verify RPC Negative TC    mqtt_cfg/missing_mqtt_broker_port
275     Verify RPC Negative TC    mqtt_cfg/missing_sec_level
276
277 7.05 Test invalid values in configuration of MQTT provider module
278     [Documentation]    Tests multiple cases of invalid values set in configuration of MQTT provider module
279     Verify RPC Negative TC    mqtt_cfg/invalid_mqtt_broker_ip
280     Verify RPC Negative TC    mqtt_cfg/invalid_sec_level
281     Verify RPC Negative TC    mqtt_cfg/invalid_mqtt_broker_port
282
283 7.06 Test missing configuration of WS provider module
284     [Documentation]    Tests multiple cases of missing mandatory configuration items of WS provider module
285     [Tags]    not-implemented    exclude
286     #todo check missing configuration of ws if the feature is added to IoTDM project as in 7.00
287     TODO
288
289 7.07 Test invalid values in configuration of WS provider module
290     [Documentation]    Tests multiple cases of invalid values set in configuration of WS provider module
291     [Tags]    not-implemented    exclude
292     #todo check invalid configuration of ws if the feature is added to IoTDM project as in 7.01
293     TODO
294
295 7.08 Test conflicting configuration handling for HTTP
296     [Documentation]    Tests configuration of TCP port number for HTTP provider module.
297     ...    The new configuration conflicts with configurtion of Onem2mExample plugin module.
298     [Tags]    not-implemented    exclude
299     #NOTE: the conflicting configuration results with 200 all the times beacuse the init() method of the module
300     # is called asynchronously later and if it fails it's just logged and bundle init has failed...
301     # so we can check registration in plugin manager
302     # TODO: But it just says that there is not expected registration so we need to implement some registry of
303     # TODO: registration failures and provide RPCs to list registration errors and clear registration errors
304     # TODO: Improvement task opened: Bug 7771 - Implementation of registry of errors and related RPCs for PluginManager
305     TODO
306
307 7.09 Test conflicting configuration handling for MQTT
308     [Documentation]    Tests configuration of TCP port number for MQTT provider module.
309     [Tags]    not-implemented    exclude
310     # TODO: Improvement task opened: Bug 7771
311     TODO
312
313 7.10 Test conflicting configuration handling for WS
314     [Documentation]    Tests configuration of TCP port number for WS provider module.
315     [Tags]    not-implemented    exclude
316     # TODO: Improvement task opened: Bug 7771
317     TODO
318
319 7.11 Test conflicting configuration handling for Onem2mExample
320     [Documentation]    Tests configuration of TCP port number for Onem2mExample provider module.
321     [Tags]    not-implemented    exclude
322     # TODO: Improvement task opened: Bug 7771
323     TODO
324
325 7.12 Test conflicting configuration handling for Coap
326     [Documentation]    Tests configuration of TCP port number for Coap provider module.
327     [Tags]    not-implemented    exclude
328     # TODO: Improvement task opened: Bug 7771
329     TODO
330
331 8.00 Test default configuration in onem2m-core
332     [Documentation]    Tests usage of default configuration for IoTDM plugins
333     [Tags]    not-implemented    exclude
334     TODO
335
336 9.00 Test onem2m-simple-config:iplugin-cfg-get doesn`t contain anything in key-val-list
337     [Documentation]    Verify if key-val-list doesn`t exist
338     Verify RPC Simple Config    get_default
339
340 9.01 Test onem2m-simple-config:iplugin-cfg-put to add values to IoTDM SimpleConfig
341     [Documentation]    Adds multiple values to Simple config
342     Verify RPC Simple Config    put
343
344 9.02 Test onem2m-simple-config:iplugin-cfg-get contains values that were set
345     [Documentation]    Tests if SimpleConfig contains added values
346     Verify RPC Simple Config    get
347
348 9.03 Test onem2m-simple-config:iplugin-cfg-key-get receives single data
349     [Documentation]    Tests if SimpleConfig receive correct value
350     Verify RPC Simple Config Key    get0
351     Verify RPC Simple Config Key    get1
352
353 9.04 Test onem2m-simple-config:iplugin-cfg-key-put set single data
354     [Documentation]    Adds value to SimpleConfig using key and verify that it exists
355     Verify RPC Simple Config Key    put
356     Verify RPC Simple Config Key    put/check
357
358 9.05 Test onem2m-simple-config:iplugin-cfg-key-get-startup data
359     [Documentation]    Tests if key startup recieves correct data
360     Verify RPC Simple Config Key    startup
361
362 9.06 Test onem2m-simple-config:iplugin-cfg-key-del deletes single data
363     [Documentation]    Deletes previously added value from SimpleConfig and verify it doesn`t exist anymore
364     Verify RPC Simple Config    delete_key
365     Verify RPC Negative Simple Config    negative/get_key
366
367 9.07 Test onem2m-simple-config:iplugin-cfg-key-get-startup data does not exist
368     [Documentation]    Calls the startup rpc on key that does not exit and checks error
369     Verify RPC Negative Simple Config    negative/get_startup_key
370
371 9.08 Test onem2m-simple-config:iplugin-cfg-key-del delete not existing single data
372     [Documentation]    Try to delete not existing data and check fail
373     Verify RPC Negative Simple Config    negative/delete_key
374
375 9.09 Test onem2m-simple-config:iplugin-cfg-put to add wrong values and expect error
376     [Documentation]    Tests if SimpleConfig doesn`t allow to add values to SimpleConfig
377     Verify RPC Negative TC    simple_config/iplugin_cfg_put/non_reg_plugin    verify=${true}
378     Verify RPC Negative TC    simple_config/iplugin_cfg_put/non_reg_instance    verify=${true}
379
380 9.10 Test onem2m-simple-config:iplugin-cfg-get-startup contains expected data
381     [Documentation]    Check if startup content contains only expected data
382     Verify RPC Simple Config    get_startup
383
384 9.11 Test iplugin-cfg-get-startup-config and iplugin-cfg-get-running-config should equal
385     [Documentation]    Tests if StartupConfig and running config are the same in content
386     ${resp1} =    TemplatedRequests.Post_As_Json_Templated    folder=${VAR_BASE}/simple_config/get_startup/config    verify=True
387     ${resp2} =    TemplatedRequests.Post_As_Json_Templated    folder=${VAR_BASE}/simple_config/get_running_config    verify=True
388     Should Be Equal    ${resp1}    ${resp2}
389
390 9.12 Test onem2m-simple-config:iplugin-cfg-del to delete all the values
391     [Documentation]    Deletes previously added values from Onem2mExample plugin and verify that they are gone
392     Verify RPC Simple Config    delete_config
393     Verify RPC Simple Config    get_startup/config/default
394
395 9.13 Test IoTDM BUG 7593
396     [Documentation]    Multiple times try to delete configuration which doesn't exist.
397     ...    https://bugs.opendaylight.org/show_bug.cgi?id=7593
398     Verify RPC Negative TC    simple_config/multi_delete    verify=${true}
399     Verify RPC Negative TC    simple_config/multi_delete    verify=${true}
400     Verify RPC Negative TC    simple_config/multi_delete    verify=${true}
401
402 9.14 Test onem2m-simple-config:iplugin-cfg-del to delete empty config
403     [Documentation]    Delete of empty configuration passes without error
404     Verify RPC Simple Config    delete_config
405
406 10.01 Test input filters of onem2m-plugin-manager:onem2m-plugin-manager-iotdm-plugin-registrations
407     [Documentation]    Use all filtering inputs and all combinations of them.
408     ...    Verify that the output includes onlyt expected items or is empty because there is not such plugin in
409     ...    the system.
410     [Tags]    not-implemented    exclude
411     TODO
412
413 10.02 Test input filters of onem2m-plugin-manager:onem2m-plugin-manager-communication-channels
414     [Documentation]    Use all filtering inputs and all combinations of them.
415     ...    Verify that the output includes onlyt expected items or is empty because there is not such plugin
416     ...    or channel in the system.
417     [Tags]    not-implemented    exclude
418     TODO
419
420 10.03 Test input filters of onem2m-plugin-manager:onem2m-plugin-manager-db-api-client-registrations
421     [Documentation]    Use all filtering inputs and all combinations of them.
422     ...    Verify that the output includes onlyt expected items or is empty because there is not such plugin in
423     ...    the system.
424     [Tags]    not-implemented    exclude
425     TODO
426
427 10.04 Test input filters of onem2m-plugin-manager:onem2m-plugin-manager-simple-config-client-registrations
428     [Documentation]    Use all filtering inputs and all combinations of them.
429     ...    Verify that the output includes onlyt expected items or is empty because there is not such plugin in
430     ...    the system.
431     [Tags]    not-implemented    exclude
432     TODO
433
434 10.05 Test input filters of onem2m-plugin-manager:onem2m-plugin-manager-plugin-data
435     [Documentation]    Use all filtering inputs and all combinations of them.
436     ...    Verify that the output includes onlyt expected items or is empty because there is not such plugin in
437     ...    the system.
438     [Tags]    not-implemented    exclude
439     TODO
440
441 *** Keywords ***
442 TODO
443     Fail    "Not implemented"
444
445 Setup Suite
446     [Documentation]    Prepares suite keywords and initialize mqtt and coap
447     TemplatedRequests.Create_Default_Session
448     ClusterManagement.ClusterManagement_Setup
449
450 Teardown Suite
451     Delete all sessions
452
453 Restart Cluster
454     [Documentation]    Restart IoTDM running on remote machine
455     Log    Restarting cluster of IoTDM instances
456     ClusterManagement.Stop_Members_From_List_Or_All
457     ClusterManagement.Start_Members_From_List_Or_All
458
459 Verify Default PluginData Output
460     [Documentation]    Verifies output of RPC call onem2m-plugin-manager:onem2m-plugin-manager-plugin-data
461     ...    whether contains data about all default modules registering as plugins.
462     Verify RPC Plugin Data    http/default
463     Verify RPC Plugin Data    coap/default
464     Verify RPC Plugin Data    mqtt/default
465     Verify RPC Plugin Data    ws/default
466     Verify RPC Plugin Data    onem2m_example/default
467     Verify RPC Plugin Data    tsdr/default
468     Verify RPC Plugin Data    simple_adapter/default
469
470 Verify PluginData After Reconfiguration of HTTP
471     [Documentation]    Verifies plugin registration change after re-configuration of the plugin. Re-registration
472     ...    should be done in 15 seconds and is checked in one second interval
473     BuiltIn.Wait_Until_Keyword_Succeeds    15 sec    1 sec    Verify RPC Plugin Data    http/changed_port
474
475 Verify PluginData After Reconfiguration of CoAP
476     [Documentation]    Verifies plugin registration change after re-configuration of the plugin. Re-registration
477     ...    should be done in 15 seconds and is checked in one second interval
478     BuiltIn.Wait_Until_Keyword_Succeeds    15 sec    1 sec    Verify RPC Plugin Data    coap/changed_port
479
480 Verify PluginData After Reconfiguration of MQTT
481     [Documentation]    Verifies plugin registration change after re-configuration of the plugin. Re-registration
482     ...    should be done in 15 seconds and is checked in one second interval
483     #BuiltIn.Wait_Until_Keyword_Succeeds    15 sec    1 sec    Verify RPC Plugin Data    mqtt/changed_port
484     TODO
485
486 Verify PluginData After Reconfiguration of Onem2mExample
487     [Documentation]    Verifies plugin registration change after re-configuration of the plugin. Re-registration
488     ...    should be done immediatelly because Onem2mExample plugin uses SimpleConfig for its configuration.
489     Verify RPC Plugin Data    onem2m_example/changed_port
490
491 Verify PluginData After Reconfiguration of All Modules
492     [Documentation]    Verifies registrations of all default plugins after re-configuration.
493     Verify PluginData After Reconfiguration of HTTP
494     Verify PluginData After Reconfiguration of CoAP
495     # TODO verify also MQTT when imlemented
496     #Verify PluginData After Reconfiguration of MQTT
497     Verify PluginData After Reconfiguration of Onem2mExample
498
499 Verify RPC Positive
500     [Arguments]    ${variables_folder}
501     [Documentation]    Verifies positive RPC scenario
502     TemplatedRequests.Post_As_Json_Templated    folder=${VAR_BASE}/${variables_folder}    verify=True
503
504 Verify RPC Negative
505     [Arguments]    ${variables_folder}    ${verify}=${false}
506     [Documentation]    Verifies negative RPC scenario
507     TemplatedRequests.Post_As_Json_Templated    folder=${VAR_BASE}/${variables_folder}    verify=${verify}    explicit_status_codes=${NEGATIVE_RESULTS}
508
509 Verify RPC Plugin Data
510     [Arguments]    ${plugin_data_folder}
511     [Documentation]    Verifies positive PluginData RPC scenarios described in plugin_data variables directory
512     Verify RPC Positive    plugin_data/${plugin_data_folder}
513
514 Verify RPC Plugin Registrations
515     [Arguments]    ${plugin_reg_folder}
516     [Documentation]    Verifies positive IoTDMPluginRegistrations RPC scenarios described in iotdm_plugin_registrations variables directory
517     Verify RPC Positive    iotdm_plugin_registrations/${plugin_reg_folder}
518
519 Verify RPC Db Registrations
520     [Arguments]    ${db_reg_folder}
521     [Documentation]    Verifies positive DbRegistrations RPC scenarios described in db_registrations variables directory
522     Verify RPC Positive    db_registrations/${db_reg_folder}
523
524 Verify RPC Comm Channels
525     [Arguments]    ${comm_channel_folder}
526     [Documentation]    Verifies positive CommunicationChannels RPC scenarios described in communication_channels variables directory
527     Verify RPC Positive    communication_channels/${comm_channel_folder}
528
529 Verify RPC Negative TC
530     [Arguments]    ${negative_tc_folder}    ${verify}=${false}
531     [Documentation]    Verifies negative re-configuration TCs described in negative_tcs variables directory
532     Verify RPC Negative    negative_tcs/${negative_tc_folder}    verify=${verify}
533
534 Verify RPC Simple Config
535     [Arguments]    ${simple_config_folder}
536     [Documentation]    Verifies positive SimpleConfig RPC scenarios described in simple_config variables directory
537     Verify RPC Positive    simple_config/${simple_config_folder}
538
539 Verify RPC Negative Simple Config
540     [Arguments]    ${negative_tc_folder}    ${verify}=${false}
541     [Documentation]    Verifies negative SimpleConfig RPC scenarios described in simple_config variables directory
542     Verify RPC Negative    simple_config/${negative_tc_folder}    verify=${verify}
543
544 Verify RPC Simple Config Key
545     [Arguments]    ${simple_config_key_folder}
546     [Documentation]    Verifies positive SimpleConfig Key RPC scenarios described in simple_config_key variables directory
547     Verify RPC Positive    simple_config_key/${simple_config_key_folder}