Test Teardown Teardown_Test
Default Tags 1node binding_v1 critical
Library SSHLibrary
+Library String
+Library XML
Resource ${CURDIR}/../../../libraries/NexusKeywords.robot
Resource ${CURDIR}/../../../libraries/SetupUtils.robot
Resource ${CURDIR}/../../../libraries/SSHKeywords.robot
*** Test Cases ***
Kill_Odl
- [Documentation] The ODL instance consumes resources, kill it.
- ClusterManagement.Kill_Members_From_List_Or_All
+ [Documentation] The ODL instance consumes resources, stop it.
+ ClusterManagement.Stop_Members_From_List_Or_All
Detect_Config_Version
[Documentation] Examine ODL installation to figure out which version of binding-parent should be used.
[Documentation] Create pom file with correct version and run maven with some performance switches.
${final_pom} = TemplatedRequests.Resolve_Text_From_Template_File folder=${CURDIR}/../../../variables/mdsal/binding_v1 file_name=binding_template.xml mapping={"BINDING_PARENT_VERSION":"${binding_parent_version}"}
SSHKeywords.Execute_Command_At_Cwd_Should_Pass echo '${final_pom}' > '${POM_FILENAME}'
+ ${autorelease_dir} = String.Get_Regexp_Matches ${BUNDLE_URL} (autorelease-[0-9]+)
+ BuiltIn.Run_Keyword_If ${autorelease_dir} != [] Add_Autorelease_Profile @{autorelease_dir}[0]
NexusKeywords.Run_Maven pom_file=${POM_FILENAME} log_file=${MAVEN_OUTPUT_FILENAME}
# TODO: Figure out patters to identify various known Bug symptoms.
[Documentation] Make sure CWD is set back to dot, then proceed with SetupUtils stuff.
SSHKeywords.Set_Cwd .
SetupUtils.Teardown_Test_Show_Bugs_And_Start_Fast_Failing_If_Test_Failed
+
+Add_Autorelease_Profile
+ [Arguments] ${nexus_autorelease_dir}
+ [Documentation] Add autorelease repository into the settings.xml file.
+ SSHLibrary.Get_File settings.xml
+ ${root} = XML.Parse_Xml settings.xml
+ ${profiles} = Xml.Get_Elements ${root} xpath=profiles/profile
+ : FOR ${profile} IN @{profiles}
+ \ ${id} = XML.Get_Element_Text ${profile} xpath=id
+ \ BuiltIn.Exit_For_Loop_If "${id}" == "opendaylight-release"
+ BuiltIn.Should_Be_Equal_As_Strings ${id} opendaylight-release
+ ${profile} = Xml.Copy_Element ${profile}
+ XML.Set_Element_Text ${profile} opendaylight-autorelease xpath=id
+ Update_Repository_Element ${profile} repositories/repository ${nexus_autorelease_dir}
+ Update_Repository_Element ${profile} pluginRepositories/pluginRepository ${nexus_autorelease_dir}
+ XML.Add_Element ${root} ${profile} xpath=profiles
+ ${profiles} = XML.Get_Elements ${root} xpath=activeProfiles/activeProfile
+ ${profile} = XML.Copy_Element @{profiles}[0]
+ XML.Set_Element_Text ${profile} opendaylight-autorelease
+ XML.Add_Element ${root} ${profile} xpath=activeProfiles
+ ${content} = XML.Log_Element ${root}
+ XML.Save_Xml ${root} settings.xml
+ SSHLibrary.Put_File settings.xml
+
+Update_Repository_Element
+ [Arguments] ${profile} ${repo_xpath} ${nexus_autorelease_dir}
+ [Documentation] Modify given profile to use autorelease dir in nexus
+ ${repository} = XML.Get_Element ${profile} xpath=${repo_xpath}
+ ${url} = XML.Get_Element_Text ${repository} xpath=url
+ ${url} = String.Replace_String ${url} public ${nexus_autorelease_dir}
+ XML.Set_Element_Text ${repository} ${url} xpath=url
+ XML.Set_Element_Text ${repository} opendaylight-autorelease xpath=id
+ XML.Set_Element_Text ${repository} opendaylight-autorelease xpath=name