ansible/test/integration/targets/win_updates/tasks/tests.yml
2018-02-15 07:16:42 +11:00

103 lines
3.4 KiB
YAML

---
- name: expect failure when state is not a valid option
win_updates:
state: invalid
register: invalid_state
failed_when: invalid_state.msg != 'state must be either installed or searched'
- name: expect failure with invalid category name
win_updates:
state: searched
category_names:
- Invalid
register: invalid_category_name
failed_when: invalid_category_name.msg != 'Unknown category_name Invalid, must be one of (Application,Connectors,CriticalUpdates,DefinitionUpdates,DeveloperKits,FeaturePacks,Guidance,SecurityUpdates,ServicePacks,Tools,UpdateRollups,Updates)'
- name: ensure log file not present before tests
win_file:
path: '{{win_updates_dir}}/update.log'
state: absent
- name: search for updates without log output
win_updates:
state: searched
category_names:
- CriticalUpdates
register: update_search_without_log
- name: get stat of update without log file
win_stat:
path: '{{win_updates_dir}}/update.log'
register: update_search_without_log_actual
- name: assert search for updates without log output
assert:
that:
- not update_search_without_log is changed
- update_search_without_log.reboot_required == False
- update_search_without_log.updates is defined
- update_search_without_log.installed_update_count is defined
- update_search_without_log.found_update_count is defined
- update_search_without_log_actual.stat.exists == False
- name: search for updates with log output (check)
win_updates:
state: searched
category_names: CriticalUpdates
log_path: '{{win_updates_dir}}/update.log'
register: update_search_with_log_check
check_mode: yes
- name: get stat of update log file (check)
win_stat:
path: '{{win_updates_dir}}/update.log'
register: update_search_with_log_check_actual
- name: assert search for updates with log output
assert:
that:
- not update_search_with_log_check is changed
- update_search_with_log_check.reboot_required == False
- update_search_with_log_check.updates is defined
- update_search_with_log_check.installed_update_count is defined
- update_search_with_log_check.found_update_count is defined
- update_search_with_log_check_actual.stat.exists == False
- name: search for updates with log output
win_updates:
state: searched
category_names:
- CriticalUpdates
log_path: '{{win_updates_dir}}/update.log'
register: update_search_with_log
- name: get stat of update log file
win_stat:
path: '{{win_updates_dir}}/update.log'
register: update_search_with_log_actual
- name: assert search for updates with log output
assert:
that:
- not update_search_with_log is changed
- update_search_with_log.reboot_required == False
- update_search_with_log.updates is defined
- update_search_with_log.installed_update_count is defined
- update_search_with_log.found_update_count is defined
- update_search_with_log_actual.stat.exists
- name: ensure WUA service is stopped for tests
win_service:
name: wuauserv
state: stopped
start_mode: disabled
- name: expect failed when running with stopped WUA service
win_updates:
state: searched
category_names:
- CriticalUpdates
register: update_service_stopped_failed
failed_when:
- "'Failed to search for updates with criteria' not in update_service_stopped_failed.msg"
- "'The service cannot be started' not in update_service_stopped_failed.msg"