diff options
author | tyler-ball <tyleraball@gmail.com> | 2014-09-12 14:48:48 -0700 |
---|---|---|
committer | tyler-ball <tyleraball@gmail.com> | 2014-09-29 08:31:08 -0700 |
commit | 22889f0fd605a1404ad1c46562254e19bd0f7ede (patch) | |
tree | 82c9e3b9d619adc585a471e462821c5158fd3ad7 | |
parent | d24ec65aced97b96188ffcc439f4f3cccdd41443 (diff) | |
download | chef-22889f0fd605a1404ad1c46562254e19bd0f7ede.tar.gz |
Trying to fix intermittent test failure on Travis
-rw-r--r-- | spec/unit/knife/data_bag_from_file_spec.rb | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/spec/unit/knife/data_bag_from_file_spec.rb b/spec/unit/knife/data_bag_from_file_spec.rb index 150ad42148..6a55c0e0d2 100644 --- a/spec/unit/knife/data_bag_from_file_spec.rb +++ b/spec/unit/knife/data_bag_from_file_spec.rb @@ -58,21 +58,23 @@ describe Chef::Knife::DataBagFromFile do let(:db_folder2) { File.join(tmp_dir, data_bags_path, bag_name2) } let(:db_file3) { Tempfile.new(["data_bag_from_file_test3", ".json"], db_folder2) } - def plain_bag(b = bag_name) - data_bag = double("Chef::DataBagItem") + def new_bag_expects(b = bag_name, d = plain_data) + data_bag = double expect(data_bag).to receive(:data_bag).with(b) - expect(data_bag).to receive(:raw_data=).with(plain_data) + expect(data_bag).to receive(:raw_data=).with(d) expect(data_bag).to receive(:save) expect(data_bag).to receive(:data_bag) expect(data_bag).to receive(:id) data_bag end + let(:data_bags_path) { "data_bags" } let(:plain_data) { { "id" => "item_name", "greeting" => "hello", "nested" => { "a1" => [1, 2, 3], "a2" => { "b1" => true }} } } + let(:enc_data) { Chef::EncryptedDataBagItem.encrypt_data_bag_item(plain_data, secret) } let(:rest) { double("Chef::REST") } let(:stdout) { StringIO.new } @@ -87,7 +89,7 @@ describe Chef::Knife::DataBagFromFile do it "loads from a file and saves" do expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name, db_file.path).and_return(plain_data) - expect(Chef::DataBagItem).to receive(:new).and_return(plain_bag) + expect(Chef::DataBagItem).to receive(:new).and_return(new_bag_expects) knife.run end @@ -96,7 +98,7 @@ describe Chef::Knife::DataBagFromFile do knife.name_args = [ bag_name, db_file.path, db_file2.path ] expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name, db_file.path).and_return(plain_data) expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name, db_file2.path).and_return(plain_data) - expect(Chef::DataBagItem).to receive(:new).twice.and_return(plain_bag, plain_bag) + expect(Chef::DataBagItem).to receive(:new).twice.and_return(new_bag_expects, new_bag_expects) knife.run end @@ -105,7 +107,7 @@ describe Chef::Knife::DataBagFromFile do knife.name_args = [ bag_name, db_folder ] expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name, db_file.path).and_return(plain_data) expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name, db_file2.path).and_return(plain_data) - expect(Chef::DataBagItem).to receive(:new).twice.and_return(plain_bag, plain_bag) + expect(Chef::DataBagItem).to receive(:new).twice.and_return(new_bag_expects, new_bag_expects) knife.run end @@ -127,7 +129,7 @@ describe Chef::Knife::DataBagFromFile do expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name, File.basename(db_file.path)).and_return(plain_data) expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name, File.basename(db_file2.path)).and_return(plain_data) expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name2, File.basename(db_file3.path)).and_return(plain_data) - expect(Chef::DataBagItem).to receive(:new).exactly(3).times.and_return(plain_bag, plain_bag, plain_bag(bag_name2)) + expect(Chef::DataBagItem).to receive(:new).exactly(3).times.and_return(new_bag_expects, new_bag_expects, new_bag_expects(bag_name2)) knife.run end @@ -136,7 +138,7 @@ describe Chef::Knife::DataBagFromFile do knife.name_args = [bag_name2] config[:all] = true expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name2, File.basename(db_file3.path)).and_return(plain_data) - expect(Chef::DataBagItem).to receive(:new).and_return(plain_bag(bag_name2)) + expect(Chef::DataBagItem).to receive(:new).and_return(new_bag_expects(bag_name2)) knife.run end @@ -147,13 +149,12 @@ describe Chef::Knife::DataBagFromFile do before(:each) do expect(knife).to receive(:encryption_secret_provided?).and_return(true) expect(knife).to receive(:read_secret).and_return(secret) - # TODO this should return encrypted data - expect(Chef::EncryptedDataBagItem).to receive(:encrypt_data_bag_item).with(plain_data, secret).and_return(plain_data) + expect(Chef::EncryptedDataBagItem).to receive(:encrypt_data_bag_item).with(plain_data, secret).and_return(enc_data) end it "encrypts values when given --secret" do expect(knife.loader).to receive(:load_from).with(data_bags_path, bag_name, db_file.path).and_return(plain_data) - expect(Chef::DataBagItem).to receive(:new).and_return(plain_bag) + expect(Chef::DataBagItem).to receive(:new).and_return(new_bag_expects(bag_name, enc_data)) knife.run end |