summaryrefslogtreecommitdiff
path: root/spec/unit/provider
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/provider')
-rw-r--r--spec/unit/provider/cron/unix_spec.rb11
-rw-r--r--spec/unit/provider/cron_spec.rb59
-rw-r--r--spec/unit/provider/group/dscl_spec.rb7
-rw-r--r--spec/unit/provider/group/gpasswd_spec.rb7
-rw-r--r--spec/unit/provider/group/groupmod_spec.rb9
-rw-r--r--spec/unit/provider/group/pw_spec.rb7
-rw-r--r--spec/unit/provider/link_spec.rb8
-rw-r--r--spec/unit/provider/log_spec.rb31
-rw-r--r--spec/unit/provider/package/apt_spec.rb6
-rw-r--r--spec/unit/provider/package/bff_spec.rb4
-rw-r--r--spec/unit/provider/package/rubygems_spec.rb2
-rw-r--r--spec/unit/provider/package_spec.rb15
-rw-r--r--spec/unit/provider/service/macosx_spec.rb6
-rw-r--r--spec/unit/provider/service/windows_spec.rb13
-rw-r--r--spec/unit/provider/user/windows_spec.rb3
-rw-r--r--spec/unit/provider/zypper_repository_spec.rb6
16 files changed, 117 insertions, 77 deletions
diff --git a/spec/unit/provider/cron/unix_spec.rb b/spec/unit/provider/cron/unix_spec.rb
index 5e1fcb35ab..62b941c4aa 100644
--- a/spec/unit/provider/cron/unix_spec.rb
+++ b/spec/unit/provider/cron/unix_spec.rb
@@ -41,10 +41,15 @@ describe Chef::Provider::Cron::Unix do
let(:exitstatus) { 0 }
let(:shell_out) { double("Mixlib::ShellOut", :status => status, :stdout => stdout, :stderr => stderr) }
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
+
it "is a Chef::Provider:Cron" do
expect(provider).to be_a(Chef::Provider::Cron)
end
+ before do
+ allow(run_context).to receive(:logger).and_return(logger)
+ end
describe "read_crontab" do
let(:stderr) { "" }
let(:stdout) do
@@ -59,7 +64,7 @@ describe Chef::Provider::Cron::Unix do
end
before do
- allow(Chef::Log).to receive(:debug)
+ allow(logger).to receive(:trace)
allow(shell_out).to receive(:format_for_exception).and_return("formatted command output")
allow(provider).to receive(:shell_out).with("/usr/bin/crontab -l", :user => username).and_return(shell_out)
end
@@ -83,7 +88,7 @@ describe Chef::Provider::Cron::Unix do
it "logs the crontab output to debug" do
provider.send(:read_crontab)
- expect(Chef::Log).to have_received(:debug).with("formatted command output")
+ expect(logger).to have_received(:trace).with("formatted command output")
end
end
@@ -98,7 +103,7 @@ describe Chef::Provider::Cron::Unix do
it "logs the crontab output to debug" do
provider.send(:read_crontab) rescue nil
- expect(Chef::Log).to have_received(:debug).with("formatted command output")
+ expect(logger).to have_received(:trace).with("formatted command output")
end
end
end
diff --git a/spec/unit/provider/cron_spec.rb b/spec/unit/provider/cron_spec.rb
index ef629ebd52..5673ecc317 100644
--- a/spec/unit/provider/cron_spec.rb
+++ b/spec/unit/provider/cron_spec.rb
@@ -19,16 +19,23 @@
require "spec_helper"
describe Chef::Provider::Cron do
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
+
+ before do
+ @node = Chef::Node.new
+ @events = Chef::EventDispatch::Dispatcher.new
+ @run_context = Chef::RunContext.new(@node, {}, @events)
+ allow(@run_context).to receive(:logger).and_return(logger)
+
+ @new_resource = Chef::Resource::Cron.new("cronhole some stuff", @run_context)
+ @new_resource.user "root"
+ @new_resource.minute "30"
+ @new_resource.command "/bin/true"
+ @provider = Chef::Provider::Cron.new(@new_resource, @run_context)
+ end
+
describe "when with special time string" do
before do
- @node = Chef::Node.new
- @events = Chef::EventDispatch::Dispatcher.new
- @run_context = Chef::RunContext.new(@node, {}, @events)
-
- @new_resource = Chef::Resource::Cron.new("cronhole some stuff", @run_context)
- @new_resource.user "root"
- @new_resource.minute "30"
- @new_resource.command "/bin/true"
@new_resource.time :reboot
@provider = Chef::Provider::Cron.new(@new_resource, @run_context)
end
@@ -113,7 +120,7 @@ CRONTAB
end
it "should report the match" do
- expect(Chef::Log).to receive(:debug).with("Found cron '#{@new_resource.name}'")
+ expect(logger).to receive(:trace).with("Found cron '#{@new_resource.name}'")
@provider.load_current_resource
end
@@ -141,18 +148,6 @@ CRONTAB
end
end
- before do
- @node = Chef::Node.new
- @events = Chef::EventDispatch::Dispatcher.new
- @run_context = Chef::RunContext.new(@node, {}, @events)
-
- @new_resource = Chef::Resource::Cron.new("cronhole some stuff", @run_context)
- @new_resource.user "root"
- @new_resource.minute "30"
- @new_resource.command "/bin/true"
- @provider = Chef::Provider::Cron.new(@new_resource, @run_context)
- end
-
describe "when examining the current system state" do
context "with no crontab for the user" do
before :each do
@@ -166,7 +161,7 @@ CRONTAB
end
it "should report an empty crontab" do
- expect(Chef::Log).to receive(:debug).with("Cron empty for '#{@new_resource.user}'")
+ expect(logger).to receive(:trace).with("Cron empty for '#{@new_resource.user}'")
@provider.load_current_resource
end
end
@@ -190,7 +185,7 @@ CRONTAB
end
it "should report no entry found" do
- expect(Chef::Log).to receive(:debug).with("Cron '#{@new_resource.name}' not found")
+ expect(logger).to receive(:trace).with("Cron '#{@new_resource.name}' not found")
@provider.load_current_resource
end
@@ -296,7 +291,7 @@ CRONTAB
end
it "should report the match" do
- expect(Chef::Log).to receive(:debug).with("Found cron '#{@new_resource.name}'")
+ expect(logger).to receive(:trace).with("Found cron '#{@new_resource.name}'")
@provider.load_current_resource
end
end
@@ -332,7 +327,7 @@ CRONTAB
end
it "should report the match" do
- expect(Chef::Log).to receive(:debug).with("Found cron '#{@new_resource.name}'")
+ expect(logger).to receive(:trace).with("Found cron '#{@new_resource.name}'")
@provider.load_current_resource
end
end
@@ -478,7 +473,7 @@ TEST=LOL
end
it "should log the action" do
- expect(Chef::Log).to receive(:info).with("cron[cronhole some stuff] added crontab entry")
+ expect(logger).to receive(:info).with("cron[cronhole some stuff] added crontab entry")
@provider.run_action(:create)
end
end
@@ -540,7 +535,7 @@ TEST=LOL
end
it "should log the action" do
- expect(Chef::Log).to receive(:info).with("cron[cronhole some stuff] added crontab entry")
+ expect(logger).to receive(:info).with("cron[cronhole some stuff] added crontab entry")
@provider.run_action(:create)
end
end
@@ -605,7 +600,7 @@ TEST=LOL
end
it "should log the action" do
- expect(Chef::Log).to receive(:info).with("cron[cronhole some stuff] updated crontab entry")
+ expect(logger).to receive(:info).with("cron[cronhole some stuff] updated crontab entry")
@provider.run_action(:create)
end
end
@@ -719,8 +714,8 @@ CRONTAB
end
it "should log nothing changed" do
- expect(Chef::Log).to receive(:debug).with("Found cron '#{@new_resource.name}'")
- expect(Chef::Log).to receive(:debug).with("Skipping existing cron entry '#{@new_resource.name}'")
+ expect(logger).to receive(:trace).with("Found cron '#{@new_resource.name}'")
+ expect(logger).to receive(:trace).with("Skipping existing cron entry '#{@new_resource.name}'")
@provider.run_action(:create)
end
end
@@ -739,7 +734,7 @@ CRONTAB
it "should do nothing" do
expect(@provider).not_to receive(:write_crontab)
- expect(Chef::Log).not_to receive(:info)
+ expect(logger).not_to receive(:info)
@provider.run_action(:delete)
end
@@ -806,7 +801,7 @@ FOO=test
end
it "should log the action" do
- expect(Chef::Log).to receive(:info).with("#{@new_resource} deleted crontab entry")
+ expect(logger).to receive(:info).with("#{@new_resource} deleted crontab entry")
@provider.run_action(:delete)
end
end
diff --git a/spec/unit/provider/group/dscl_spec.rb b/spec/unit/provider/group/dscl_spec.rb
index ebf57b097b..6e40e41579 100644
--- a/spec/unit/provider/group/dscl_spec.rb
+++ b/spec/unit/provider/group/dscl_spec.rb
@@ -19,10 +19,13 @@
require "spec_helper"
describe Chef::Provider::Group::Dscl do
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
+
before do
@node = Chef::Node.new
@events = Chef::EventDispatch::Dispatcher.new
@run_context = Chef::RunContext.new(@node, {}, @events)
+ allow(@run_context).to receive(:logger).and_return(logger)
@new_resource = Chef::Resource::Group.new("aj")
@current_resource = Chef::Resource::Group.new("aj")
@provider = Chef::Provider::Group::Dscl.new(@new_resource, @run_context)
@@ -193,7 +196,7 @@ describe Chef::Provider::Group::Dscl do
end
it "should log an appropriate message" do
- expect(Chef::Log).to receive(:debug).with("group[aj] removing group members all your base")
+ expect(logger).to receive(:trace).with("group[aj] removing group members all your base")
@provider.set_members
end
@@ -211,7 +214,7 @@ describe Chef::Provider::Group::Dscl do
end
it "should log an appropriate debug message" do
- expect(Chef::Log).to receive(:debug).with("group[aj] setting group members all, your, base")
+ expect(logger).to receive(:trace).with("group[aj] setting group members all, your, base")
@provider.set_members
end
diff --git a/spec/unit/provider/group/gpasswd_spec.rb b/spec/unit/provider/group/gpasswd_spec.rb
index add87bf008..287951a1a9 100644
--- a/spec/unit/provider/group/gpasswd_spec.rb
+++ b/spec/unit/provider/group/gpasswd_spec.rb
@@ -19,10 +19,13 @@
require "spec_helper"
describe Chef::Provider::Group::Gpasswd, "modify_group_members" do
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
+
before do
@node = Chef::Node.new
@events = Chef::EventDispatch::Dispatcher.new
@run_context = Chef::RunContext.new(@node, {}, @events)
+ allow(@run_context).to receive(:logger).and_return(logger)
@new_resource = Chef::Resource::Group.new("wheel")
@new_resource.members %w{lobster rage fist}
@new_resource.append false
@@ -65,7 +68,7 @@ describe Chef::Provider::Group::Gpasswd, "modify_group_members" do
end
it "logs a message and sets group's members to 'none'" do
- expect(Chef::Log).to receive(:debug).with("group[wheel] setting group members to: none")
+ expect(logger).to receive(:trace).with("group[wheel] setting group members to: none")
expect(@provider).to receive(:shell_out!).with("gpasswd", "-M", "", "wheel")
@provider.modify_group_members
end
@@ -85,7 +88,7 @@ describe Chef::Provider::Group::Gpasswd, "modify_group_members" do
describe "when the resource specifies group members" do
it "should log an appropriate debug message" do
- expect(Chef::Log).to receive(:debug).with("group[wheel] setting group members to: lobster, rage, fist")
+ expect(logger).to receive(:trace).with("group[wheel] setting group members to: lobster, rage, fist")
allow(@provider).to receive(:shell_out!)
@provider.modify_group_members
end
diff --git a/spec/unit/provider/group/groupmod_spec.rb b/spec/unit/provider/group/groupmod_spec.rb
index 6629b718d0..3f36a5b8a6 100644
--- a/spec/unit/provider/group/groupmod_spec.rb
+++ b/spec/unit/provider/group/groupmod_spec.rb
@@ -19,10 +19,13 @@
require "spec_helper"
describe Chef::Provider::Group::Groupmod do
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
+
before do
@node = Chef::Node.new
@events = Chef::EventDispatch::Dispatcher.new
@run_context = Chef::RunContext.new(@node, {}, @events)
+ allow(@run_context).to receive(:logger).and_return(logger)
@new_resource = Chef::Resource::Group.new("wheel")
@new_resource.gid 123
@new_resource.members %w{lobster rage fist}
@@ -61,7 +64,7 @@ describe Chef::Provider::Group::Groupmod do
end
it "logs a message and sets group's members to 'none', then removes existing group members" do
- expect(Chef::Log).to receive(:debug).with("group[wheel] setting group members to: none")
+ expect(logger).to receive(:trace).with("group[wheel] setting group members to: none")
expect(@provider).to receive(:shell_out!).with("group", "mod", "-n", "wheel_bak", "wheel")
expect(@provider).to receive(:shell_out!).with("group", "add", "-g", "123", "-o", "wheel")
expect(@provider).to receive(:shell_out!).with("group", "del", "wheel_bak")
@@ -76,7 +79,7 @@ describe Chef::Provider::Group::Groupmod do
end
it "logs a message and does not modify group membership" do
- expect(Chef::Log).to receive(:debug).with("group[wheel] not changing group members, the group has no members to add")
+ expect(logger).to receive(:trace).with("group[wheel] not changing group members, the group has no members to add")
expect(@provider).not_to receive(:shell_out!)
@provider.manage_group
end
@@ -89,7 +92,7 @@ describe Chef::Provider::Group::Groupmod do
end
it "updates group membership correctly" do
- allow(Chef::Log).to receive(:debug)
+ allow(logger).to receive(:trace)
expect(@provider).to receive(:shell_out!).with("group", "mod", "-n", "wheel_bak", "wheel")
expect(@provider).to receive(:shell_out!).with("user", "mod", "-G", "wheel", "lobster")
expect(@provider).to receive(:shell_out!).with("group", "add", "-g", "123", "-o", "wheel")
diff --git a/spec/unit/provider/group/pw_spec.rb b/spec/unit/provider/group/pw_spec.rb
index ee9ceda8c2..736ba0671b 100644
--- a/spec/unit/provider/group/pw_spec.rb
+++ b/spec/unit/provider/group/pw_spec.rb
@@ -19,10 +19,13 @@
require "spec_helper"
describe Chef::Provider::Group::Pw do
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
+
before do
@node = Chef::Node.new
@events = Chef::EventDispatch::Dispatcher.new
@run_context = Chef::RunContext.new(@node, {}, @events)
+ allow(@run_context).to receive(:logger).and_return(logger)
@new_resource = Chef::Resource::Group.new("wheel")
@new_resource.gid 50
@@ -93,7 +96,7 @@ describe Chef::Provider::Group::Pw do
end
it "should log an appropriate message" do
- expect(Chef::Log).to receive(:debug).with("group[wheel] removing group members: all,your,base")
+ expect(logger).to receive(:trace).with("group[wheel] removing group members: all,your,base")
@provider.set_members_options
end
@@ -109,7 +112,7 @@ describe Chef::Provider::Group::Pw do
end
it "should log an appropriate debug message" do
- expect(Chef::Log).to receive(:debug).with("group[wheel] adding group members: all,your,base")
+ expect(logger).to receive(:trace).with("group[wheel] adding group members: all,your,base")
@provider.set_members_options
end
diff --git a/spec/unit/provider/link_spec.rb b/spec/unit/provider/link_spec.rb
index b233fac72b..10dbdc1766 100644
--- a/spec/unit/provider/link_spec.rb
+++ b/spec/unit/provider/link_spec.rb
@@ -26,10 +26,12 @@ if Chef::Platform.windows?
end
describe Chef::Resource::Link do
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
let(:provider) do
node = Chef::Node.new
@events = Chef::EventDispatch::Dispatcher.new
run_context = Chef::RunContext.new(node, {}, @events)
+ allow(run_context).to receive(:logger).and_return(logger)
Chef::Provider::Link.new(new_resource, run_context)
end
let(:new_resource) do
@@ -270,7 +272,7 @@ describe Chef::Resource::Link do
it "invokes Dir.delete method to delete the link" do
expect(::Dir).to receive(:delete).with(provider.new_resource.target_file)
- expect(Chef::Log).to receive(:info).with("#{provider.new_resource} deleted")
+ expect(logger).to receive(:info).with("#{provider.new_resource} deleted")
provider.run_action(:delete)
end
end
@@ -283,7 +285,7 @@ describe Chef::Resource::Link do
it "invokes File.delete method to delete the link" do
expect(::File).to receive(:delete).with(provider.new_resource.target_file)
- expect(Chef::Log).to receive(:info).with("#{provider.new_resource} deleted")
+ expect(logger).to receive(:info).with("#{provider.new_resource} deleted")
provider.run_action(:delete)
end
end
@@ -296,7 +298,7 @@ describe Chef::Resource::Link do
it "invokes File.delete method to delete the link" do
expect(::File).to receive(:delete).with(provider.new_resource.target_file)
- expect(Chef::Log).to receive(:info).with("#{provider.new_resource} deleted")
+ expect(logger).to receive(:info).with("#{provider.new_resource} deleted")
provider.run_action(:delete)
end
end
diff --git a/spec/unit/provider/log_spec.rb b/spec/unit/provider/log_spec.rb
index ce7b1af55a..deb2024640 100644
--- a/spec/unit/provider/log_spec.rb
+++ b/spec/unit/provider/log_spec.rb
@@ -32,44 +32,49 @@ describe Chef::Provider::Log::ChefLog do
let(:provider) { Chef::Provider::Log::ChefLog.new(new_resource, run_context) }
- it "should write the string to the Chef::Log object at default level (info)" do
- expect(Chef::Log).to receive(:info).with(log_str).and_return(true)
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
+ before do
+ allow(run_context).to receive(:logger).and_return(logger)
+ end
+
+ it "should write the string to the logger object at default level (info)" do
+ expect(logger).to receive(:info).with(log_str).and_return(true)
provider.run_action(:write)
end
- it "should write the string to the Chef::Log object at debug level" do
+ it "should write the string to the logger object at debug level" do
new_resource.level :debug
- expect(Chef::Log).to receive(:debug).with(log_str).and_return(true)
+ expect(logger).to receive(:debug).with(log_str).and_return(true)
provider.run_action(:write)
end
- it "should write the string to the Chef::Log object at info level" do
+ it "should write the string to the logger object at info level" do
new_resource.level :info
- expect(Chef::Log).to receive(:info).with(log_str).and_return(true)
+ expect(logger).to receive(:info).with(log_str).and_return(true)
provider.run_action(:write)
end
- it "should write the string to the Chef::Log object at warn level" do
+ it "should write the string to the logger object at warn level" do
new_resource.level :warn
- expect(Chef::Log).to receive(:warn).with(log_str).and_return(true)
+ expect(logger).to receive(:warn).with(log_str).and_return(true)
provider.run_action(:write)
end
- it "should write the string to the Chef::Log object at error level" do
+ it "should write the string to the logger object at error level" do
new_resource.level :error
- expect(Chef::Log).to receive(:error).with(log_str).and_return(true)
+ expect(logger).to receive(:error).with(log_str).and_return(true)
provider.run_action(:write)
end
- it "should write the string to the Chef::Log object at fatal level" do
+ it "should write the string to the logger object at fatal level" do
new_resource.level :fatal
- expect(Chef::Log).to receive(:fatal).with(log_str).and_return(true)
+ expect(logger).to receive(:fatal).with(log_str).and_return(true)
provider.run_action(:write)
end
it "should print the string in why-run mode" do
Chef::Config[:why_run] = true
- expect(Chef::Log).to receive(:info).with(log_str).and_return(true)
+ expect(logger).to receive(:info).with(log_str).and_return(true)
provider.run_action(:write)
end
diff --git a/spec/unit/provider/package/apt_spec.rb b/spec/unit/provider/package/apt_spec.rb
index b461a39673..78c517b9a0 100644
--- a/spec/unit/provider/package/apt_spec.rb
+++ b/spec/unit/provider/package/apt_spec.rb
@@ -20,6 +20,7 @@ require "spec_helper"
require "ostruct"
describe Chef::Provider::Package::Apt do
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
# XXX: sorry this is ugly and was done quickly to get 12.0.2 out, this file needs a rewrite to use
# let blocks and shared examples
@@ -27,6 +28,7 @@ describe Chef::Provider::Package::Apt do
@node = Chef::Node.new
@events = Chef::EventDispatch::Dispatcher.new
@run_context = Chef::RunContext.new(@node, {}, @events)
+ allow(@run_context).to receive(:logger).and_return(logger)
@new_resource = Chef::Resource::AptPackage.new("irssi", @run_context)
@status = double("Status", :exitstatus => 0)
@@ -418,7 +420,7 @@ mpg123 1.12.1-0ubuntu1
).and_return(instance_double(
Mixlib::ShellOut, stdout: "irssi")
)
- expect(Chef::Log).to receive(:debug).with("#{@provider.new_resource} is already locked")
+ expect(logger).to receive(:trace).with("#{@provider.new_resource} is already locked")
@provider.new_resource.package_name = ["irssi"]
@provider.action_lock
@@ -440,7 +442,7 @@ mpg123 1.12.1-0ubuntu1
).and_return(instance_double(
Mixlib::ShellOut, stdout: "")
)
- expect(Chef::Log).to receive(:debug).with("#{@provider.new_resource} is already unlocked")
+ expect(logger).to receive(:trace).with("#{@provider.new_resource} is already unlocked")
@provider.new_resource.package_name = ["irssi"]
@provider.action_unlock
diff --git a/spec/unit/provider/package/bff_spec.rb b/spec/unit/provider/package/bff_spec.rb
index 1018f2d3e9..abe1d4155c 100644
--- a/spec/unit/provider/package/bff_spec.rb
+++ b/spec/unit/provider/package/bff_spec.rb
@@ -19,10 +19,12 @@
require "spec_helper"
describe Chef::Provider::Package::Bff do
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
before(:each) do
@node = Chef::Node.new
@events = Chef::EventDispatch::Dispatcher.new
@run_context = Chef::RunContext.new(@node, {}, @events)
+ allow(@run_context).to receive(:logger).and_return(logger)
@new_resource = Chef::Resource::Package.new("samba.base")
@new_resource.source("/tmp/samba.base")
@@ -79,7 +81,7 @@ describe Chef::Provider::Package::Bff do
status = double("Status", :stdout => info, :exitstatus => 0)
expect(@provider).to receive(:shell_out).with("installp", "-L", "-d", "/tmp/samba.base", timeout: 900).and_return(status)
expect(@provider).to receive(:shell_out).with("lslpp", "-lcq", "samba.base", timeout: 900).and_return(@empty_status)
- expect(Chef::Log).to receive(:warn).once.with(%r{bff package by product name})
+ expect(logger).to receive(:warn).once.with(%r{bff package by product name})
@provider.load_current_resource
expect(@provider.current_resource.package_name).to eq("samba.base")
diff --git a/spec/unit/provider/package/rubygems_spec.rb b/spec/unit/provider/package/rubygems_spec.rb
index 071cba23d8..28bd371539 100644
--- a/spec/unit/provider/package/rubygems_spec.rb
+++ b/spec/unit/provider/package/rubygems_spec.rb
@@ -33,8 +33,10 @@ require "ostruct"
describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
include GemspecBackcompatCreator
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
before do
@gem_env = Chef::Provider::Package::Rubygems::CurrentGemEnvironment.new
+ allow(@gem_env).to receive(:logger).and_return(logger)
end
it "determines the gem paths from the in memory rubygems" do
diff --git a/spec/unit/provider/package_spec.rb b/spec/unit/provider/package_spec.rb
index 8333d5bd0d..da74c932a8 100644
--- a/spec/unit/provider/package_spec.rb
+++ b/spec/unit/provider/package_spec.rb
@@ -26,6 +26,7 @@ describe Chef::Provider::Package do
node
end
let(:events) { Chef::EventDispatch::Dispatcher.new }
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
let(:run_context) { Chef::RunContext.new(node, {}, events) }
let(:new_resource) { Chef::Resource::Package.new("install emacs") }
let(:current_resource) { Chef::Resource::Package.new("install emacs") }
@@ -39,6 +40,10 @@ describe Chef::Provider::Package do
provider
end
+ before do
+ allow(run_context).to receive(:logger).and_return(logger)
+ end
+
describe "when installing a package" do
before(:each) do
provider.current_resource = current_resource
@@ -166,7 +171,7 @@ describe Chef::Provider::Package do
it "should print the word 'uninstalled' if there was no original version" do
allow(current_resource).to receive(:version).and_return(nil)
- expect(Chef::Log).to receive(:info).with("package[install emacs] upgraded emacs to 1.0")
+ expect(logger).to receive(:info).with("package[install emacs] upgraded emacs to 1.0")
provider.run_action(:upgrade)
expect(new_resource).to be_updated_by_last_action
end
@@ -287,7 +292,7 @@ describe Chef::Provider::Package do
expect(provider).to receive(:get_preseed_file).and_return("/var/cache/preseed-test")
allow(provider).to receive(:preseed_package).and_return(true)
allow(provider).to receive(:reconfig_package).and_return(true)
- expect(Chef::Log).to receive(:info).with("package[install emacs] reconfigured")
+ expect(logger).to receive(:info).with("package[install emacs] reconfigured")
expect(provider).to receive(:reconfig_package)
provider.run_action(:reconfig)
expect(new_resource).to be_updated
@@ -296,7 +301,7 @@ describe Chef::Provider::Package do
it "should debug log and not reconfigure the package if the package is not installed" do
allow(current_resource).to receive(:version).and_return(nil)
- expect(Chef::Log).to receive(:debug).with("package[install emacs] is NOT installed - nothing to do")
+ expect(logger).to receive(:trace).with("package[install emacs] is NOT installed - nothing to do")
expect(provider).not_to receive(:reconfig_package)
provider.run_action(:reconfig)
expect(new_resource).not_to be_updated_by_last_action
@@ -305,7 +310,7 @@ describe Chef::Provider::Package do
it "should debug log and not reconfigure the package if no response_file is given" do
allow(current_resource).to receive(:version).and_return("1.0")
allow(new_resource).to receive(:response_file).and_return(nil)
- expect(Chef::Log).to receive(:debug).with("package[install emacs] no response_file provided - nothing to do")
+ expect(logger).to receive(:trace).with("package[install emacs] no response_file provided - nothing to do")
expect(provider).not_to receive(:reconfig_package)
provider.run_action(:reconfig)
expect(new_resource).not_to be_updated_by_last_action
@@ -316,7 +321,7 @@ describe Chef::Provider::Package do
allow(new_resource).to receive(:response_file).and_return(true)
expect(provider).to receive(:get_preseed_file).and_return(false)
allow(provider).to receive(:preseed_package).and_return(false)
- expect(Chef::Log).to receive(:debug).with("package[install emacs] preseeding has not changed - nothing to do")
+ expect(logger).to receive(:trace).with("package[install emacs] preseeding has not changed - nothing to do")
expect(provider).not_to receive(:reconfig_package)
provider.run_action(:reconfig)
expect(new_resource).not_to be_updated_by_last_action
diff --git a/spec/unit/provider/service/macosx_spec.rb b/spec/unit/provider/service/macosx_spec.rb
index 704c7a802e..5f8bbc4a39 100644
--- a/spec/unit/provider/service/macosx_spec.rb
+++ b/spec/unit/provider/service/macosx_spec.rb
@@ -44,6 +44,7 @@ describe Chef::Provider::Service::Macosx do
context "when service name is given as" do
let(:node) { Chef::Node.new }
let(:events) { Chef::EventDispatch::Dispatcher.new }
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
let(:run_context) { Chef::RunContext.new(node, {}, events) }
let(:provider) { described_class.new(new_resource, run_context) }
let(:launchctl_stdout) { StringIO.new }
@@ -73,6 +74,7 @@ XML
end
let(:service_label) { "io.redis.redis-server" }
before do
+ allow(run_context).to receive(:logger).and_return(logger)
allow(Dir).to receive(:glob).and_return([plist], [])
@stat = double("File::Stat", { :uid => 501 })
allow(File).to receive(:stat).and_return(@stat)
@@ -260,7 +262,7 @@ SVC_LIST
it "shows warning message if service is already running" do
allow(current_resource).to receive(:running).and_return(true)
- expect(Chef::Log).to receive(:debug).with("macosx_service[#{service_name}] already running, not starting")
+ expect(logger).to receive(:trace).with("macosx_service[#{service_name}] already running, not starting")
provider.start_service
end
@@ -292,7 +294,7 @@ SVC_LIST
it "shows warning message if service is not running" do
allow(current_resource).to receive(:running).and_return(false)
- expect(Chef::Log).to receive(:debug).with("macosx_service[#{service_name}] not running, not stopping")
+ expect(logger).to receive(:trace).with("macosx_service[#{service_name}] not running, not stopping")
provider.stop_service
end
diff --git a/spec/unit/provider/service/windows_spec.rb b/spec/unit/provider/service/windows_spec.rb
index ce9154cb72..7cfc645b32 100644
--- a/spec/unit/provider/service/windows_spec.rb
+++ b/spec/unit/provider/service/windows_spec.rb
@@ -23,6 +23,8 @@ require "mixlib/shellout"
describe Chef::Provider::Service::Windows, "load_current_resource", :windows_only do
include_context "Win32"
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
+
let(:chef_service_name) { "chef-client" }
let(:new_resource) { Chef::Resource::WindowsService.new(chef_service_name) }
@@ -77,8 +79,9 @@ describe Chef::Provider::Service::Windows, "load_current_resource", :windows_onl
end
let(:provider) do
- prvdr = Chef::Provider::Service::Windows.new(new_resource,
- Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new))
+ run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
+ allow(run_context).to receive(:logger).and_return(logger)
+ prvdr = Chef::Provider::Service::Windows.new(new_resource, run_context)
prvdr.current_resource = Chef::Resource::WindowsService.new("current-chef")
prvdr
end
@@ -268,7 +271,7 @@ describe Chef::Provider::Service::Windows, "load_current_resource", :windows_onl
end
it "logs debug message" do
- expect(Chef::Log).to receive(:debug).with("windows_service[#{chef_service_name}] already exists - nothing to do")
+ expect(logger).to receive(:trace).with("windows_service[#{chef_service_name}] already exists - nothing to do")
provider.action_create
end
@@ -348,7 +351,7 @@ describe Chef::Provider::Service::Windows, "load_current_resource", :windows_onl
end
it "logs debug message" do
- expect(Chef::Log).to receive(:debug).with("windows_service[#{chef_service_name}] does not exist - nothing to do")
+ expect(logger).to receive(:trace).with("windows_service[#{chef_service_name}] does not exist - nothing to do")
provider.action_delete
end
@@ -421,7 +424,7 @@ describe Chef::Provider::Service::Windows, "load_current_resource", :windows_onl
end
it "logs warning" do
- expect(Chef::Log).to receive(:warn)
+ expect(logger).to receive(:warn)
.with("windows_service[#{chef_service_name}] does not exist. Maybe you need to prepend action :create")
provider.action_configure
end
diff --git a/spec/unit/provider/user/windows_spec.rb b/spec/unit/provider/user/windows_spec.rb
index 82f3c1ab2a..179926e5e6 100644
--- a/spec/unit/provider/user/windows_spec.rb
+++ b/spec/unit/provider/user/windows_spec.rb
@@ -28,11 +28,14 @@ class Chef
end
describe Chef::Provider::User::Windows do
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
+
before(:each) do
@node = Chef::Node.new
@new_resource = Chef::Resource::User::WindowsUser.new("monkey")
@events = Chef::EventDispatch::Dispatcher.new
@run_context = Chef::RunContext.new(@node, {}, @events)
+ allow(@run_context).to receive(:logger).and_return(logger)
@current_resource = Chef::Resource::User::WindowsUser.new("monkey")
@net_user = double("Chef::Util::Windows::NetUser")
diff --git a/spec/unit/provider/zypper_repository_spec.rb b/spec/unit/provider/zypper_repository_spec.rb
index a366a33e86..2509452672 100644
--- a/spec/unit/provider/zypper_repository_spec.rb
+++ b/spec/unit/provider/zypper_repository_spec.rb
@@ -35,10 +35,12 @@ EOF
describe Chef::Provider::ZypperRepository do
let(:new_resource) { Chef::Resource::ZypperRepository.new("Nginx Repository") }
+ let(:logger) { double("Mixlib::Log::Child").as_null_object }
let(:provider) do
node = Chef::Node.new
events = Chef::EventDispatch::Dispatcher.new
run_context = Chef::RunContext.new(node, {}, events)
+ allow(run_context).to receive(:logger).and_return(logger)
Chef::Provider::ZypperRepository.new(new_resource, run_context)
end
@@ -58,7 +60,7 @@ describe Chef::Provider::ZypperRepository do
it "skips key import if gpgautoimportkeys is false" do
new_resource.gpgautoimportkeys(false)
expect(provider).to receive(:declare_resource)
- expect(Chef::Log).to receive(:debug)
+ expect(logger).to receive(:trace)
provider.run_action(:create)
end
end
@@ -117,7 +119,7 @@ describe Chef::Provider::ZypperRepository do
describe "#install_gpg_key" do
it "skips installing the key if a nil value for key is passed" do
- expect(Chef::Log).to receive(:debug)
+ expect(logger).to receive(:trace)
provider.install_gpg_key(nil)
end
end