summaryrefslogtreecommitdiff
path: root/spec/unit/provider/windows_task_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/provider/windows_task_spec.rb')
-rw-r--r--spec/unit/provider/windows_task_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/unit/provider/windows_task_spec.rb b/spec/unit/provider/windows_task_spec.rb
index b18d842bfa..55a1e77e4e 100644
--- a/spec/unit/provider/windows_task_spec.rb
+++ b/spec/unit/provider/windows_task_spec.rb
@@ -143,6 +143,17 @@ describe Chef::Provider::WindowsTask do
provider.run_action(:create)
expect(new_resource).to be_updated_by_last_action
end
+
+ it "updates the task XML if frequency is set as `:none`" do
+ new_resource.frequency :none
+ new_resource.random_delay ""
+ allow(provider).to receive(:task_need_update?).and_return(true)
+ allow(provider).to receive(:basic_validation).and_return(true)
+ allow(provider).to receive(:run_schtasks).and_return("CREATE", { "F" => "", "SC" => :once, "ST" => "00:00", "SD" => "12/12/2012", "TR" => nil, "RU" => "SYSTEM" })
+ expect(provider).to receive(:update_task_xml)
+ provider.run_action(:create)
+ expect(new_resource).to be_updated_by_last_action
+ end
end
end
@@ -507,6 +518,18 @@ describe Chef::Provider::WindowsTask do
expect(provider).to receive(:run_schtasks).twice
output = provider.send(:update_task_xml, ["random_delay"])
end
+
+ it "updates the task XML if frequency is set as `:none`" do
+ new_resource.frequency :none
+ new_resource.random_delay ""
+ shell_out_obj = double("xml", :exitstatus => 0, :stdout => task_xml)
+ allow(provider).to receive(:powershell_out).and_return(shell_out_obj)
+ expect(::File).to receive(:delete)
+ expect(::File).to receive(:join)
+ expect(::File).to receive(:open)
+ expect(provider).to receive(:run_schtasks).twice
+ output = provider.send(:update_task_xml, ["random_delay"])
+ end
end
describe "#load_task_hash" do
@@ -541,5 +564,10 @@ describe Chef::Provider::WindowsTask do
new_resource.frequency :once
expect(provider.send(:frequency_modifier_allowed)).to be(false)
end
+
+ it "returns false for frequency :none" do
+ new_resource.frequency :none
+ expect(provider.send(:frequency_modifier_allowed)).to be(false)
+ end
end
end