diff options
author | danielsdeleo <dan@getchef.com> | 2014-08-05 13:28:43 -0700 |
---|---|---|
committer | danielsdeleo <dan@getchef.com> | 2014-08-12 11:03:09 -0700 |
commit | f5ea885549b840cbb9008f739d1f6f1784e06f97 (patch) | |
tree | 2ba9660390029cd6beadc1e79707c59e411c2b41 /spec/unit/cookbook/cookbook_version_loader_spec.rb | |
parent | 98967ebcf02fa3a85f63a532ca5a43ce70dcfe6a (diff) | |
download | chef-f5ea885549b840cbb9008f739d1f6f1784e06f97.tar.gz |
Respect metadata name attribute
Fixes CHEF-3307
Diffstat (limited to 'spec/unit/cookbook/cookbook_version_loader_spec.rb')
-rw-r--r-- | spec/unit/cookbook/cookbook_version_loader_spec.rb | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/spec/unit/cookbook/cookbook_version_loader_spec.rb b/spec/unit/cookbook/cookbook_version_loader_spec.rb index 3e69a37d54..f60248a3b2 100644 --- a/spec/unit/cookbook/cookbook_version_loader_spec.rb +++ b/spec/unit/cookbook/cookbook_version_loader_spec.rb @@ -20,7 +20,7 @@ require 'spec_helper' describe Chef::Cookbook::CookbookVersionLoader do - describe "loading a simple cookbook" do + describe "loading a cookbook" do let(:chefignore) { nil } @@ -29,7 +29,7 @@ describe Chef::Cookbook::CookbookVersionLoader do let(:cookbook_loader) { Chef::Cookbook::CookbookVersionLoader.new(cookbook_path, chefignore) } let(:loaded_cookbook) do - cookbook_loader.load_cookbooks + cookbook_loader.load! cookbook_loader.cookbook_version end @@ -84,6 +84,30 @@ describe Chef::Cookbook::CookbookVersionLoader do end + context "when the given path is not actually a cookbook" do + + let(:cookbook_path) { File.join(CHEF_SPEC_DATA, "cookbooks/NOTHING_HERE_FOLKS") } + + it "raises an error when loading with #load!" do + expect { cookbook_loader.load! }.to raise_error(Chef::Exceptions::CookbookNotFoundInRepo) + end + + it "skips the cookbook when called with #load" do + expect { cookbook_loader.load }.to_not raise_error + end + + end + + context "when a cookbook has a metadata name different than directory basename" do + + let(:cookbook_path) { File.join(CHEF_SPEC_DATA, "cookbooks/name-mismatch-versionnumber") } + + it "prefers the metadata name to the directory basename" do + expect(loaded_cookbook.name).to eq(:"name-mismatch") + end + + end + end end |