@@ -249,8 +249,8 @@ def test_maintenance_request_from_foreign_and_remote_project
249249
250250 get "/request/#{ id1 } "
251251 assert_response :success
252- data = REXML :: Document . new ( @response . body )
253- incident_project = data . elements [ '/request/action/target' ] . attributes . get_attribute ( 'project' ) . to_s
252+ data = Nokogiri :: XML ( @response . body )
253+ incident_project = data . at_xpath ( '/request/action/target' ) [ 'project' ] . to_s
254254
255255 get "/source/#{ incident_project } /kdelibs.BaseDistro2.0_LinkedUpdateProject"
256256 assert_response :success
@@ -322,8 +322,8 @@ def test_maintenance_request_from_foreign_and_remote_project
322322
323323 get "/request/#{ id2 } "
324324 assert_response :success
325- data = REXML :: Document . new ( @response . body )
326- incident_project = data . elements [ '/request/action/target' ] . attributes . get_attribute ( 'project' ) . to_s
325+ data = Nokogiri :: XML ( @response . body )
326+ incident_project = data . at_xpath ( '/request/action/target' ) [ 'project' ] . to_s
327327
328328 get "/source/#{ incident_project } /kdelibs.BaseDistro2.0_LinkedUpdateProject"
329329 assert_response :success
@@ -460,8 +460,8 @@ def test_instantiate_new_package_with_local_link_in_service_pack
460460 post '/source' , params : { cmd : 'createmaintenanceincident' , noaccess : 1 }
461461 assert_response :success
462462 assert_xml_tag ( tag : 'data' , attributes : { name : 'targetproject' } )
463- data = REXML :: Document . new ( @response . body )
464- incident_project = data . elements [ '/status/data' ] . text
463+ data = Nokogiri :: XML ( @response . body )
464+ incident_project = data . at_xpath ( '/status/data' ) & .text
465465 assert_equal 'My:Maintenance:100' , incident_project
466466
467467 get '/source/ServicePack:Update/pack2/_meta'
@@ -757,8 +757,8 @@ def test_mbranch_and_maintenance_entire_project_request
757757
758758 get "/request/#{ id } "
759759 assert_response :success
760- data = REXML :: Document . new ( @response . body )
761- incident_project = data . elements [ '/request/action/target' ] . attributes . get_attribute ( 'project' ) . to_s
760+ data = Nokogiri :: XML ( @response . body )
761+ incident_project = data . at_xpath ( '/request/action/target' ) [ 'project' ] . to_s
762762 assert_not_equal incident_project , 'My:Maintenance'
763763
764764 # validate cleanup
@@ -842,8 +842,8 @@ def test_create_maintenance_incident
842842 post '/source/Temp:Maintenance' , params : { cmd : 'createmaintenanceincident' }
843843 assert_response :success
844844 assert_xml_tag ( tag : 'data' , attributes : { name : 'targetproject' } )
845- data = REXML :: Document . new ( @response . body )
846- incident_project = data . elements [ '/status/data' ] . text
845+ data = Nokogiri :: XML ( @response . body )
846+ incident_project = data . at_xpath ( '/status/data' ) & .text
847847 # incident_id=incident_project.gsub( /^Temp:Maintenance:/, "" )
848848 get "/source/#{ incident_project } /_meta"
849849 assert_xml_tag ( tag : 'project' , attributes : { kind : 'maintenance_incident' } )
@@ -856,8 +856,8 @@ def test_create_maintenance_incident
856856 post '/source/Temp:Maintenance?cmd=createmaintenanceincident&noaccess=1'
857857 assert_response :success
858858 assert_xml_tag ( tag : 'data' , attributes : { name : 'targetproject' } )
859- data = REXML :: Document . new ( @response . body )
860- incident_project2 = data . elements [ '/status/data' ] . text
859+ data = Nokogiri :: XML ( @response . body )
860+ incident_project2 = data . at_xpath ( '/status/data' ) & .text
861861 # incident_id2=incident_project2.gsub( /^Temp:Maintenance:/, "" )
862862 get "/source/#{ incident_project2 } /_meta"
863863 assert_xml_tag ( parent : { tag : 'build' } , tag : 'disable' , content : nil )
@@ -928,9 +928,9 @@ def test_create_maintenance_project_and_release_packages
928928 login_king
929929 get '/source/My:Maintenance/_meta'
930930 assert_response :success
931- maintenance_project_meta = REXML :: Document . new ( @response . body )
932- maintenance_project_meta . elements [ '/project' ] . attributes [ 'kind' ] = 'maintenance'
933- put '/source/My:Maintenance/_meta' , params : maintenance_project_meta . to_s
931+ maintenance_project_meta = Nokogiri :: XML ( @response . body )
932+ maintenance_project_meta . at_xpath ( '/project' ) [ 'kind' ] = 'maintenance'
933+ put '/source/My:Maintenance/_meta' , params : maintenance_project_meta . root . to_xml
934934 assert_response :success
935935
936936 prepare_request_with_user ( 'maintenance_coord' , 'buildservice' )
@@ -959,8 +959,8 @@ def test_create_maintenance_project_and_release_packages
959959 post '/source' , params : { cmd : 'createmaintenanceincident' , noaccess : 1 }
960960 assert_response :success
961961 assert_xml_tag ( tag : 'data' , attributes : { name : 'targetproject' } )
962- data = REXML :: Document . new ( @response . body )
963- incident_project = data . elements [ '/status/data' ] . text
962+ data = Nokogiri :: XML ( @response . body )
963+ incident_project = data . at_xpath ( '/status/data' ) & .text
964964 incident_id = incident_project . gsub ( /^My:Maintenance:/ , '' )
965965 get "/source/#{ incident_project } /_meta"
966966 assert_response :success
@@ -1251,9 +1251,9 @@ def test_create_maintenance_project_and_release_packages
12511251 # let's say the maintenance person wants to publish it now
12521252 get "/source/#{ incident_project } /_meta"
12531253 assert_response :success
1254- maintenance_project_meta = REXML :: Document . new ( @response . body )
1255- maintenance_project_meta . elements [ '/project' ] . delete_element ' publish'
1256- put "/source/#{ incident_project } /_meta" , params : maintenance_project_meta . to_s
1254+ maintenance_project_meta = Nokogiri :: XML ( @response . body )
1255+ maintenance_project_meta . at_xpath ( '/project/ publish' ) &. remove
1256+ put "/source/#{ incident_project } /_meta" , params : maintenance_project_meta . root . to_xml
12571257 assert_response :success
12581258
12591259 # mess up patchinfo and try to create release request
@@ -1587,9 +1587,9 @@ def test_create_maintenance_project_and_release_packages
15871587 assert_xml_tag tag : 'mtime'
15881588 hashed = node = nil
15891589 IO . popen ( "gunzip -cd #{ ENV . fetch ( 'OBS_BACKEND_TEMP' , nil ) } /data/repos/BaseDistro2.0:/LinkedUpdateProject/BaseDistro2LinkedUpdateProject_repo/repodata/*-updateinfo.xml.gz" ) do |io |
1590- node = REXML :: Document . new ( io . read )
1590+ node = Nokogiri :: XML ( io . read )
15911591 end
1592- assert_equal "My-oldname-#{ Time . now . year } -1" , node . elements [ '/updates/update/id' ] . first . to_s
1592+ assert_equal "My-oldname-#{ Time . now . year } -1" , node . at_xpath ( '/updates/update/id' ) &. text
15931593 # verify meta data created by createrepo
15941594 IO . popen ( "gunzip -cd #{ ENV . fetch ( 'OBS_BACKEND_TEMP' , nil ) } /data/repos/BaseDistro2.0:/LinkedUpdateProject/BaseDistro2LinkedUpdateProject_repo/repodata/*-primary.xml.gz" ) do |io |
15951595 hashed = Xmlhash . parse ( io . read )
@@ -1966,9 +1966,9 @@ def test_create_invalid_release_request
19661966 # remove release target
19671967 get '/source/home:tom:branches:BaseDistro:Update/_meta'
19681968 assert_response :success
1969- pi = REXML :: Document . new ( @response . body )
1970- pi . elements [ '//repository' ] . delete_element ' releasetarget'
1971- put '/source/home:tom:branches:BaseDistro:Update/_meta' , params : pi . to_s
1969+ pi = Nokogiri :: XML ( @response . body )
1970+ pi . at_xpath ( '//repository/ releasetarget' ) &. remove
1971+ put '/source/home:tom:branches:BaseDistro:Update/_meta' , params : pi . root . to_xml
19721972 assert_response :success
19731973
19741974 # Run without server side expansion
@@ -2003,11 +2003,12 @@ def test_create_invalid_release_request
20032003 login_tom
20042004 get '/source/home:tom:branches:BaseDistro:Update/_meta'
20052005 assert_response :success
2006- meta = REXML ::Document . new ( @response . body )
2007- meta . elements [ '//repository' ] . add_element 'releasetarget'
2008- meta . elements [ '//releasetarget' ] . add_attribute ( REXML ::Attribute . new ( 'project' , 'BaseDistro:Update' ) )
2009- meta . elements [ '//releasetarget' ] . add_attribute ( REXML ::Attribute . new ( 'repository' , 'BaseDistroUpdateProject_repo' ) )
2010- put '/source/home:tom:branches:BaseDistro:Update/_meta' , params : meta . to_s
2006+ meta = Nokogiri ::XML ( @response . body )
2007+ releasetarget = Nokogiri ::XML ::Node . new ( 'releasetarget' , meta )
2008+ releasetarget [ 'project' ] = 'BaseDistro:Update'
2009+ releasetarget [ 'repository' ] = 'BaseDistroUpdateProject_repo'
2010+ meta . at_xpath ( '//repository' ) . add_child ( releasetarget )
2011+ put '/source/home:tom:branches:BaseDistro:Update/_meta' , params : meta . root . to_xml
20112012 assert_response :success
20122013
20132014 # retry
@@ -2044,14 +2045,14 @@ def test_create_invalid_release_request
20442045 login_tom
20452046 get '/source/home:tom:branches:BaseDistro:Update/patchinfo/_patchinfo'
20462047 assert_response :success
2047- pi = REXML :: Document . new ( @response . body )
2048- pi . elements [ '//summary' ] . text = 'My Summary'
2049- put '/source/home:tom:branches:BaseDistro:Update/patchinfo/_patchinfo' , params : pi . to_s
2048+ pi = Nokogiri :: XML ( @response . body )
2049+ pi . at_xpath ( '//summary' ) . content = 'My Summary'
2050+ put '/source/home:tom:branches:BaseDistro:Update/patchinfo/_patchinfo' , params : pi . root . to_xml
20502051 assert_response :success
20512052
20522053 # remove architecture
2053- meta . elements [ '//repository' ] . delete_element ' arch'
2054- put '/source/home:tom:branches:BaseDistro:Update/_meta' , params : meta . to_s
2054+ meta . at_xpath ( '//repository/ arch' ) &. remove
2055+ put '/source/home:tom:branches:BaseDistro:Update/_meta' , params : meta . root . to_xml
20552056 assert_response :success
20562057
20572058 rq = '<request>
0 commit comments