diff options
author | Yuji Yaginuma <yuuji.yaginuma@gmail.com> | 2019-03-15 08:24:19 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-15 08:24:19 +0900 |
commit | 1cdc6c6576afe9a9fa67a6b313080a7dc62188d9 (patch) | |
tree | a09d66331fc1739ee7a65b66c545c98720b06503 /railties/test | |
parent | 85984e50311b7138504abe1be9bbe99f96dde8ef (diff) | |
parent | c801b232bcb5d885e846e33e26becd33631b8c5b (diff) | |
download | rails-1cdc6c6576afe9a9fa67a6b313080a7dc62188d9.tar.gz rails-1cdc6c6576afe9a9fa67a6b313080a7dc62188d9.tar.bz2 rails-1cdc6c6576afe9a9fa67a6b313080a7dc62188d9.zip |
Merge pull request #35599 from y-yagi/improve_environment_argument_handling
Properly expand the environment's name in all commands
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/application/runner_test.rb | 4 | ||||
-rw-r--r-- | railties/test/commands/credentials_test.rb | 14 | ||||
-rw-r--r-- | railties/test/commands/server_test.rb | 10 |
3 files changed, 27 insertions, 1 deletions
diff --git a/railties/test/application/runner_test.rb b/railties/test/application/runner_test.rb index d590b6f6fb..dfb9540093 100644 --- a/railties/test/application/runner_test.rb +++ b/railties/test/application/runner_test.rb @@ -109,6 +109,10 @@ module ApplicationTests assert_match "production", rails("runner", "-e", "production", "puts Rails.env") end + def test_environment_option_is_properly_expanded + assert_match "production", rails("runner", "-e", "prod", "puts Rails.env") + end + def test_runner_detects_syntax_errors output = rails("runner", "puts 'hello world", allow_failure: true) assert_not_predicate $?, :success? diff --git a/railties/test/commands/credentials_test.rb b/railties/test/commands/credentials_test.rb index 10d0ba1cae..3654e96aed 100644 --- a/railties/test/commands/credentials_test.rb +++ b/railties/test/commands/credentials_test.rb @@ -63,6 +63,14 @@ class Rails::Command::CredentialsCommandTest < ActiveSupport::TestCase end end + test "edit command properly expand environment option" do + assert_match(/access_key_id: 123/, run_edit_command(environment: "prod")) + Dir.chdir(app_path) do + assert File.exist?("config/credentials/production.key") + assert File.exist?("config/credentials/production.yml.enc") + end + end + test "edit command does not raise when an initializer tries to access non-existent credentials" do app_file "config/initializers/raise_when_loaded.rb", <<-RUBY Rails.application.credentials.missing_key! @@ -95,6 +103,12 @@ class Rails::Command::CredentialsCommandTest < ActiveSupport::TestCase assert_match(/access_key_id: 123/, run_show_command(environment: "production")) end + test "show command properly expand environment option" do + run_edit_command(environment: "production") + + assert_match(/access_key_id: 123/, run_show_command(environment: "prod")) + end + private def run_edit_command(editor: "cat", environment: nil, **options) switch_env("EDITOR", editor) do diff --git a/railties/test/commands/server_test.rb b/railties/test/commands/server_test.rb index 25b89ecbd8..b78370a233 100644 --- a/railties/test/commands/server_test.rb +++ b/railties/test/commands/server_test.rb @@ -22,6 +22,12 @@ class Rails::Command::ServerCommandTest < ActiveSupport::TestCase assert_nil options[:server] end + def test_environment_option_is_properly_expanded + args = ["-e", "prod"] + options = parse_arguments(args) + assert_equal "production", options[:environment] + end + def test_explicit_using_option args = ["-u", "thin"] options = parse_arguments(args) @@ -285,6 +291,8 @@ class Rails::Command::ServerCommandTest < ActiveSupport::TestCase end def parse_arguments(args = []) - Rails::Command::ServerCommand.new([], args).server_options + command = Rails::Command::ServerCommand.new([], args) + command.send(:extract_environment_option_from_argument) + command.server_options end end |