2013-02-20 20:07:22 -05:00
|
|
|
desc "run phantomjs based smoke tests on current build"
|
2013-02-21 00:01:18 -05:00
|
|
|
task "smoke:test" => :environment do
|
|
|
|
|
2013-02-25 11:42:20 -05:00
|
|
|
phantom_path = File.expand_path('~/phantomjs/bin/phantomjs')
|
2013-02-21 00:01:18 -05:00
|
|
|
phantom_path = nil unless File.exists?(phantom_path)
|
|
|
|
phantom_path = phantom_path || 'phantomjs'
|
|
|
|
|
|
|
|
url = ENV["URL"] || Discourse.base_url
|
2013-02-25 11:42:20 -05:00
|
|
|
|
2013-02-21 00:01:18 -05:00
|
|
|
puts "Testing: #{url}"
|
2013-02-21 00:37:17 -05:00
|
|
|
|
|
|
|
require 'open-uri'
|
|
|
|
require 'net/http'
|
|
|
|
|
|
|
|
res = Net::HTTP.get_response(URI.parse(url))
|
|
|
|
if res.code != "200"
|
|
|
|
raise "TRIVIAL GET FAILED WITH #{res.code}"
|
|
|
|
end
|
|
|
|
|
2013-02-21 00:01:18 -05:00
|
|
|
results = `#{phantom_path} #{Rails.root}/spec/phantom_js/smoke_test.js #{url}`
|
|
|
|
|
2013-02-20 20:07:22 -05:00
|
|
|
puts results
|
2013-02-21 00:01:18 -05:00
|
|
|
if results !~ /ALL PASSED/
|
|
|
|
raise "FAILED"
|
|
|
|
end
|
2013-02-20 20:07:22 -05:00
|
|
|
end
|