X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fnetconf%2FCRUD%2FCRUD.robot;h=1c8fb137a633a91dfcf5588a3cc4c417b6222a9d;hb=refs%2Fchanges%2F15%2F33915%2F8;hp=87431997c3529378514a70b8962ecfb6e23a9cb9;hpb=5b6c3589c60b49fcc90aaae388ac4a5b34d363ea;p=integration%2Ftest.git diff --git a/csit/suites/netconf/CRUD/CRUD.robot b/csit/suites/netconf/CRUD/CRUD.robot index 87431997c3..1c8fb137a6 100644 --- a/csit/suites/netconf/CRUD/CRUD.robot +++ b/csit/suites/netconf/CRUD/CRUD.robot @@ -10,6 +10,12 @@ Documentation netconf-connector CRUD test suite. ... ... Perform basic operations (Create, Read, Update and Delete or CRUD) on device ... data mounted onto a netconf connector and see if they work. +... +... FIXME: Replace the BuiltIn.Should_[Not_]Contain instances in the test cases +... that check the car list related data with calls to keywords of a Resource +... aimed at getting interesting pieces of data from the XML files and checking +... them against expected data sets. See MDSAL/northbound.robot suite for +... additional information. Suite Setup Setup_Everything Suite Teardown Teardown_Everything Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing @@ -59,37 +65,96 @@ Check_Device_Data_Is_Empty [Documentation] Get the device data and make sure it is empty. Check_Config_Data -Create_Device_Data - [Documentation] Send some sample test data into the device and check that the request went OK. +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}'} NetconfViaRestconf.Post_Xml_Template_Folder_Via_Restconf ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}dataorig ${template_as_string} -Check_Device_Data_Is_Created - [Documentation] Get the device data and make sure it contains the created content. +Check_Device_Data_Label_Is_Created + [Documentation] Get the device data label and make sure it contains the created content. Check_Config_Data Content -Modify_Device_Data - [Documentation] Send a request to change the sample test data and check that the request went OK. +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}'} NetconfViaRestconf.Put_Xml_Template_Folder_Via_Restconf ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}datamod1 ${template_as_string} -Check_Device_Data_Is_Modified - [Documentation] Get the device data and make sure it contains the created content. +Check_Device_Data_Label_Is_Modified + [Documentation] Get the device data label and make sure it contains the modified content. Check_Config_Data Modified Content -Modify_Device_Data_Via_JSON - [Documentation] Send a JSON request to change the sample test data and check that the request went OK. +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}'} NetconfViaRestconf.Put_Json_Template_Folder_Via_Restconf ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}datamodjson ${template_as_string} -Check_Device_Data_Is_Modified_Via_JSON - [Documentation] Get the device data as XML and make sure it matches the content posted as JSON in the previous case. +Check_Device_Data_Label_Is_Modified_Via_Json + [Documentation] Get the device data label as XML and make sure it matches the content posted as JSON in the previous case. Check_Config_Data Content 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}'} + NetconfViaRestconf.Post_Xml_Template_Folder_Via_Restconf ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}cars ${template_as_string} + +Check_Car_List_Created + [Documentation] Get the device data label as XML and make sure it matches the content posted as JSON in the previous case. + ${data}= Get_Config_Data + BuiltIn.Should_Contain ${data} KEEP + BuiltIn.Should_Not_Contain ${data} SMALL + BuiltIn.Should_Not_Contain ${data} Isetta + BuiltIn.Should_Not_Contain ${data} BMW + BuiltIn.Should_Not_Contain ${data} 1953 + BuiltIn.Should_Not_Contain ${data} microcar + BuiltIn.Should_Not_Contain ${data} TOYOTA + BuiltIn.Should_Not_Contain ${data} Camry + BuiltIn.Should_Not_Contain ${data} Toyota + BuiltIn.Should_Not_Contain ${data} 1982 + BuiltIn.Should_Not_Contain ${data} sedan + +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}'} + NetconfViaRestconf.Post_Xml_Template_Folder_Via_Restconf ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}item1 ${template_as_string} + +Check_Item1_Is_Created + [Documentation] Get the device data as XML and make sure it matches the content posted as JSON in the previous case. + ${data}= Get_Config_Data + BuiltIn.Should_Contain ${data} SMALL + BuiltIn.Should_Contain ${data} Isetta + BuiltIn.Should_Contain ${data} BMW + BuiltIn.Should_Contain ${data} 1953 + BuiltIn.Should_Contain ${data} microcar + BuiltIn.Should_Not_Contain ${data} TOYOTA + BuiltIn.Should_Not_Contain ${data} Camry + BuiltIn.Should_Not_Contain ${data} Toyota + BuiltIn.Should_Not_Contain ${data} 1982 + BuiltIn.Should_Not_Contain ${data} sedan + +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}'} + NetconfViaRestconf.Post_Json_Template_Folder_Via_Restconf ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}item2 ${template_as_string} + +Check_Item2_Is_Created + [Documentation] Get the device data as XML and make sure it matches the content posted as JSON in the previous case. + ${data}= Get_Config_Data + BuiltIn.Should_Contain ${data} SMALL + BuiltIn.Should_Contain ${data} Isetta + BuiltIn.Should_Contain ${data} BMW + BuiltIn.Should_Contain ${data} 1953 + BuiltIn.Should_Contain ${data} microcar + BuiltIn.Should_Contain ${data} TOYOTA + BuiltIn.Should_Contain ${data} Camry + BuiltIn.Should_Contain ${data} Toyota + BuiltIn.Should_Contain ${data} 1982 + BuiltIn.Should_Contain ${data} sedan + 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}'} NetconfViaRestconf.Delete_Xml_Template_Folder_Via_Restconf ${DIRECTORY_WITH_TEMPLATE_FOLDERS}${/}datamod1 ${template_as_string} + NetconfViaRestconf.Delete_Xml_Template_Folder_Via_Restconf ${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. @@ -127,9 +192,14 @@ Teardown_Everything RequestsLibrary.Delete_All_Sessions BuiltIn.Run_Keyword_And_Ignore_Error NetconfKeywords.Stop_Testtool -Check_Config_Data - [Arguments] ${expected} ${contains}=False +Get_Config_Data + [Documentation] Get and return the config data from the device. ${url}= Builtin.Set_Variable network-topology:network-topology/topology/topology-netconf/node/${device_name}/yang-ext:mount ${data}= Utils.Get_Data_From_URI nvr_session ${url} headers=${ACCEPT_XML} + [Return] ${data} + +Check_Config_Data + [Arguments] ${expected} ${contains}=False + ${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}