summaryrefslogtreecommitdiff
path: root/spec/unit/policy_builder
diff options
context:
space:
mode:
authorClaire McQuin <claire@getchef.com>2014-10-29 15:14:22 -0700
committerClaire McQuin <claire@getchef.com>2014-10-29 15:59:04 -0700
commit5fed7a65a2f024d964ecf2de1bcf2911cf8a600c (patch)
tree14cc6968e4fe4fd2485c0211088b25c645a80a4b /spec/unit/policy_builder
parentb92c309b0f1aa0837f76ab89d6c81c36076ceca9 (diff)
downloadchef-5fed7a65a2f024d964ecf2de1bcf2911cf8a600c.tar.gz
Update to RSpec 3.
Diffstat (limited to 'spec/unit/policy_builder')
-rw-r--r--spec/unit/policy_builder/expand_node_object_spec.rb35
-rw-r--r--spec/unit/policy_builder/policyfile_spec.rb40
2 files changed, 37 insertions, 38 deletions
diff --git a/spec/unit/policy_builder/expand_node_object_spec.rb b/spec/unit/policy_builder/expand_node_object_spec.rb
index a1e0b881d5..8e9fdc305e 100644
--- a/spec/unit/policy_builder/expand_node_object_spec.rb
+++ b/spec/unit/policy_builder/expand_node_object_spec.rb
@@ -73,7 +73,7 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
it "creates a new in-memory node object with the given name" do
policy_builder.load_node
- policy_builder.node.name.should == node_name
+ expect(policy_builder.node.name).to eq(node_name)
end
end
@@ -83,9 +83,9 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
let(:node) { Chef::Node.new.tap { |n| n.name(node_name) } }
it "loads or creates a node on the server" do
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
policy_builder.load_node
- policy_builder.node.should == node
+ expect(policy_builder.node).to eq(node)
end
end
@@ -95,7 +95,7 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
# XXX: Chef::Client just needs to be able to call this, it doesn't depend on the return value.
it "builds the node and returns the updated node object" do
- pending
+ skip
end
end
@@ -133,7 +133,7 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
end
before do
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
policy_builder.load_node
end
@@ -167,7 +167,7 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
before do
Chef::Config[:environment] = configured_environment
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
policy_builder.load_node
policy_builder.build_node
end
@@ -186,7 +186,7 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
end
it "reports that a temporary_policy is not being used" do
- expect(policy_builder.temporary_policy?).to be_false
+ expect(policy_builder.temporary_policy?).to be_falsey
end
describe "when the given run list is not in expanded form" do
@@ -210,7 +210,7 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
node.override_attrs = original_override_attrs
node.run_list(primary_runlist)
- node.should_receive(:expand!).with("server") do
+ expect(node).to receive(:expand!).with("server") do
node.run_list("recipe[from_role::default]")
expansion
end
@@ -248,7 +248,7 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
end
it "reports that a temporary policy is being used" do
- expect(policy_builder.temporary_policy?).to be_true
+ expect(policy_builder.temporary_policy?).to be_truthy
end
end
@@ -267,7 +267,7 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
let(:environment) do
environment = Chef::Environment.new.tap {|e| e.name("prod") }
- Chef::Environment.should_receive(:load).with("prod").and_return(environment)
+ expect(Chef::Environment).to receive(:load).with("prod").and_return(environment)
environment
end
@@ -302,27 +302,27 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
let(:cookbook_synchronizer) { double("CookbookSynchronizer") }
before do
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
- policy_builder.stub(:api_service).and_return(chef_http)
+ allow(policy_builder).to receive(:api_service).and_return(chef_http)
policy_builder.load_node
policy_builder.build_node
run_list_expansion = policy_builder.run_list_expansion
- chef_http.should_receive(:post).with(cookbook_resolve_url, cookbook_resolve_post_data).and_return(cookbook_hash)
- Chef::CookbookSynchronizer.should_receive(:new).with(cookbook_hash, events).and_return(cookbook_synchronizer)
- cookbook_synchronizer.should_receive(:sync_cookbooks)
+ expect(chef_http).to receive(:post).with(cookbook_resolve_url, cookbook_resolve_post_data).and_return(cookbook_hash)
+ expect(Chef::CookbookSynchronizer).to receive(:new).with(cookbook_hash, events).and_return(cookbook_synchronizer)
+ expect(cookbook_synchronizer).to receive(:sync_cookbooks)
- Chef::RunContext.any_instance.should_receive(:load).with(run_list_expansion)
+ expect_any_instance_of(Chef::RunContext).to receive(:load).with(run_list_expansion)
policy_builder.setup_run_context
end
it "configures FileVendor to fetch files remotely" do
manifest = double("cookbook manifest")
- Chef::Cookbook::RemoteFileVendor.should_receive(:new).with(manifest, chef_http)
+ expect(Chef::Cookbook::RemoteFileVendor).to receive(:new).with(manifest, chef_http)
Chef::Cookbook::FileVendor.create_from_manifest(manifest)
end
@@ -333,4 +333,3 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
end
end
-
diff --git a/spec/unit/policy_builder/policyfile_spec.rb b/spec/unit/policy_builder/policyfile_spec.rb
index f02c79ef12..5e2844201d 100644
--- a/spec/unit/policy_builder/policyfile_spec.rb
+++ b/spec/unit/policy_builder/policyfile_spec.rb
@@ -96,7 +96,7 @@ describe Chef::PolicyBuilder::Policyfile do
http = double("Chef::REST")
server_url = "https://api.opscode.com/organizations/example"
Chef::Config[:chef_server_url] = server_url
- Chef::REST.should_receive(:new).with(server_url).and_return(http)
+ expect(Chef::REST).to receive(:new).with(server_url).and_return(http)
expect(policy_builder.http_api).to eq(http)
end
@@ -107,7 +107,7 @@ describe Chef::PolicyBuilder::Policyfile do
end
it "always gives `false` for #temporary_policy?" do
- expect(initialize_pb.temporary_policy?).to be_false
+ expect(initialize_pb.temporary_policy?).to be_falsey
end
context "chef-solo" do
@@ -168,15 +168,15 @@ describe Chef::PolicyBuilder::Policyfile do
before do
# TODO: agree on this name and logic.
Chef::Config[:deployment_group] = "example-policy-stage"
- policy_builder.stub(:http_api).and_return(http_api)
+ allow(policy_builder).to receive(:http_api).and_return(http_api)
end
context "when the deployment group cannot be loaded" do
let(:error404) { Net::HTTPServerException.new("404 message", :body) }
before do
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
- http_api.should_receive(:get).
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
+ expect(http_api).to receive(:get).
with("data/policyfiles/example-policy-stage").
and_raise(error404)
end
@@ -186,7 +186,7 @@ describe Chef::PolicyBuilder::Policyfile do
end
it "sends error message to the event system" do
- events.should_receive(:node_load_failed).with(node_name, an_instance_of(err_namespace::ConfigurationError), Chef::Config)
+ expect(events).to receive(:node_load_failed).with(node_name, an_instance_of(err_namespace::ConfigurationError), Chef::Config)
expect { policy_builder.load_node }.to raise_error(err_namespace::ConfigurationError)
end
@@ -195,7 +195,7 @@ describe Chef::PolicyBuilder::Policyfile do
describe "when the deployment_group is not configured" do
before do
Chef::Config[:deployment_group] = nil
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
end
it "errors while loading the node" do
@@ -206,14 +206,14 @@ describe Chef::PolicyBuilder::Policyfile do
it "passes error information to the event system" do
# TODO: also make sure something acceptable happens with the error formatters
err_class = err_namespace::ConfigurationError
- events.should_receive(:node_load_failed).with(node_name, an_instance_of(err_class), Chef::Config)
+ expect(events).to receive(:node_load_failed).with(node_name, an_instance_of(err_class), Chef::Config)
expect { policy_builder.load_node }.to raise_error(err_class)
end
end
context "and a deployment_group is configured" do
before do
- http_api.should_receive(:get).with("data/policyfiles/example-policy-stage").and_return(parsed_policyfile_json)
+ expect(http_api).to receive(:get).with("data/policyfiles/example-policy-stage").and_return(parsed_policyfile_json)
end
it "fetches the policy file from a data bag item" do
@@ -239,7 +239,7 @@ describe Chef::PolicyBuilder::Policyfile do
end
it "implements #expand_run_list in a manner compatible with ExpandNodeObject" do
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
policy_builder.load_node
expect(policy_builder.expand_run_list).to respond_to(:recipes)
expect(policy_builder.expand_run_list.recipes).to eq(["example1::default", "example2::server"])
@@ -278,7 +278,7 @@ describe Chef::PolicyBuilder::Policyfile do
describe "building the node object" do
before do
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
policy_builder.load_node
policy_builder.build_node
@@ -339,7 +339,7 @@ describe Chef::PolicyBuilder::Policyfile do
let(:error404) { Net::HTTPServerException.new("404 message", :body) }
before do
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
# Remove references to example2 cookbook because we're iterating
# over a Hash data structure and on ruby 1.8.7 iteration order will
@@ -350,7 +350,7 @@ describe Chef::PolicyBuilder::Policyfile do
policy_builder.load_node
policy_builder.build_node
- http_api.should_receive(:get).with("cookbooks/example1/#{example1_xyz_version}").
+ expect(http_api).to receive(:get).with("cookbooks/example1/#{example1_xyz_version}").
and_raise(error404)
end
@@ -362,17 +362,17 @@ describe Chef::PolicyBuilder::Policyfile do
context "and the cookbooks can be fetched" do
before do
- Chef::Node.should_receive(:find_or_create).with(node_name).and_return(node)
+ expect(Chef::Node).to receive(:find_or_create).with(node_name).and_return(node)
policy_builder.load_node
policy_builder.build_node
- http_api.should_receive(:get).with("cookbooks/example1/#{example1_xyz_version}").
+ expect(http_api).to receive(:get).with("cookbooks/example1/#{example1_xyz_version}").
and_return(example1_cookbook_object)
- http_api.should_receive(:get).with("cookbooks/example2/#{example2_xyz_version}").
+ expect(http_api).to receive(:get).with("cookbooks/example2/#{example2_xyz_version}").
and_return(example2_cookbook_object)
- Chef::CookbookSynchronizer.stub(:new).
+ allow(Chef::CookbookSynchronizer).to receive(:new).
with(expected_cookbook_hash, events).
and_return(cookbook_synchronizer)
end
@@ -382,13 +382,13 @@ describe Chef::PolicyBuilder::Policyfile do
end
it "syncs the desired cookbooks via CookbookSynchronizer" do
- cookbook_synchronizer.should_receive(:sync_cookbooks)
+ expect(cookbook_synchronizer).to receive(:sync_cookbooks)
policy_builder.sync_cookbooks
end
it "builds a run context" do
- cookbook_synchronizer.should_receive(:sync_cookbooks)
- Chef::RunContext.any_instance.should_receive(:load).with(policy_builder.run_list_expansion_ish)
+ 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(run_context.node).to eq(node)
expect(run_context.cookbook_collection.keys).to match_array(["example1", "example2"])