summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmilien <emilien.floret@edifixio.com>2017-12-09 00:00:00 +0100
committerEmilien <emilien.floret@edifixio.com>2017-12-09 00:00:00 +0100
commita917fe84578b30b7e60d5aaa06456bdd2cac9adc (patch)
tree85eda3b1774dfa1c67ebb5c286d92731a8aba485
parent3ee897c4f8eed8c1de61ffe60378d4eb1fa5136e (diff)
downloadchef-a917fe84578b30b7e60d5aaa06456bdd2cac9adc.tar.gz
added test for data bag name containing reserved word
-rw-r--r--spec/unit/knife/data_bag_create_spec.rb23
1 files changed, 22 insertions, 1 deletions
diff --git a/spec/unit/knife/data_bag_create_spec.rb b/spec/unit/knife/data_bag_create_spec.rb
index 1f99fe74fe..f7dfc075e1 100644
--- a/spec/unit/knife/data_bag_create_spec.rb
+++ b/spec/unit/knife/data_bag_create_spec.rb
@@ -79,7 +79,28 @@ describe Chef::Knife::DataBagCreate do
expect { knife.run }.to exit_with_code(1)
end
end
-
+
+ context "when part of the name is a reserved name" do
+ before do
+ exception = double("404 error", :code => "404")
+ %w{node role client environment}.each do |name|
+ allow(rest).to receive(:get)
+ .with("data/sudoing_#{name}_admins")
+ .and_raise(Net::HTTPServerException.new("404", exception))
+ end
+ end
+
+ it "will create a data bag containing a reserved word" do
+ %w{node role client environment}.each do |name|
+ knife.name_args = ["sudoing_#{name}_admins"]
+ expect(rest).to receive(:post).with("data", { "name" => knife.name_args[0] })
+ expect(knife.ui).to receive(:info).with("Created data_bag[#{knife.name_args[0]}]")
+
+ knife.run
+ end
+ end
+ end
+
context "when given one argument" do
before do
knife.name_args = [bag_name]