diff --git a/features/support/database_cleaner_patches.rb b/features/support/database_cleaner_patches.rb deleted file mode 100644 index 4988e393a..000000000 --- a/features/support/database_cleaner_patches.rb +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (c) 2010-2011, Diaspora Inc. This file is -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. - -# disable_referential_integrity doesn't work when using PostgreSQL -# with a non-root user. -# See http://kopongo.com/2008/7/25/postgres-ri_constrainttrigger-error -module ActiveRecord - module ConnectionAdapters - class PostgreSQLAdapter < AbstractAdapter - def disable_referential_integrity(&block) - transaction { - begin - execute "SET CONSTRAINTS ALL DEFERRED" - yield - ensure - execute "SET CONSTRAINTS ALL IMMEDIATE" - end - } - end - end - end -end - diff --git a/features/support/env.rb b/features/support/env.rb index 89611587f..525f8596d 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -45,7 +45,6 @@ DatabaseCleaner.strategy = :truncation DatabaseCleaner.orm = "active_record" Cucumber::Rails::World.use_transactional_fixtures = false -require File.join(File.dirname(__FILE__), "database_cleaner_patches") require File.join(File.dirname(__FILE__), "integration_sessions_controller") require File.join(File.dirname(__FILE__), "poor_mans_webmock") @@ -62,30 +61,3 @@ include HelperMethods Before do Devise.mailer.deliveries = [] end - -After do - if Capybara.current_session.driver.respond_to?(:browser) - Capybara.reset_sessions! - # Capybara.current_session.driver.browser.manage.delete_all_cookies - end -end - -Before('@localserver') do - TestServerFixture.start_if_needed - CapybaraSettings.instance.save - Capybara.current_driver = :selenium - Capybara.run_server = false -end - -After('@localserver') do - CapybaraSettings.instance.restore -end - -# give firefox more time to complete requests -# http://ihswebdesign.com/knowledge-base/fixing-selenium-timeouterror/ -After do |scenario| - if scenario.exception.is_a? Timeout::Error - # restart Selenium driver - Capybara.send(:session_pool).delete_if { |key, value| key =~ /selenium/i } - end -end diff --git a/features/support/server.rb b/features/support/server.rb deleted file mode 100644 index 90b90c728..000000000 --- a/features/support/server.rb +++ /dev/null @@ -1,73 +0,0 @@ - -ENV["RAILS_ENV"] ||= "test" -require File.expand_path(File.dirname(__FILE__) + '/../../config/environment') unless defined?(Rails) - -require 'timeout' -require 'socket' -require 'singleton' - -require 'capybara/rails' -require 'capybara/cucumber' -require 'capybara/session' - -class TestServerFixture -# simple interface to script/server - - def self.is_port_open(host, port, tries) - for i in (1..tries) - begin - Timeout::timeout(2) do - begin - s = TCPSocket.new(host, port) - s.close - return true - rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH - sleep( 2) - end - end - rescue Timeout::Error - return false - end - end - return false - end - - def self.start_if_needed - unless TestServerFixture.is_port_open( "localhost", 3000, 2) - system( "script/server -d") - if TestServerFixture.is_port_open( "localhost", 3000, 30) - puts "script/server started" - else - puts "Error: can't start script/server" - end - end - end - -end - -class CapybaraSettings -# simple save/restore for Capybara - - include Singleton - - def save - begin - @run_server = Capybara.run_server - @driver = Capybara.current_driver - @host = Capybara.app_host - rescue => e - puts "Saving exception: " + e.inspect - end - end - - def restore - begin - Capybara.current_driver = @driver - Capybara.app_host = @host - Capybara.run_server = @run_server - rescue => e - puts "Restore exception: " + e.inspect - end - end - -end