Skip to content

Commit

Permalink
[ci] Replacing wait_for_service helper with waitservice command
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisBr committed Mar 1, 2016
1 parent 2b9f7c6 commit fe6c53f
Showing 1 changed file with 28 additions and 31 deletions.
59 changes: 28 additions & 31 deletions src/api/test/functional/source_services_test.rb
Expand Up @@ -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', "<package project='home:tom' name='service'> <title /> <description /> </package>"
Expand All @@ -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' }
Expand All @@ -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' }
Expand Down Expand Up @@ -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'
Expand Down Expand Up @@ -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' }
Expand Down Expand Up @@ -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',
'<services> <service name="set_version" mode="buildtime">
<param name="version">0817</param>
<param name="file">pack.spec</param>
</service> </services>'
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
Expand All @@ -367,16 +356,19 @@ def test_source_commit_with_service
login_tom
put '/source/home:tom/service/_meta', "<package project='home:tom' name='service'> <title /> <description /> </package>"
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',
'<services> <service name="set_version" >
<param name="version">0819</param>
<param name="file">pack.spec</param> </service> </services>'
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'
Expand All @@ -392,14 +384,16 @@ def test_source_commit_with_service
md5sum_service + '" /> <entry name="pack.spec" md5="' + md5sum_spec + '" /> </directory> '
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 = '<directory> <entry name="_service" md5="' + md5sum_service + '" /> <entry name="pack.spec" md5="' + md5sum_spec + '" /> </directory> '
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'
Expand Down Expand Up @@ -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' }
Expand All @@ -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' }
Expand Down Expand Up @@ -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' }
Expand Down

0 comments on commit fe6c53f

Please sign in to comment.