summaryrefslogtreecommitdiff
path: root/spec/unit/knife/data_bag_edit_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/knife/data_bag_edit_spec.rb')
-rw-r--r--spec/unit/knife/data_bag_edit_spec.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/spec/unit/knife/data_bag_edit_spec.rb b/spec/unit/knife/data_bag_edit_spec.rb
index 9fa97760cd..6f19b5e63e 100644
--- a/spec/unit/knife/data_bag_edit_spec.rb
+++ b/spec/unit/knife/data_bag_edit_spec.rb
@@ -88,7 +88,6 @@ describe Chef::Knife::DataBagEdit do
let(:transmitted_hash) { enc_edited_hash }
before(:each) do
- expect(knife).to receive(:encryption_secret_provided?).at_least(1).times.and_return(true)
expect(knife).to receive(:read_secret).at_least(1).times.and_return(secret)
expect(Chef::EncryptedDataBagItem).to receive(:encrypt_data_bag_item).with(raw_edited_hash, secret).and_return(enc_edited_hash)
end
@@ -99,10 +98,19 @@ describe Chef::Knife::DataBagEdit do
# If the data bag is encrypted, it gets passed to `edit` as a hash. Otherwise, it gets passed as a DataBag
let (:data_to_edit) { raw_hash }
+ before(:each) do
+ expect(knife).to receive(:encryption_secret_provided_ignore_encrypt_flag?).and_return(true)
+ end
+
include_examples "editing a data bag"
end
context "the data bag starts unencrypted" do
+ before(:each) do
+ expect(knife).to receive(:encryption_secret_provided_ignore_encrypt_flag?).exactly(0).times
+ expect(knife).to receive(:encryption_secret_provided?).and_return(true)
+ end
+
include_examples "editing a data bag"
end
end
@@ -110,7 +118,7 @@ describe Chef::Knife::DataBagEdit do
it "fails to edit an encrypted data bag if the secret is missing" do
expect(Chef::DataBagItem).to receive(:load).with(bag_name, item_name).and_return(db)
expect(knife).to receive(:encrypted?).with(db.raw_data).and_return(true)
- expect(knife).to receive(:encryption_secret_provided?).and_return(false)
+ expect(knife).to receive(:encryption_secret_provided_ignore_encrypt_flag?).and_return(false)
expect(knife.ui).to receive(:fatal).with("You cannot edit an encrypted data bag without providing the secret.")
expect {knife.run}.to exit_with_code(1)