Merge pull request #55822 from cmcmarrow/win_task_repeat

fix_Indefinitely_code
This commit is contained in:
Daniel Wozniak 2020-03-16 10:34:09 -07:00 committed by GitHub
commit fcee692c4a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 65 additions and 17 deletions

View file

@ -95,7 +95,7 @@ TASK_TRIGGER_LOGON = 9
TASK_TRIGGER_SESSION_STATE_CHANGE = 11
duration = {'Immediately': 'PT0M',
'Indefinitely': 'PT0M',
'Indefinitely': '',
'Do not wait': 'PT0M',
'15 seconds': 'PT15S',
'30 seconds': 'PT30S',
@ -571,10 +571,7 @@ def create_task(name,
logon_type=task_definition.Principal.LogonType)
# Verify task was created
if name in list_tasks(location):
return True
else:
return False
return name in list_tasks(location)
def create_task_from_xml(name,
@ -679,10 +676,7 @@ def create_task_from_xml(name,
log.debug('Failed to create task: %s', failure_code)
# Verify creation
if name in list_tasks(location):
return True
else:
return False
return name in list_tasks(location)
def create_folder(name, location='\\'):
@ -724,10 +718,7 @@ def create_folder(name, location='\\'):
task_folder.CreateFolder(name)
# Verify creation
if name in list_folders(location):
return True
else:
return False
return name in list_folders(location)
def edit_task(name=None,
@ -1132,10 +1123,7 @@ def delete_task(name, location='\\'):
task_folder.DeleteTask(name, 0)
# Verify deletion
if name not in list_tasks(location):
return True
else:
return False
return name not in list_tasks(location)
def delete_folder(name, location='\\'):

View file

@ -0,0 +1,60 @@
# -*- coding: utf-8 -*-
# Import Python Libs
from __future__ import absolute_import, unicode_literals, print_function
# Import Salt Testing Libs
from tests.support.unit import TestCase, skipIf
from tests.support.helpers import destructiveTest
# Import Salt Libs
import salt.modules.win_task as win_task
import salt.utils.platform
@destructiveTest
@skipIf(not salt.utils.platform.is_windows(), 'System is not Windows')
class WinTaskTestCase(TestCase):
'''
Test cases for salt.modules.win_task
'''
def test_repeat_interval(self):
task_name = 'SaltTest1'
try:
ret = win_task.create_task(task_name,
user_name='System',
force=True,
action_type='Execute',
cmd='c:\\salt\\salt-call.bat',
trigger_type='Daily',
trigger_enabled=True,
repeat_duration='30 minutes',
repeat_interval='30 minutes')
self.assertTrue(ret)
ret = win_task.info(task_name)
self.assertEqual(ret['triggers'][0]['trigger_type'], 'Daily')
finally:
ret = win_task.delete_task(task_name)
self.assertTrue(ret)
def test_repeat_interval_and_indefinitely(self):
task_name = 'SaltTest2'
try:
ret = win_task.create_task(task_name,
user_name='System',
force=True,
action_type='Execute',
cmd='c:\\salt\\salt-call.bat',
trigger_type='Daily',
trigger_enabled=True,
repeat_duration='Indefinitely',
repeat_interval='30 minutes')
self.assertTrue(ret)
ret = win_task.info(task_name)
self.assertEqual(ret['triggers'][0]['trigger_type'], 'Daily')
finally:
ret = win_task.delete_task(task_name)
self.assertTrue(ret)