diff options
author | Thom May <thom@may.lt> | 2016-02-12 10:12:11 -0800 |
---|---|---|
committer | Thom May <thom@may.lt> | 2016-02-12 10:12:11 -0800 |
commit | a5afeecc19170cac9d430f7bee128d05e9bca5a9 (patch) | |
tree | ff2bba1f22ef67b7022038f011d416d695000dba | |
parent | 1e324f073455db7596f37da6bf21b2f6521529ce (diff) | |
parent | 3357e7113ddc72d93e10b82520d007a51be4cad9 (diff) | |
download | chef-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.rb | 2 | ||||
-rw-r--r-- | spec/unit/policy_builder/policyfile_spec.rb | 8 |
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 |