diff --git a/src/api/test/functional/source_services_test.rb b/src/api/test/functional/source_services_test.rb
index a44d845f8ac..e2f1882a199 100644
--- a/src/api/test/functional/source_services_test.rb
+++ b/src/api/test/functional/source_services_test.rb
@@ -72,23 +72,6 @@ def test_combine_project_service_list
assert_response :success
end
- def wait_for_service( project, package )
- i=0
- while true
- get "/source/#{project}/#{package}"
- assert_response :success
- node = ActiveXML::Node.new(@response.body)
- return unless node.has_element? 'serviceinfo'
- return if %w(failed succeeded).include? node.find_first(:serviceinfo).value(:code) # else "running"
- i=i+1
- if i > 10
- puts 'ERROR in wait_for_service: service did not run until time limit'
- exit 1
- end
- sleep 0.5
- end
- end
-
def test_run_source_service
login_tom
raw_put '/source/home:tom/service/_meta', " "
@@ -101,7 +84,8 @@ def test_run_source_service
assert_nil Package.find_by_project_and_name("home:tom", "service").backend_package.error
post '/source/home:tom/service?cmd=runservice'
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response 400 # broken service
get '/source/home:tom/service'
assert_response :success
assert_xml_tag :tag => 'serviceinfo', :attributes => { :code => 'failed' }
@@ -118,7 +102,8 @@ def test_run_source_service
assert_response :success
post '/source/home:tom/service?cmd=runservice'
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response :success
get '/source/home:tom/service'
assert_response :success
assert_xml_tag :tag => 'serviceinfo', :attributes => { :code => 'succeeded' }
@@ -160,7 +145,8 @@ def test_run_source_service
put '/source/home:tom:branches:home:tom/service/new_file', 'content'
assert_response :success
assert_nil Package.find_by_project_and_name("home:tom:branches:home:tom", "service").backend_package.error
- wait_for_service( 'home:tom:branches:home:tom', 'service')
+ post '/source/home:tom:branches:home:tom/service?cmd=waitservice'
+ assert_response :success
UpdateNotificationEvents.new.perform
assert_nil Package.find_by_project_and_name("home:tom:branches:home:tom", "service").backend_package.error
get '/source/home:tom:branches:home:tom/service/_service:download_url:file?expand=1'
@@ -234,7 +220,8 @@ def test_run_source_service
assert_response :success
post '/source/home:tom/service?cmd=runservice'
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response :success
get '/source/home:tom/service'
assert_response :success
assert_xml_tag :tag => 'serviceinfo', :attributes => { :code => 'succeeded' }
@@ -336,14 +323,16 @@ def test_buildtime_service
raw_put '/source/home:Iggy/service/pack.spec', "# Comment \nName: pack\nVersion: 12\nRelease: 9\nSummary: asd"
assert_response :success
- wait_for_service( 'home:Iggy', 'service')
+ post '/source/home:Iggy/service?cmd=waitservice'
+ assert_response :success
put '/source/home:Iggy/service/_service',
'
0817
pack.spec
'
assert_response :success
- wait_for_service( 'home:Iggy', 'service')
+ post '/source/home:Iggy/service?cmd=waitservice'
+ assert_response :success
run_scheduler('i586')
get '/build/home:Iggy/_result'
assert_response :success
@@ -367,16 +356,19 @@ def test_source_commit_with_service
login_tom
put '/source/home:tom/service/_meta', " "
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response :success
put '/source/home:tom/service/_service',
'
0819
pack.spec '
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response :success
put '/source/home:tom/service/pack.spec', "# Comment \nVersion: 12\nRelease: 9\nSummary: asd"
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response :success
# find out the md5sum of _service file
get '/source/home:tom/service'
@@ -392,14 +384,16 @@ def test_source_commit_with_service
md5sum_service + '" /> '
raw_post '/source/home:tom/service?cmd=commitfilelist', filelist
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response :success
get '/source/home:tom/service/_history'
# do another commit, check that the service files are kept
filelist = ' '
raw_post '/source/home:tom/service?cmd=commitfilelist', filelist
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response :success
# validate revisions
get '/source/home:tom/service/_history'
@@ -434,7 +428,8 @@ def test_run_project_source_service
assert_response :success
post '/source/home:tom/service?cmd=runservice'
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response 400 # broken service
get '/source/home:tom/service'
assert_response :success
assert_xml_tag :tag => 'serviceinfo', :attributes => { :code => 'failed' }
@@ -445,7 +440,8 @@ def test_run_project_source_service
assert_response :success
post '/source/home:tom/service?cmd=runservice'
assert_response :success
- wait_for_service( 'home:tom', 'service')
+ post '/source/home:tom/service?cmd=waitservice'
+ assert_response 400 # broken service
get '/source/home:tom/service'
assert_response :success
assert_xml_tag :tag => 'serviceinfo', :attributes => { :code => 'failed' }
@@ -473,7 +469,8 @@ def test_run_project_source_service
assert_response :success
post '/source/home:tom/service2?cmd=runservice'
assert_response :success
- wait_for_service( 'home:tom', 'service2')
+ post '/source/home:tom/service2?cmd=waitservice'
+ assert_response :success
get '/source/home:tom/service2'
assert_response :success
assert_xml_tag :tag => 'serviceinfo', :attributes => { :code => 'succeeded' }