summaryrefslogtreecommitdiff
path: root/spec/unit/policy_builder
diff options
context:
space:
mode:
authordanielsdeleo <dan@chef.io>2015-09-17 09:48:31 -0700
committerdanielsdeleo <dan@chef.io>2015-09-17 14:29:50 -0700
commit2cadf9cd40e4c19741121bf2df180941918107bb (patch)
treeb5390e5d7ad0ec57400f9609142ea21f330829d4 /spec/unit/policy_builder
parent6883743831ff798d3d704ee62c78796ff9b4df16 (diff)
downloadchef-2cadf9cd40e4c19741121bf2df180941918107bb.tar.gz
Add `setup_chef_class` to Policyfile policy builder
Also, mark internal public API as @private
Diffstat (limited to 'spec/unit/policy_builder')
-rw-r--r--spec/unit/policy_builder/policyfile_spec.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/spec/unit/policy_builder/policyfile_spec.rb b/spec/unit/policy_builder/policyfile_spec.rb
index da14222339..9a39161648 100644
--- a/spec/unit/policy_builder/policyfile_spec.rb
+++ b/spec/unit/policy_builder/policyfile_spec.rb
@@ -572,6 +572,8 @@ describe Chef::PolicyBuilder::Policyfile do
shared_examples_for "fetching cookbooks when they exist" do
context "and the cookbooks can be fetched" do
before do
+ Chef.reset!
+
policy_builder.finish_load_node(node)
policy_builder.build_node
@@ -580,6 +582,10 @@ describe Chef::PolicyBuilder::Policyfile do
and_return(cookbook_synchronizer)
end
+ after do
+ Chef.reset!
+ end
+
it "builds a Hash of the form 'cookbook_name' => Chef::CookbookVersion" do
expect(policy_builder.cookbooks_to_sync).to eq(expected_cookbook_hash)
end
@@ -597,6 +603,13 @@ describe Chef::PolicyBuilder::Policyfile do
expect(run_context.cookbook_collection.keys).to match_array(["example1", "example2"])
end
+ it "makes the run context available via static method on Chef" do
+ expect(cookbook_synchronizer).to receive(:sync_cookbooks)
+ expect_any_instance_of(Chef::RunContext).to receive(:load).with(policy_builder.run_list_expansion_ish)
+ run_context = policy_builder.setup_run_context
+ expect(Chef.run_context).to eq(run_context)
+ end
+
end
end # shared_examples_for "fetching cookbooks"