summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authoralgaut <algaut35@gmail.com>2018-01-29 17:10:33 +0100
committerAlan Gauthier <agauthie@itron.com>2018-02-06 15:37:16 +0100
commit7d265d26e96d8cc5ec43874e8b425929dedf9441 (patch)
treedecf33ec0573e146f4f886e3840cbd766c77bf84 /spec
parent8599d3ed2f139b2b474fcfb09d3af5708dcc12fa (diff)
downloadchef-7d265d26e96d8cc5ec43874e8b425929dedf9441.tar.gz
Fix windows_task idle_time validation
Two improvements: - Compare frequency to :idle_time instead of comparing to an incomplete list of other frequencies - Keep all the validation logic in the function instead of splitting it between the function and where the function is called Added some specs tests too Signed-off-by: Alan Gauthier <algaut35@gmail.com>
Diffstat (limited to 'spec')
-rw-r--r--spec/unit/resource/windows_task_spec.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/spec/unit/resource/windows_task_spec.rb b/spec/unit/resource/windows_task_spec.rb
index aed1e277db..4b74a4f78a 100644
--- a/spec/unit/resource/windows_task_spec.rb
+++ b/spec/unit/resource/windows_task_spec.rb
@@ -271,7 +271,9 @@ describe Chef::Resource::WindowsTask do
context "#validate_idle_time" do
it "raises error if frequency is not :on_idle" do
- expect { resource.send(:validate_idle_time, 5, :hourly) }.to raise_error(ArgumentError, "idle_time property is only valid for tasks that run on_idle")
+ [:minute, :hourly, :daily, :weekly, :monthly, :once, :on_logon, :onstart, :none].each do |frequency|
+ expect { resource.send(:validate_idle_time, 5, frequency) }.to raise_error(ArgumentError, "idle_time property is only valid for tasks that run on_idle")
+ end
end
it "raises error if idle_time > 999" do
@@ -285,6 +287,12 @@ describe Chef::Resource::WindowsTask do
it "raises error if idle_time is not set" do
expect { resource.send(:validate_idle_time, nil, :on_idle) }.to raise_error(ArgumentError, "idle_time value should be set for :on_idle frequency.")
end
+
+ it "does not raises error if idle_time is not set for other frequencies" do
+ [:minute, :hourly, :daily, :weekly, :monthly, :once, :on_logon, :onstart, :none].each do |frequency|
+ expect { resource.send(:validate_idle_time, nil, frequency) }.not_to raise_error
+ end
+ end
end
context "#sec_to_dur" do