diff options
| author | Alyssa Ross | 2018-03-01 17:48:08 +0000 |
|---|---|---|
| committer | Alyssa Ross | 2018-03-01 17:48:08 +0000 |
| commit | 84dda31e82607424b435a60504ffc288f16c6ade (patch) | |
| tree | cee636ad2383bcd8ee8a7c4765a8f6394dd8bd90 /Library/Homebrew | |
| parent | 43c658a8fa966c9cb66386961a77c041ebca89dd (diff) | |
| download | brew-84dda31e82607424b435a60504ffc288f16c6ade.tar.bz2 | |
Add tests for ENV#clear_sensitive_environment!
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/extend/ENV.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/ENV_spec.rb | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb index 374be49b9..002220764 100644 --- a/Library/Homebrew/extend/ENV.rb +++ b/Library/Homebrew/extend/ENV.rb @@ -28,9 +28,9 @@ module EnvActivation end def clear_sensitive_environment! - ENV.each_key do |key| + each_key do |key| next unless /(cookie|key|token|password)/i =~ key - ENV.delete key + delete key end end end diff --git a/Library/Homebrew/test/ENV_spec.rb b/Library/Homebrew/test/ENV_spec.rb index 07f6cdb6b..8b39e52d7 100644 --- a/Library/Homebrew/test/ENV_spec.rb +++ b/Library/Homebrew/test/ENV_spec.rb @@ -141,6 +141,20 @@ shared_examples EnvActivation do expect(subject["MAKEFLAGS"]).to eq("-j4") end + + describe "#clear_sensitive_environment!" do + it "removes sensitive environment variables" do + subject["SECRET_TOKEN"] = "password" + subject.clear_sensitive_environment! + expect(subject).not_to include("SECRET_TOKEN") + end + + it "leaves non-sensitive environment variables alone" do + subject["FOO"] = "bar" + subject.clear_sensitive_environment! + expect(subject["FOO"]).to eq "bar" + end + end end describe Stdenv do |
