summaryrefslogtreecommitdiff
path: root/spec/unit/cookbook_version_file_specificity_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/cookbook_version_file_specificity_spec.rb')
-rw-r--r--spec/unit/cookbook_version_file_specificity_spec.rb30
1 files changed, 25 insertions, 5 deletions
diff --git a/spec/unit/cookbook_version_file_specificity_spec.rb b/spec/unit/cookbook_version_file_specificity_spec.rb
index ba7aaa59f5..de5f04695b 100644
--- a/spec/unit/cookbook_version_file_specificity_spec.rb
+++ b/spec/unit/cookbook_version_file_specificity_spec.rb
@@ -94,11 +94,18 @@ describe Chef::CookbookVersion, "file specificity" do
# directory adirectory
{
- :name => "files/anotherfile1.rb",
- :path => "files/host-examplehost.example.org/adirectory/anotherfile1.rb.host",
- :full_path => "/cookbook-folder/files/host-examplehost.example.org/adirectory/anotherfile1.rb.host",
- :checksum => "csum-host-1",
- :specificity => "host-examplehost.example.org",
+ name: "files/anotherfile1.rb",
+ path: "files/root_directory/anotherfile1.rb.root",
+ checksum: "csum-root-directory",
+ specificity: "root_directory",
+ },
+
+ {
+ name: "files/anotherfile1.rb",
+ path: "files/host-examplehost.example.org/adirectory/anotherfile1.rb.host",
+ full_path: "/cookbook-folder/files/host-examplehost.example.org/adirectory/anotherfile1.rb.host",
+ checksum: "csum-host-1",
+ specificity: "host-examplehost.example.org",
},
{
:name => "files/anotherfile2.rb",
@@ -483,6 +490,19 @@ describe Chef::CookbookVersion, "file specificity" do
## Globbing the relative paths out of the manifest records ##
describe "when globbing for relative file paths based on filespecificity" do
+ it "should return a list of relative paths based on priority preference: root directory" do
+ node = Chef::Node.new
+ node.automatic_attrs[:platform] = "ubuntu"
+ node.automatic_attrs[:platform_version] = "9.10"
+ node.automatic_attrs[:fqdn] = "examplehost.example.org"
+
+ filenames = @cookbook.relative_filenames_in_preferred_directory(node, :files, "root_directory")
+ expect(filenames).not_to be_nil
+ expect(filenames.size).to eq(1)
+
+ expect(filenames.sort).to eq(["anotherfile1.rb.root"])
+ end
+
it "should return a list of relative paths based on priority preference: host" do
node = Chef::Node.new
node.automatic_attrs[:platform] = "ubuntu"