summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThom May <thom@may.lt>2016-02-12 10:12:11 -0800
committerThom May <thom@may.lt>2016-02-12 10:12:11 -0800
commita5afeecc19170cac9d430f7bee128d05e9bca5a9 (patch)
treeff2bba1f22ef67b7022038f011d416d695000dba
parent1e324f073455db7596f37da6bf21b2f6521529ce (diff)
parent3357e7113ddc72d93e10b82520d007a51be4cad9 (diff)
downloadchef-a5afeecc19170cac9d430f7bee128d05e9bca5a9.tar.gz
Merge pull request #4571 from chef/ad/fix_policyfile_zero
Fix policyfile_zero provisioner in 12.7
-rw-r--r--lib/chef/policy_builder/policyfile.rb2
-rw-r--r--spec/unit/policy_builder/policyfile_spec.rb8
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/chef/policy_builder/policyfile.rb b/lib/chef/policy_builder/policyfile.rb
index 9a6e62bc5d..679e3cfe47 100644
--- a/lib/chef/policy_builder/policyfile.rb
+++ b/lib/chef/policy_builder/policyfile.rb
@@ -497,7 +497,7 @@ class Chef
def compat_mode_manifest_for(cookbook_name, lock_data)
xyz_version = lock_data["dotted_decimal_identifier"]
rel_url = "cookbooks/#{cookbook_name}/#{xyz_version}"
- http_api.get(rel_url)
+ inflate_cbv_object(http_api.get(rel_url))
rescue Exception => e
message = "Error loading cookbook #{cookbook_name} at version #{xyz_version} from #{rel_url}: #{e.class} - #{e.message}"
err = Chef::Exceptions::CookbookNotFound.new(message)
diff --git a/spec/unit/policy_builder/policyfile_spec.rb b/spec/unit/policy_builder/policyfile_spec.rb
index 40f4daaf76..0e73def3e1 100644
--- a/spec/unit/policy_builder/policyfile_spec.rb
+++ b/spec/unit/policy_builder/policyfile_spec.rb
@@ -686,14 +686,18 @@ describe Chef::PolicyBuilder::Policyfile do
before do
expect(http_api).to receive(:get).with(cookbook1_url).
- and_return(example1_cookbook_object)
+ and_return(example1_cookbook_data)
expect(http_api).to receive(:get).with(cookbook2_url).
+ and_return(example2_cookbook_data)
+
+ expect(Chef::CookbookVersion).to receive(:from_cb_artifact_data).with(example1_cookbook_data).
+ and_return(example1_cookbook_object)
+ expect(Chef::CookbookVersion).to receive(:from_cb_artifact_data).with(example2_cookbook_data).
and_return(example2_cookbook_object)
end
include_examples "fetching cookbooks when they exist"
end
-
end
context "when using native API mode (policy_document_native_api == true)" do