features/step_definitions/hudson_steps.rb in hudson-0.3.0.beta.12 vs features/step_definitions/hudson_steps.rb in hudson-0.3.0.beta.13
- old
+ new
@@ -32,19 +32,26 @@
Given /^the Hudson server has no slaves$/ do
if port = @hudson_port
require "open-uri"
require "yajl"
base_url = "http://#{@hudson_host}:#{@hudson_port}"
- hudson_info = Yajl::Parser.new.parse(open("#{base_url}/computer/api/json"))
+ hudson_info = Yajl::Parser.new.parse(open("#{base_url}/api/json"))
+ (hudson_info['jobs'] || []).each do |job|
+ job_url = job['url']
+ res = Net::HTTP.start("localhost", port) { |http| http.post("#{job_url}doDelete/api/json", {}) }
+ end
+ hudson_info = Yajl::Parser.new.parse(open("#{base_url}/api/json"))
+ hudson_info['jobs'].should == []
+ hudson_info = Yajl::Parser.new.parse(open("#{base_url}/computer/api/json"))
hudson_info['computer'].each do |node|
name = node["displayName"]
next if name == "master"
job_url = "#{base_url}/computer/#{CGI::escape(name).gsub('+', '%20')}"
res = Net::HTTP.start("localhost", port) { |http| http.post("#{job_url}/doDelete/api/json", {}) }
end
- hudson_info = Yajl::Parser.new.parse(open("http://#{@hudson_host}:#{@hudson_port}/api/json"))
- hudson_info['jobs'].should == []
+ hudson_info = Yajl::Parser.new.parse(open("#{base_url}/computer/api/json"))
+ hudson_info['computer'].size.should == 1
else
puts "WARNING: Run 'I have a Hudson server running' step first."
end
end