X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=test%2Fcsit%2Flibraries%2FConfigViaRestconf.robot;fp=test%2Fcsit%2Flibraries%2FConfigViaRestconf.robot;h=0000000000000000000000000000000000000000;hb=59e81c38620fa1b61e15771191e35771450b9499;hp=189d23e75b817ef06ff0f87f180084d2978dfa7c;hpb=072f6e3a8d1bdf8f4c663843589c22d93ba07791;p=integration%2Ftest.git diff --git a/test/csit/libraries/ConfigViaRestconf.robot b/test/csit/libraries/ConfigViaRestconf.robot deleted file mode 100644 index 189d23e75b..0000000000 --- a/test/csit/libraries/ConfigViaRestconf.robot +++ /dev/null @@ -1,119 +0,0 @@ -*** Settings *** -Documentation Robot keyword library (Resource) for runtime changes to config subsystem state using restconf calls. -... -... Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. -... -... This program and the accompanying materials are made available under the -... terms of the Eclipse Public License v1.0 which accompanies this distribution, -... and is available at http://www.eclipse.org/legal/epl-v10.html -Library OperatingSystem -Library RequestsLibrary -Library String -Variables ${CURDIR}/../variables/Variables.py - -*** Variables *** -# TODO: Make the following list more narrow when Bug 2594 is fixed. -@{allowed_status_codes} ${200} ${201} ${204} # List of integers, not strings. Used by both PUT and DELETE. - -*** Keywords *** -Setup_Config_Via_Restconf - [Documentation] Creates Requests session to be used by subsequent keywords. - # Do not append slash at the end uf URL, Requests would add another, resulting in error. - RequestsLibrary.Create_Session cvr_session http://${CONTROLLER}:${RESTCONFPORT}${CONTROLLER_CONFIG_MOUNT} headers=${HEADERS_XML} auth=${AUTH} - -Teardown_Config_Via_Restconf - [Documentation] Teardown to pair with Setup (otherwise no-op). - BuiltIn.Comment TODO: The following line does not seem to be implemented by RequestsLibrary. Look for a workaround. - BuiltIn.Comment Delete_Session cvr_session - -Put_Xml_Template_Folder_Config_Via_Restconf - [Arguments] ${folder} ${mapping_as_string}={} - [Documentation] Resolve URI and data from folder, PUT to controller config. - ${uri_part}= Resolve_URI_From_Template_Folder ${folder} ${mapping_as_string} - ${xml_data}= Resolve_Xml_Data_From_Template_Folder ${folder} ${mapping_as_string} - Put_Xml_Config_Via_Restconf ${uri_part} ${xml_data} - -Delete_Xml_Template_Folder_Config_Via_Restconf - [Arguments] ${folder} ${mapping_as_string}={} - [Documentation] Resolve URI from folder, DELETE from controller config. - ${uri_part}= Resolve_URI_From_Template_Folder ${folder} ${mapping_as_string} - Delete_Config_Via_Restconf ${uri_part} - -Resolve_URI_From_Template_Folder - [Arguments] ${folder} ${mapping_as_string} - [Documentation] Read URI template from folder, strip endline, make changes according to mapping, return the result. - ${uri_template}= OperatingSystem.Get_File ${folder}${/}config.uri - BuiltIn.Log ${uri_template} - ${uri_part}= Strip_Endline_And_Apply_Substitutions_From_Mapping ${uri_template} ${mapping_as_string} - [Return] ${uri_part} - -Resolve_Xml_Data_From_Template_Folder - [Arguments] ${folder} ${mapping_as_string} - [Documentation] Read data template from folder, strip endline, make changes according to mapping, return the result. - ${data_template}= OperatingSystem.Get_File ${folder}${/}data.xml - BuiltIn.Log ${data_template} - ${xml_data}= Strip_Endline_And_Apply_Substitutions_From_Mapping ${data_template} ${mapping_as_string} - [Return] ${xml_data} - -Strip_Endline_And_Apply_Substitutions_From_Mapping - [Arguments] ${template_as_string} ${mapping_as_string} - [Documentation] Strip endline, apply substitutions, Log and return the result. - # Robot Framework does not understand dictionaries well, so resort to Evaluate. - # Needs python module "string", and since the template string is expected to contain newline, it has to be enclosed in triple quotes. - # Using rstrip() removes all trailing whitespace, which is what we want if there is something more than an endline. - ${final_text}= BuiltIn.Evaluate string.Template('''${template_as_string}'''.rstrip()).substitute(${mapping_as_string}) modules=string - BuiltIn.Log ${final_text} - [Return] ${final_text} - -Put_Xml_Config_Module_Via_Restconf - [Arguments] ${xml_data} ${type} ${name} - [Documentation] Put new XML configuration to config:modules URI based on given module type and name. - # Also no slash here - Put_Xml_Config_Via_Restconf config:modules/module/${type}/${name} ${xml_data} - -Put_Xml_Config_Service_Via_Restconf - [Arguments] ${xml_data} ${type} ${name} - [Documentation] Put new XML configuration to config:services URI based on given service type and instance name. - Put_Xml_Config_Via_Restconf config:services/service/${type}/config:instance/${name} ${xml_data} - -Put_Xml_Config_Via_Restconf - [Arguments] ${uri_part} ${xml_data} - [Documentation] Put XML data to given controller-config URI, check reponse text is empty and status_code is one of allowed ones. - BuiltIn.Log ${uri_part} - BuiltIn.Log ${xml_data} - ${response}= RequestsLibrary.Put cvr_session ${uri_part} data=${xml_data} - BuiltIn.Log ${response.text} - BuiltIn.Log ${response.status_code} - BuiltIn.Should_Be_Empty ${response.text} - BuiltIn.Should_Contain ${allowed_status_codes} ${response.status_code} - -Delete_Config_Via_Restconf - [Arguments] ${uri_part} - [Documentation] Delete resource at controller-config URI, check reponse text is empty and status_code is 204. - BuiltIn.Log ${uri_part} - ${response}= RequestsLibrary.Delete cvr_session ${uri_part} - BuiltIn.Log ${response.text} - BuiltIn.Should_Be_Empty ${response.text} - BuiltIn.Should_Contain ${allowed_status_codes} ${response.status_code} - -Post_Xml_Config_Module_Via_Restconf - [Arguments] ${xml_data} - [Documentation] Post new XML configuration to config:modules. - # Also no slash here - Post_Xml_Config_Via_Restconf config:modules ${xml_data} - -Post_Xml_Config_Service_Via_Restconf - [Arguments] ${xml_data} - [Documentation] Post new XML configuration to config:services. - Post_Xml_Config_Via_Restconf config:services ${xml_data} - -Post_Xml_Config_Via_Restconf - [Arguments] ${uri_part} ${xml_data} - [Documentation] Post XML data to given controller-config URI, check reponse text is empty and status_code is 204. - # As seen in previous two Keywords, Post does not need long specific URI. - # But during Lithium development, Post ceased to do merge, so those Keywords do not work anymore. - # This Keyword can still be used with specific URI to create a new container and fail if a container was already present. - ${response}= RequestsLibrary.Post_Request cvr_session ${uri_part} data=${xml_data} - BuiltIn.Log ${response.text} - BuiltIn.Should_Be_Empty ${response.text} - BuiltIn.Should_Be_Equal_As_Strings ${response.status_code} 204