summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordheerajd-msys <dheeraj.dubey@msystechnologies.com>2018-07-20 15:34:05 +0530
committerdheerajd-msys <dheeraj.dubey@msystechnologies.com>2018-07-26 14:45:16 +0530
commitc209ef456f6538b5cb3998958e73f7e7944058d1 (patch)
treee37f9b207d6b85d5fcea073d679c0740044e1d12
parentaedb6e5a024f6095b08a94a5daea236139d3d624 (diff)
downloadchef-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.rb11
-rw-r--r--spec/unit/resource/windows_task_spec.rb8
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." )