diff options
-rw-r--r-- | lib/chef/provider/windows_task.rb | 11 | ||||
-rw-r--r-- | spec/unit/resource/windows_task_spec.rb | 8 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/chef/provider/windows_task.rb b/lib/chef/provider/windows_task.rb index 85a5941726..f3e92b18f1 100644 --- a/lib/chef/provider/windows_task.rb +++ b/lib/chef/provider/windows_task.rb @@ -327,10 +327,14 @@ class Chef def task_needs_update?(task) flag = false if new_resource.frequency == :none + # require "byebug" + # byebug flag = (task.account_information != new_resource.user || task.application_name != new_resource.command || task.parameters != new_resource.command_arguments.to_s || - task.principals[:run_level] != run_level) + task.principals[:run_level] != run_level || + task.settings[:disallow_start_if_on_batteries] != new_resource.disallow_start_on_battery || + task.settings[:stop_if_going_on_batteries] != new_resource.stop_on_battery) else current_task_trigger = task.trigger(0) new_task_trigger = trigger @@ -353,8 +357,9 @@ class Chef task.working_directory != new_resource.cwd.to_s || task.principals[:logon_type] != logon_type || task.principals[:run_level] != run_level || - PRIORITY[task.priority] != new_resource.priority - + PRIORITY[task.priority] != new_resource.priority || + task.settings[:disallow_start_if_on_batteries] != new_resource.disallow_start_on_battery || + task.settings[:stop_if_going_on_batteries] != new_resource.stop_on_battery if trigger_type == TaskScheduler::MONTHLYDATE flag = true if current_task_trigger[:run_on_last_day_of_month] != new_task_trigger[:run_on_last_day_of_month] end diff --git a/spec/unit/resource/windows_task_spec.rb b/spec/unit/resource/windows_task_spec.rb index cbf15092f5..135193fbea 100644 --- a/spec/unit/resource/windows_task_spec.rb +++ b/spec/unit/resource/windows_task_spec.rb @@ -53,6 +53,14 @@ describe Chef::Resource::WindowsTask, :windows_only do expect(resource.frequency_modifier).to eql(1) end + it "sets the default value for disallow_start_on_battery as false" do + expect(resource.disallow_start_on_battery).to eql(false) + end + + it "sets the default value for stop_on_battery as false" do + expect(resource.stop_on_battery).to eql(false) + end + context "when frequency is not provided" do it "raises ArgumentError to provide frequency" do expect { resource.after_created }.to raise_error(ArgumentError, "Frequency needs to be provided. Valid frequencies are :minute, :hourly, :daily, :weekly, :monthly, :once, :on_logon, :onstart, :on_idle, :none." ) |