mirror of
https://github.com/inspec/inspec
synced 2025-02-17 06:28:40 +00:00
When using `schtasks` a list is returned if the task has multiple triggers. This merges that list with the last item taking precedence. This is how `Get-ScheduledTask` behaves. Initially, I was going to rewrite this resource to use `Get-ScheduledTask` but the original author purposely did not do this so that PowerShell v3 would be supported. We only support PowerShell v5, but I don't want to break any current users and this change didn't seem to controversial to me. If it gives us trouble, I recommend rewriting it to use `Get-ScheduledTask`. Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
32 lines
1.5 KiB
Ruby
32 lines
1.5 KiB
Ruby
require "helper"
|
|
require "inspec/resource"
|
|
require "inspec/resources/windows_task"
|
|
|
|
describe "Inspec::Resources::WindowsTasks" do
|
|
it "can handle a Windows task that does not exist" do
|
|
resource_fail = MockLoader.new(:windows).load_resource("windows_task", "does-not-exist")
|
|
_(resource_fail.exists?).must_equal false
|
|
end
|
|
it "parses a windows task with one trigger correctly" do
|
|
resource = MockLoader.new(:windows).load_resource("windows_task", "WeLovePizza")
|
|
_(resource.enabled?).must_equal true
|
|
_(resource.disabled?).must_equal false
|
|
_(resource.logon_mode).must_equal "Interactive/Background"
|
|
_(resource.last_result).must_equal "1056"
|
|
_(resource.task_to_run).must_equal '%windir%\\system32\\sc.exe start w32time task_started'
|
|
_(resource.run_as_user).must_equal "LOCAL SERVICE"
|
|
_(resource.type).must_equal "windows-task"
|
|
_(resource.to_s).must_equal "Windows Task 'WeLovePizza'"
|
|
end
|
|
it "parses a windows task with more than one trigger correctly" do
|
|
resource = MockLoader.new(:windows).load_resource("windows_task", "WeLoveMultiplePizzas")
|
|
_(resource.enabled?).must_equal true
|
|
_(resource.disabled?).must_equal false
|
|
_(resource.logon_mode).must_equal "Interactive/Background"
|
|
_(resource.last_result).must_equal "1056"
|
|
_(resource.task_to_run).must_equal '%windir%\\system32\\sc.exe start w32time task_started'
|
|
_(resource.run_as_user).must_equal "LOCAL SERVICE"
|
|
_(resource.type).must_equal "windows-task"
|
|
_(resource.to_s).must_equal "Windows Task 'WeLoveMultiplePizzas'"
|
|
end
|
|
end
|