diff options
author | Noah Kantrowitz <noah@coderanger.net> | 2017-11-27 17:02:11 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-27 17:02:11 -0500 |
commit | 467df6c1aa5e50565e099b98797f1c1fff193067 (patch) | |
tree | ad965caf859d9e330d285f7e2b2e3e55d957d7ee | |
parent | 15aa72d87e63f02c81444aa1b47a97e6885b5cb1 (diff) | |
parent | 9a202caafbb726dafc654012c2289b7fab616da4 (diff) | |
download | chef-467df6c1aa5e50565e099b98797f1c1fff193067.tar.gz |
Merge pull request #6605 from coderanger/secrets-warning
Only warn if a secret was actually given
-rw-r--r-- | lib/chef/knife/data_bag_show.rb | 2 | ||||
-rw-r--r-- | spec/integration/knife/data_bag_show_spec.rb | 2 | ||||
-rw-r--r-- | spec/unit/knife/data_bag_show_spec.rb | 18 |
3 files changed, 18 insertions, 4 deletions
diff --git a/lib/chef/knife/data_bag_show.rb b/lib/chef/knife/data_bag_show.rb index ea9c390f19..5df0561276 100644 --- a/lib/chef/knife/data_bag_show.rb +++ b/lib/chef/knife/data_bag_show.rb @@ -51,7 +51,7 @@ class Chef ui.warn("Encrypted data bag detected, but no secret provided for decoding. Displaying encrypted data.") format_for_display(raw_data) else - ui.warn("Unencrypted data bag detected, ignoring any provided secret options.") + ui.warn("Unencrypted data bag detected, ignoring any provided secret options.") if secret format_for_display(raw_data) end diff --git a/spec/integration/knife/data_bag_show_spec.rb b/spec/integration/knife/data_bag_show_spec.rb index 22381adb9e..38dfd8730d 100644 --- a/spec/integration/knife/data_bag_show_spec.rb +++ b/spec/integration/knife/data_bag_show_spec.rb @@ -44,7 +44,7 @@ EOM end it "with a single item" do - knife("data bag show rocket falcon9").should_succeed <<EOM, stderr: "WARNING: Unencrypted data bag detected, ignoring any provided secret options.\n" + knife("data bag show rocket falcon9").should_succeed <<EOM heavy: true id: falcon9 EOM diff --git a/spec/unit/knife/data_bag_show_spec.rb b/spec/unit/knife/data_bag_show_spec.rb index ece7f5bf78..8dd0669993 100644 --- a/spec/unit/knife/data_bag_show_spec.rb +++ b/spec/unit/knife/data_bag_show_spec.rb @@ -91,12 +91,11 @@ qux: http://localhost:4000/data/bag_o_data/qux} context "Data bag to show is not encrypted" do before do allow(knife).to receive(:encrypted?).and_return(false) - expect(knife).to receive(:read_secret).exactly(0).times end it "displays the data bag" do + expect(knife).to receive(:read_secret).exactly(0).times expect(Chef::DataBagItem).to receive(:load).with(bag_name, item_name).and_return(data_bag) - expect(knife.ui).to receive(:warn).with("Unencrypted data bag detected, ignoring any provided secret options.") expected = %q{baz: http://localhost:4000/data/bag_o_data/baz id: id @@ -104,6 +103,21 @@ qux: http://localhost:4000/data/bag_o_data/qux} knife.run expect(stdout.string.strip).to eq(expected) end + + context "when a secret is given" do + it "displays the data bag" do + expect(knife).to receive(:encryption_secret_provided_ignore_encrypt_flag?).and_return(true) + expect(knife).to receive(:read_secret).and_return(secret) + expect(Chef::DataBagItem).to receive(:load).with(bag_name, item_name).and_return(data_bag) + expect(knife.ui).to receive(:warn).with("Unencrypted data bag detected, ignoring any provided secret options.") + + expected = %q{baz: http://localhost:4000/data/bag_o_data/baz +id: id +qux: http://localhost:4000/data/bag_o_data/qux} + knife.run + expect(stdout.string.strip).to eq(expected) + end + end end it "displays the list of items in the data bag when only one @name_arg is provided" do |