Start the rots server if it isn't already running

This commit is contained in:
Kai Krueger 2010-12-06 00:38:42 +00:00 committed by Tom Hughes
parent 478691c596
commit 426778dd2a

View file

@ -3,6 +3,33 @@ require File.dirname(__FILE__) + '/../test_helper'
class UserCreationTest < ActionController::IntegrationTest
fixtures :users
def setup
begin
# Test if the ROTS (Ruby OpenID Test Server) is already running
rots_response = Net::HTTP.get_response(URI.parse("http://localhost:1123/"))
rescue
# It isn't, so start a new instance.
IO.popen(RAILS_ROOT + "/vendor/gems/rots-0.2.1/bin/rots --silent")
# Wait for up to 30 seconds for the server to start and respond before continuing
for i in (1 .. 30)
begin
sleep 1
rots_response = Net::HTTP.get_response(URI.parse("http://localhost:1123/"))
# If the rescue block doesn't fire, ROTS is up and running and we can continue
break
rescue
# If the connection failed, do nothing and repeat the loop
end
end
end
end
def teardown
#TODO: The ROTS server needs closing down again at some point,
# but we don't want to do it after every individual test
end
def test_create_user_form
I18n.available_locales.each do |locale|
get '/user/new', {}, {"accept_language" => locale.to_s}