From: Kai Krueger Date: Mon, 6 Dec 2010 00:38:42 +0000 (+0000) Subject: Start the rots server if it isn't already running X-Git-Tag: live~6861 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/426778dd2acf52ad662f711cc30f96493f1d157d?ds=sidebyside Start the rots server if it isn't already running --- diff --git a/test/integration/user_creation_test.rb b/test/integration/user_creation_test.rb index bc4ccc97b..880fcb30a 100644 --- a/test/integration/user_creation_test.rb +++ b/test/integration/user_creation_test.rb @@ -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}