Skip to content

Commit

Permalink
Use mongrel instead of thin so we can run more than one server at once
Browse files Browse the repository at this point in the history
  • Loading branch information
jferris committed Nov 15, 2011
1 parent 70af61e commit 47d00aa
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
2 changes: 1 addition & 1 deletion fake_braintree.gemspec
Expand Up @@ -21,7 +21,7 @@ Gem::Specification.new do |s|
s.add_dependency 'i18n'
s.add_dependency 'sinatra'
s.add_dependency 'braintree', '~> 2.5'
s.add_dependency 'thin'
s.add_dependency 'mongrel', '~> 1.2.0.pre'

s.add_development_dependency 'rspec', '~> 2.6.0'
s.add_development_dependency 'mocha', '~> 0.9.12'
Expand Down
19 changes: 16 additions & 3 deletions lib/fake_braintree.rb
Expand Up @@ -2,6 +2,7 @@
require 'braintree'
require 'capybara'
require 'capybara/server'
require 'rack/handler/mongrel'

require 'fake_braintree/helpers'
require 'fake_braintree/customer'
Expand Down Expand Up @@ -108,9 +109,21 @@ def self.set_configuration
end

def self.boot_server
server = Capybara::Server.new(FakeBraintree::SinatraApp)
server.boot
ENV['GATEWAY_PORT'] = server.port.to_s
with_mongrel_runner do
server = Capybara::Server.new(FakeBraintree::SinatraApp)
server.boot
ENV['GATEWAY_PORT'] = server.port.to_s
end
end

def self.with_mongrel_runner
default_server_process = Capybara.server
Capybara.server do |app, port|
Rack::Handler::Mongrel.run(app, :Port => port)
end
yield
ensure
Capybara.server(&default_server_process)
end
end

Expand Down

0 comments on commit 47d00aa

Please sign in to comment.