Skip to content

Commit

Permalink
Merge pull request rails#30638 from twalpole/capybara_server
Browse files Browse the repository at this point in the history
Use the default Capybara registered puma server configuration
  • Loading branch information
eileencodes committed Sep 18, 2017
2 parents e4017d0 + ba04b58 commit 42d09f6
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 20 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ gem "rake", ">= 11.1"
# be loaded after loading the test library.
gem "mocha", "~> 0.14", require: false

gem "capybara", "~> 2.13"
gem "capybara", "~> 2.15"

gem "rack-cache", "~> 1.2"
gem "jquery-rails"
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ DEPENDENCIES
blade-sauce_labs_plugin
bootsnap (>= 1.1.0)
byebug
capybara (~> 2.13)
capybara (~> 2.15)
coffee-rails
dalli (>= 2.2.1)
delayed_job
Expand Down
7 changes: 7 additions & 0 deletions actionpack/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
* Use Capybara registered `:puma` server config.

The Capybara registered `:puma` server ensures the puma server is run in process so
connection sharing and open request detection work correctly by default.

*Thomas Walpole*

* Cookies `:expires` option supports `ActiveSupport::Duration` object.

cookies[:user_name] = { value: "assain", expires: 1.hour }
Expand Down
14 changes: 1 addition & 13 deletions actionpack/lib/action_dispatch/system_testing/server.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,17 @@ class << self
self.silence_puma = false

def run
register
setup
end

private
def register
Capybara.register_server :rails_puma do |app, port, host|
Rack::Handler::Puma.run(
app,
Port: port,
Threads: "0:1",
Silent: self.class.silence_puma
)
end
end

def setup
set_server
set_port
end

def set_server
Capybara.server = :rails_puma
Capybara.server = :puma, { Silent: self.class.silence_puma }
end

def set_port
Expand Down
4 changes: 0 additions & 4 deletions actionpack/test/dispatch/system_testing/server_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ class ServerTest < ActiveSupport::TestCase
ActionDispatch::SystemTesting::Server.new.run
end

test "initializing the server port" do
assert_includes Capybara.servers, :rails_puma
end

test "port is always included" do
assert Capybara.always_include_port, "expected Capybara.always_include_port to be true"
end
Expand Down
2 changes: 1 addition & 1 deletion railties/lib/rails/generators/rails/app/templates/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ group :development, :test do
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
<%- if depends_on_system_test? -%>
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '~> 2.13'
gem 'capybara', '~> 2.15'
gem 'selenium-webdriver'
<%- end -%>
end
Expand Down

0 comments on commit 42d09f6

Please sign in to comment.