# test out the known failure cases to ensure we have decent error messages --- - name: fail create task without an action win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present register: fail_create_without_action failed_when: fail_create_without_action.msg != 'cannot create a task with no actions, set at least one action with a path to an executable' - name: fail both username and group are set win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present username: '{{ansible_user}}' group: '{{ansible_user}}' register: fail_username_and_group failed_when: fail_username_and_group.msg != 'username and group can not be set at the same time' - name: fail logon type password but no password set win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present logon_type: password register: fail_lt_password_not_set failed_when: fail_lt_password_not_set.msg != 'password must be set when logon_type=password' - name: fail logon type s4u but no password set win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present logon_type: s4u register: fail_lt_s4u_not_set failed_when: fail_lt_s4u_not_set.msg != 'password must be set when logon_type=s4u' - name: fail logon type group but no group set win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present logon_type: group register: fail_lt_group_not_set failed_when: fail_lt_group_not_set.msg != 'group must be set when logon_type=group' - name: fail logon type service but non service user set win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present logon_type: service_account username: '{{ansible_user}}' register: fail_lt_service_invalid_user failed_when: fail_lt_service_invalid_user.msg != 'username must be SYSTEM, LOCAL SERVICE or NETWORK SERVICE when logon_type=service_account' - name: fail trigger with no type win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - delay: test register: fail_trigger_no_type failed_when: fail_trigger_no_type.msg != "a trigger entry must contain a key 'type' with a value of 'event', 'time', 'daily', 'weekly', 'monthly', 'monthlydow', 'idle', 'registration', 'boot', 'logon', 'session_state_change'" - name: fail trigger with datetime in incorrect format win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - type: time start_boundary: fake register: fail_trigger_invalid_datetime failed_when: fail_trigger_invalid_datetime.msg != "trigger option 'start_boundary' must be in the format 'YYYY-MM-DDThh:mm:ss' format but was 'fake'" - name: fail trigger with duration in incorrect format win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - type: boot execution_time_limit: fake register: fail_trigger_invalid_duration failed_when: fail_trigger_invalid_duration.msg != "trigger option 'execution_time_limit' must be in the XML duration format but was 'fake'" - name: fail trigger option invalid day of the week win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - type: weekly start_boundary: '2000-01-01T00:00:01' days_of_week: fakeday register: fail_trigger_invalid_day_of_week failed_when: fail_trigger_invalid_day_of_week.msg != "invalid day of week 'fakeday', check the spelling matches the full day name" - name: fail trigger option invalid day of the month win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - type: monthly start_boundary: '2000-01-01T00:00:01' days_of_month: 35 register: fail_trigger_invalid_day_of_month failed_when: fail_trigger_invalid_day_of_month.msg != "invalid day of month '35', please specify numbers from 1-31" - name: fail trigger option invalid week of the month win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - type: monthlydow start_boundary: '2000-01-01T00:00:01' weeks_of_month: 5 register: fail_trigger_invalid_week_of_month failed_when: fail_trigger_invalid_week_of_month.msg != "invalid week of month '5', please specify weeks from 1-4" - name: fail trigger option invalid month of the year win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - type: monthlydow start_boundary: '2000-01-01T00:00:01' months_of_year: fakemonth register: fail_trigger_invalid_month_of_year failed_when: fail_trigger_invalid_month_of_year.msg != "invalid month name 'fakemonth', please specify full month name" - name: fail trigger repetition with duration in incorrect format win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - type: boot repetition: - duration: fake register: fail_trigger_repetition_invalid_duration failed_when: fail_trigger_repetition_invalid_duration.msg != "trigger option 'duration' must be in the XML duration format but was 'fake'" - name: fail trigger repetition with interval in incorrect format win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - type: boot repetition: - interval: fake register: fail_trigger_repetition_invalid_interval failed_when: fail_trigger_repetition_invalid_interval.msg != "trigger option 'interval' must be in the XML duration format but was 'fake'" - name: fail trigger repetition option interval greater than duration win_scheduled_task: name: '{{test_scheduled_task_name}}' state: present triggers: - type: boot repetition: - interval: PT5M duration: PT1M register: fail_trigger_repetition_interval_greater_than_duration failed_when: fail_trigger_repetition_interval_greater_than_duration.msg != "trigger repetition option 'interval' value 'PT5M' must be less than or equal to 'duration' value 'PT1M'"