Library OperatingSystem
Library String
Library SSHLibrary timeout=10s
+Resource ${CURDIR}/../../../libraries/CompareStream.robot
Resource ${CURDIR}/../../../libraries/FailFast.robot
Resource ${CURDIR}/../../../libraries/NetconfKeywords.robot
Resource ${CURDIR}/../../../libraries/SetupUtils.robot
*** Test Cases ***
Start_Testtool
+ [Tags] ODLMICRO_IGN
[Documentation] Deploy and start test tool, then wait for all its devices to become online.
NetconfKeywords.Install_And_Start_Testtool device-count=1 schemas=${CURDIR}/../../../variables/netconf/CRUD/schemas
Check_ODL_Has_Netconf_Connector_For_Device
[Documentation] Get the list of configured devices and search for our device there. Fail if not found.
[Tags] critical
- ${count} NetconfKeywords.Count_Netconf_Connectors_For_Device ${device_name}
- Builtin.Should_Be_Equal_As_Strings ${count} 1
+ BuiltIn.Wait_Until_Keyword_Succeeds 5 sec 1 sec Count_Netconf_Connectors
Wait_For_Device_To_Become_Connected
[Documentation] Wait until the device becomes available through Netconf.
Check_Device_Data_Is_Empty
[Documentation] Get the device data and make sure it is empty.
- Check_Config_Data <data xmlns="${ODL_NETCONF_NAMESPACE}"></data>
+ Run_Keyword_If_Less_Than_Neon Check_Config_Data <data xmlns\="${ODL_NETCONF_NAMESPACE}"></data>
+ Run_Keyword_If_At_Least_Neon Check_Config_Data <data xmlns\="${ODL_NETCONF_NAMESPACE}"/>
Create_Device_Data_Label_Via_Xml
[Documentation] Send a sample test data label into the device and check that the request went OK.
- ${template_as_string}= BuiltIn.Set_Variable {'DEVICE_NAME': '${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_template_folders}${/}dataorig ${template_as_string}
Check_Device_Data_Label_Is_Created
Modify_Device_Data_Label_Via_Xml
[Documentation] Send a request to change the sample test data label and check that the request went OK.
- ${template_as_string}= BuiltIn.Set_Variable {'DEVICE_NAME': '${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
TemplatedRequests.Put_As_Xml_Templated ${directory_with_template_folders}${/}datamod1 ${template_as_string}
Check_Device_Data_Label_Is_Modified
Modify_Device_Data_Again
[Documentation] Send a request to change the sample test data and check that the request went OK.
- ${template_as_string}= BuiltIn.Set_Variable {'DEVICE_NAME': '${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
TemplatedRequests.Put_As_Xml_Templated ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}datamod2 ${template_as_string}
Check_Device_Data_Is_Modified_Again
Modify_Device_Data_Label_Via_Json
[Documentation] Send a JSON request to change the sample test data label and check that the request went OK.
- ${template_as_string}= BuiltIn.Set_Variable {'DEVICE_NAME': '${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
TemplatedRequests.Put_As_Json_Templated ${directory_with_template_folders}${/}datamodjson ${template_as_string}
Check_Device_Data_Label_Is_Modified_Via_Json
Create_Car_List
[Documentation] Send a request to create a list of cars in the sample test data label and check that the request went OK.
- ${template_as_string}= BuiltIn.Set_Variable {'DEVICE_NAME': '${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_template_folders}${/}cars ${template_as_string}
Check_Car_List_Created
Add_Device_Data_Item_1_Via_XML_Post
[Documentation] Send a request to create a data item in the test list and check that the request went OK.
- ${template_as_string}= BuiltIn.Set_Variable {'DEVICE_NAME': '${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
TemplatedRequests.Post_As_Xml_Templated ${directory_with_template_folders}${/}item1 ${template_as_string}
Check_Item1_Is_Created
Add_Device_Data_Item_2_Via_JSON_Post
[Documentation] Send a JSON request to change the sample test data and check that the request went OK.
- ${template_as_string}= BuiltIn.Set_Variable {'DEVICE_NAME': '${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
TemplatedRequests.Post_As_Json_Templated ${directory_with_template_folders}${/}item2 ${template_as_string}
Check_Item2_Is_Created
Delete_Device_Data
[Documentation] Send a request to delete the sample test data on the device and check that the request went OK.
- ${template_as_string}= BuiltIn.Set_Variable {'DEVICE_NAME': '${device_name}'}
+ ${template_as_string}= BuiltIn.Create_Dictionary DEVICE_NAME=${device_name}'}
TemplatedRequests.Delete_Templated ${directory_with_template_folders}${/}datamod1 ${template_as_string}
TemplatedRequests.Delete_Templated ${directory_with_template_folders}${/}item1 ${template_as_string}
Check_Device_Data_Is_Deleted
[Documentation] Get the device data and make sure it is empty again.
- Check_Config_Data <data xmlns="${ODL_NETCONF_NAMESPACE}"></data>
+ Run_Keyword_If_Less_Than_Neon Check_Config_Data <data xmlns\="${ODL_NETCONF_NAMESPACE}"></data>
+ Run_Keyword_If_At_Least_Neon Check_Config_Data <data xmlns\="${ODL_NETCONF_NAMESPACE}"/>
Deconfigure_Device_From_Netconf
[Documentation] Make request to deconfigure the testtool device on Netconf connector.
${data}= Get_Config_Data
BuiltIn.Run_Keyword_Unless ${contains} BuiltIn.Should_Be_Equal_As_Strings ${data} ${expected}
BuiltIn.Run_Keyword_If ${contains} BuiltIn.Should_Contain ${data} ${expected}
+
+Count_Netconf_Connectors
+ ${count} NetconfKeywords.Count_Netconf_Connectors_For_Device ${device_name}
+ Builtin.Should_Be_Equal_As_Strings ${count} 1