simplify multi-server spec running with foreman. couldn't really get it automated tonight, not sure why.
This commit is contained in:
parent
f8c05851f6
commit
2e96f0121e
7 changed files with 29 additions and 40 deletions
|
|
@ -180,7 +180,6 @@ production:
|
|||
<<: *defaults
|
||||
mount_resque_web: false
|
||||
|
||||
|
||||
#
|
||||
# Do not touch unless you know what you're doing
|
||||
#
|
||||
|
|
@ -192,7 +191,6 @@ test:
|
|||
enable_splunk_logging: false
|
||||
open_invitations: true
|
||||
|
||||
|
||||
integration_1:
|
||||
<<: *defaults
|
||||
pod_url: "http://localhost:45789"
|
||||
|
|
|
|||
2
multi-server-spec-Procfile
Normal file
2
multi-server-spec-Procfile
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
integration_1: bundle exec thin start -e integration_1 -p 45789
|
||||
integration_2: bundle exec thin start -e integration_2 -p 34658
|
||||
|
|
@ -5,21 +5,14 @@ require 'spec_helper'
|
|||
unless Server.all.empty?
|
||||
describe "commenting" do
|
||||
before(:all) do
|
||||
WebMock::Config.instance.allow_localhost = true
|
||||
enable_typhoeus
|
||||
#Server.all.each{|s| s.kill if s.running?}
|
||||
#Server.all.each{|s| s.run}
|
||||
Server.start
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
disable_typhoeus
|
||||
#Server.all.each{|s| s.kill if s.running?}
|
||||
#sleep(1)
|
||||
#Server.all.each{|s| puts "Server at port #{s.port} still running." if s.running?}
|
||||
WebMock::Config.instance.allow_localhost = false
|
||||
Server.stop
|
||||
end
|
||||
before do
|
||||
Server.all.each{|s| s.truncate_database; }
|
||||
Server.truncate_databases
|
||||
@post = nil
|
||||
Server[0].in_scope do
|
||||
poster = Factory.create(:user_with_aspect, :username => "poster")
|
||||
|
|
|
|||
|
|
@ -3,21 +3,14 @@ require 'spec_helper'
|
|||
unless Server.all.empty?
|
||||
describe "commenting" do
|
||||
before(:all) do
|
||||
WebMock::Config.instance.allow_localhost = true
|
||||
enable_typhoeus
|
||||
#Server.all.each{|s| s.kill if s.running?}
|
||||
#Server.all.each{|s| s.run}
|
||||
Server.start
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
disable_typhoeus
|
||||
#Server.all.each{|s| s.kill if s.running?}
|
||||
#sleep(1)
|
||||
#Server.all.each{|s| puts "Server at port #{s.port} still running." if s.running?}
|
||||
WebMock::Config.instance.allow_localhost = false
|
||||
Server.stop
|
||||
end
|
||||
before do
|
||||
Server.all.each{|s| s.truncate_database; }
|
||||
Server.truncate_databases
|
||||
@post = nil
|
||||
Server[0].in_scope do
|
||||
Factory.create(:user_with_aspect, :username => "poster")
|
||||
|
|
|
|||
|
|
@ -5,21 +5,14 @@ require 'spec_helper'
|
|||
unless Server.all.empty?
|
||||
describe "reposting" do
|
||||
before(:all) do
|
||||
WebMock::Config.instance.allow_localhost = true
|
||||
enable_typhoeus
|
||||
#Server.all.each{|s| s.kill if s.running?}
|
||||
#Server.all.each{|s| s.run}
|
||||
Server.start
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
disable_typhoeus
|
||||
#Server.all.each{|s| s.kill if s.running?}
|
||||
#sleep(1)
|
||||
#Server.all.each{|s| puts "Server at port #{s.port} still running." if s.running?}
|
||||
WebMock::Config.instance.allow_localhost = false
|
||||
Server.stop
|
||||
end
|
||||
before do
|
||||
Server.all.each{|s| s.truncate_database; }
|
||||
Server.truncate_databases
|
||||
@original_post = nil
|
||||
Server[0].in_scope do
|
||||
original_poster = Factory.create(:user_with_aspect, :username => "original_poster")
|
||||
|
|
|
|||
|
|
@ -4,20 +4,15 @@ require 'spec_helper'
|
|||
unless Server.all.empty?
|
||||
describe Server do
|
||||
before(:all) do
|
||||
WebMock::Config.instance.allow_localhost = true
|
||||
#Server.all.each{|s| s.kill if s.running?}
|
||||
#Server.all.each{|s| s.run}
|
||||
Server.start
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
#Server.all.each{|s| s.kill if s.running?}
|
||||
#sleep(1)
|
||||
#Server.all.each{|s| puts "Server at port #{s.port} still running." if s.running?}
|
||||
WebMock::Config.instance.allow_localhost = false
|
||||
Server.stop
|
||||
end
|
||||
|
||||
before do
|
||||
Server.all.each{|s| s.truncate_database }
|
||||
Server.truncate_databases
|
||||
end
|
||||
describe '.all' do
|
||||
it 'returns a server object for each server' do
|
||||
|
|
|
|||
|
|
@ -1,5 +1,18 @@
|
|||
#This class is for running servers in the background during integration testing. This will not run on Windows.
|
||||
class Server
|
||||
def self.start
|
||||
WebMock::Config.instance.allow_localhost = true
|
||||
enable_typhoeus
|
||||
end
|
||||
|
||||
def self.stop
|
||||
disable_typhoeus
|
||||
WebMock::Config.instance.allow_localhost = false
|
||||
end
|
||||
|
||||
def self.truncate_databases
|
||||
all.each{|s| s.truncate_database }
|
||||
end
|
||||
|
||||
def self.[] index
|
||||
self.all[index]
|
||||
|
|
@ -21,6 +34,7 @@ class Server
|
|||
end
|
||||
|
||||
def ensure_database_setup
|
||||
@@databases_setup = lambda {
|
||||
`cd #{Rails.root} && RAILS_ENV=#{@env} bundle exec rake db:create`
|
||||
tables_exist = self.db do
|
||||
ActiveRecord::Base.connection.tables.include?("users")
|
||||
|
|
@ -30,6 +44,7 @@ class Server
|
|||
else
|
||||
`cd #{Rails.root} && RAILS_ENV=#{@env} bundle exec rake db:schema:load`
|
||||
end
|
||||
true}.call
|
||||
end
|
||||
|
||||
def run
|
||||
|
|
|
|||
Loading…
Reference in a new issue