diff options
author | dheerajd-msys <dheeraj.dubey@msystechnologies.com> | 2018-07-20 15:34:05 +0530 |
---|---|---|
committer | dheerajd-msys <dheeraj.dubey@msystechnologies.com> | 2018-07-26 14:45:16 +0530 |
commit | c209ef456f6538b5cb3998958e73f7e7944058d1 (patch) | |
tree | e37f9b207d6b85d5fcea073d679c0740044e1d12 | |
parent | aedb6e5a024f6095b08a94a5daea236139d3d624 (diff) | |
download | chef-c209ef456f6538b5cb3998958e73f7e7944058d1.tar.gz |
update for idempotent and test case
Signed-off-by: dheerajd-msys <dheeraj.dubey@msystechnologies.com>
-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." ) |