summaryrefslogtreecommitdiff
path: root/spec/unit/policy_builder
diff options
context:
space:
mode:
authordanielsdeleo <dan@chef.io>2015-10-01 10:58:00 -0700
committerdanielsdeleo <dan@chef.io>2015-10-01 10:58:00 -0700
commit33d6cebdc92e0d5e0c8186480947b9672ae541ed (patch)
tree79d052c30c3a78a0937240dc05958403f24adb00 /spec/unit/policy_builder
parent8c042622fbf94acca813bd6d84d967d2ea08ec43 (diff)
downloadchef-33d6cebdc92e0d5e0c8186480947b9672ae541ed.tar.gz
Un-remove ExpandNodeObject#load_node, deprecate itpolicybuilder-load-node-unremove
Some third-party tools are using this, we need it to work.
Diffstat (limited to 'spec/unit/policy_builder')
-rw-r--r--spec/unit/policy_builder/expand_node_object_spec.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/unit/policy_builder/expand_node_object_spec.rb b/spec/unit/policy_builder/expand_node_object_spec.rb
index 815926ffb7..306d677108 100644
--- a/spec/unit/policy_builder/expand_node_object_spec.rb
+++ b/spec/unit/policy_builder/expand_node_object_spec.rb
@@ -34,6 +34,14 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
expect(policy_builder).to respond_to(:node)
end
+ it "implements a load_node method for backwards compatibility until Chef 13" do
+ expect(policy_builder).to respond_to(:load_node)
+ end
+
+ it "has removed the deprecated #load_node method", :chef_gte_13_only do
+ expect(policy_builder).to_not respond_to(:load_node)
+ end
+
it "implements a finish_load_node method" do
expect(policy_builder).to respond_to(:finish_load_node)
end
@@ -98,6 +106,27 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
end
+ context "deprecated #load_node method" do
+
+ let(:node) do
+ node = Chef::Node.new
+ node.name(node_name)
+ node.run_list(["recipe[a::default]", "recipe[b::server]"])
+ node
+ end
+
+ before do
+ Chef::Config[:treat_deprecation_warnings_as_errors] = false
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
+ policy_builder.load_node
+ end
+
+ it "loads the node" do
+ expect(policy_builder.node).to eq(node)
+ end
+
+ end
+
context "once the node has been loaded" do
let(:node) do
node = Chef::Node.new