diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2017-02-23 15:55:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-23 15:55:15 +0100 |
commit | 039380e3eeb24ed17f1824183b94638f0cfff747 (patch) | |
tree | 043922cdcb7298443aac11f594c412404a299fe9 /railties/test/secrets_test.rb | |
parent | 11660945696155c86a05260795e1a0afce0d291d (diff) | |
download | rails-039380e3eeb24ed17f1824183b94638f0cfff747.tar.gz rails-039380e3eeb24ed17f1824183b94638f0cfff747.tar.bz2 rails-039380e3eeb24ed17f1824183b94638f0cfff747.zip |
Revert "Add encrypted secrets" (#28127)
Diffstat (limited to 'railties/test/secrets_test.rb')
-rw-r--r-- | railties/test/secrets_test.rb | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/railties/test/secrets_test.rb b/railties/test/secrets_test.rb deleted file mode 100644 index 36e42cf1f9..0000000000 --- a/railties/test/secrets_test.rb +++ /dev/null @@ -1,108 +0,0 @@ -require "abstract_unit" -require "isolation/abstract_unit" -require "rails/generators" -require "rails/generators/rails/encrypted_secrets/encrypted_secrets_generator" -require "rails/secrets" - -class Rails::SecretsTest < ActiveSupport::TestCase - include ActiveSupport::Testing::Isolation - - def setup - build_app - - @old_read_encrypted_secrets, Rails::Secrets.read_encrypted_secrets = - Rails::Secrets.read_encrypted_secrets, true - end - - def teardown - Rails::Secrets.read_encrypted_secrets = @old_read_encrypted_secrets - - teardown_app - end - - test "setting read to false skips parsing" do - Rails::Secrets.read_encrypted_secrets = false - - Dir.chdir(app_path) do - assert_equal Hash.new, Rails::Secrets.parse(%w( config/secrets.yml.enc ), env: "production") - end - end - - test "raises when reading secrets without a key" do - run_secrets_generator do - FileUtils.rm("config/secrets.yml.key") - - assert_raises Rails::Secrets::MissingKeyError do - Rails::Secrets.key - end - end - end - - test "reading with ENV variable" do - run_secrets_generator do - begin - old_key = ENV["RAILS_MASTER_KEY"] - ENV["RAILS_MASTER_KEY"] = IO.binread("config/secrets.yml.key").strip - FileUtils.rm("config/secrets.yml.key") - - assert_match "production:\n# external_api_key", Rails::Secrets.read - ensure - ENV["RAILS_MASTER_KEY"] = old_key - end - end - end - - test "reading from key file" do - run_secrets_generator do - File.binwrite("config/secrets.yml.key", "How do I know you feel it?") - - assert_equal "How do I know you feel it?", Rails::Secrets.key - end - end - - test "editing" do - run_secrets_generator do - decrypted_path = nil - - Rails::Secrets.read_for_editing do |tmp_path| - decrypted_path = tmp_path - - assert_match(/production:\n# external_api_key/, File.read(tmp_path)) - - File.write(tmp_path, "Empty streets, empty nights. The Downtown Lights.") - end - - assert_not File.exist?(decrypted_path) - assert_equal "Empty streets, empty nights. The Downtown Lights.", Rails::Secrets.read - end - end - - test "merging secrets with encrypted precedence" do - run_secrets_generator do - File.write("config/secrets.yml", <<-end_of_secrets) - test: - yeah_yeah: lets-go-walking-down-this-empty-street - end_of_secrets - - Rails::Secrets.write(<<-end_of_secrets) - test: - yeah_yeah: lets-walk-in-the-cool-evening-light - end_of_secrets - - Rails.application.config.root = app_path - Rails.application.instance_variable_set(:@secrets, nil) # Dance around caching 💃🕺 - assert_equal "lets-walk-in-the-cool-evening-light", Rails.application.secrets.yeah_yeah - end - end - - private - def run_secrets_generator - Dir.chdir(app_path) do - capture(:stdout) do - Rails::Generators::EncryptedSecretsGenerator.start - end - - yield - end - end -end |