b0db1a1cf6
* initial commit for win_eventlog module * remove type for retention_days in documentation
447 lines
13 KiB
YAML
447 lines
13 KiB
YAML
# Test code for win_eventlog
|
|
|
|
# (c) 2017, Andrew Saraceni <andrew.saraceni@gmail.com>
|
|
#
|
|
# This file is part of Ansible
|
|
#
|
|
# Ansible is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Ansible is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
- name: Remove potentially leftover logs
|
|
win_eventlog:
|
|
name: "{{ item }}"
|
|
state: absent
|
|
with_items:
|
|
- WinEventLogTest
|
|
- NewWinEventLogTest
|
|
|
|
|
|
- name: Add log without sources
|
|
win_eventlog:
|
|
name: WinEventLogTest
|
|
state: present
|
|
register: add_log_without_sources
|
|
failed_when: add_log_without_sources.changed != false or add_log_without_sources.msg != "You must specify one or more sources when creating a log for the first time"
|
|
|
|
|
|
- name: Add log
|
|
win_eventlog: &wel_present
|
|
name: WinEventLogTest
|
|
sources:
|
|
- WinEventLogSource1
|
|
- WinEventLogSource2
|
|
state: present
|
|
register: add_log
|
|
|
|
- name: Test add_log (normal mode)
|
|
assert:
|
|
that:
|
|
- add_log.changed == true
|
|
- add_log.exists == true
|
|
- add_log.sources == ["WinEventLogSource1", "WinEventLogSource2", "WinEventLogTest"]
|
|
- add_log.sources_changed == ["WinEventLogSource1", "WinEventLogSource2"]
|
|
when: not in_check_mode
|
|
|
|
- name: Test add_log (check-mode)
|
|
assert:
|
|
that:
|
|
- add_log.changed == true
|
|
- add_log.exists == false
|
|
- add_log.sources_changed == []
|
|
when: in_check_mode
|
|
|
|
|
|
- name: Add log (again)
|
|
win_eventlog: *wel_present
|
|
register: add_log_again
|
|
|
|
- name: Test add_log_again (normal mode)
|
|
assert:
|
|
that:
|
|
- add_log_again.changed == false
|
|
- add_log_again.exists == true
|
|
- add_log_again.sources == ["WinEventLogSource1", "WinEventLogSource2", "WinEventLogTest"]
|
|
- add_log_again.sources_changed == []
|
|
when: not in_check_mode
|
|
|
|
|
|
- name: Run tests for normal mode only (expects event log)
|
|
when: not in_check_mode
|
|
block:
|
|
|
|
- name: Change default source
|
|
win_eventlog:
|
|
<<: *wel_present
|
|
sources:
|
|
- WinEventLogTest
|
|
category_file: C:\TestApp\AppCategories.dll
|
|
register: change_default_source
|
|
failed_when: change_default_source.changed != false or change_default_source.msg != "Cannot modify default source WinEventLogTest of log WinEventLogTest - you must remove the log"
|
|
|
|
|
|
- name: Change source category
|
|
win_eventlog: &welc_present
|
|
<<: *wel_present
|
|
sources:
|
|
- WinEventLogSource1
|
|
category_file: C:\TestApp\AppCategories.dll
|
|
register: change_source_category
|
|
|
|
- name: Test change_source_category
|
|
assert:
|
|
that:
|
|
- change_source_category.changed == true
|
|
- change_source_category.exists == true
|
|
- change_source_category.sources == ["WinEventLogSource1", "WinEventLogSource2", "WinEventLogTest"]
|
|
- change_source_category.sources_changed == ["WinEventLogSource1"]
|
|
|
|
|
|
- name: Change source category (again)
|
|
win_eventlog: *welc_present
|
|
register: change_source_category_again
|
|
|
|
- name: Test change_source_category_again
|
|
assert:
|
|
that:
|
|
- change_source_category_again.changed == false
|
|
- change_source_category_again.exists == true
|
|
- change_source_category_again.sources == ["WinEventLogSource1", "WinEventLogSource2", "WinEventLogTest"]
|
|
- change_source_category_again.sources_changed == []
|
|
|
|
|
|
- name: Change source message
|
|
win_eventlog: &welm_present
|
|
<<: *welc_present
|
|
message_file: C:\TestApp\AppMessages.dll
|
|
register: change_source_message
|
|
|
|
- name: Test change_source_message
|
|
assert:
|
|
that:
|
|
- change_source_message.changed == true
|
|
- change_source_message.exists == true
|
|
- change_source_message.sources == ["WinEventLogSource1", "WinEventLogSource2", "WinEventLogTest"]
|
|
- change_source_message.sources_changed == ["WinEventLogSource1"]
|
|
|
|
|
|
- name: Change source message (again)
|
|
win_eventlog: *welm_present
|
|
register: change_source_message_again
|
|
|
|
- name: Test change_source_message_again
|
|
assert:
|
|
that:
|
|
- change_source_message_again.changed == false
|
|
- change_source_message_again.exists == true
|
|
- change_source_message_again.sources == ["WinEventLogSource1", "WinEventLogSource2", "WinEventLogTest"]
|
|
- change_source_message_again.sources_changed == []
|
|
|
|
|
|
- name: Change source parameter
|
|
win_eventlog: &welp_present
|
|
<<: *welm_present
|
|
parameter_file: C:\TestApp\AppParameters.dll
|
|
register: change_source_parameter
|
|
|
|
- name: Test change_source_parameter
|
|
assert:
|
|
that:
|
|
- change_source_parameter.changed == true
|
|
- change_source_parameter.exists == true
|
|
- change_source_parameter.sources == ["WinEventLogSource1", "WinEventLogSource2", "WinEventLogTest"]
|
|
- change_source_parameter.sources_changed == ["WinEventLogSource1"]
|
|
|
|
|
|
- name: Change source parameter (again)
|
|
win_eventlog: *welp_present
|
|
register: change_source_parameter_again
|
|
|
|
- name: Test change_source_parameter_again
|
|
assert:
|
|
that:
|
|
- change_source_parameter_again.changed == false
|
|
- change_source_parameter_again.exists == true
|
|
- change_source_parameter_again.sources == ["WinEventLogSource1", "WinEventLogSource2", "WinEventLogTest"]
|
|
- change_source_parameter_again.sources_changed == []
|
|
|
|
|
|
- name: Change log maximum size
|
|
win_eventlog: &wels_present
|
|
<<: *wel_present
|
|
maximum_size: 256MB
|
|
register: change_log_maximum_size
|
|
|
|
- name: Test change_log_maximum_size
|
|
assert:
|
|
that:
|
|
- change_log_maximum_size.changed == true
|
|
- change_log_maximum_size.exists == true
|
|
- change_log_maximum_size.maximum_size_kb == 262144
|
|
|
|
|
|
- name: Change log maximum size (again)
|
|
win_eventlog: *wels_present
|
|
register: change_log_maximum_size_again
|
|
|
|
- name: Test change_log_maximum_size_again
|
|
assert:
|
|
that:
|
|
- change_log_maximum_size_again.changed == false
|
|
- change_log_maximum_size_again.exists == true
|
|
- change_log_maximum_size_again.maximum_size_kb == 262144
|
|
|
|
|
|
- name: Change log invalid maximum size 1
|
|
win_eventlog:
|
|
<<: *wel_present
|
|
maximum_size: 256 MB
|
|
register: change_log_invalid_maximum_size_1
|
|
failed_when: change_log_invalid_maximum_size_1.changed != false or change_log_invalid_maximum_size_1.msg != "Maximum size 256 MB is not properly specified"
|
|
|
|
|
|
- name: Change log invalid maximum size 2
|
|
win_eventlog:
|
|
<<: *wel_present
|
|
maximum_size: 5GB
|
|
register: change_log_invalid_maximum_size_2
|
|
failed_when: change_log_invalid_maximum_size_2.changed != false or change_log_invalid_maximum_size_2.msg != "Maximum size must be between 64KB and 4GB"
|
|
|
|
|
|
- name: Change log invalid maximum size 3
|
|
win_eventlog:
|
|
<<: *wel_present
|
|
maximum_size: 129KB
|
|
register: change_log_invalid_maximum_size_3
|
|
failed_when: change_log_invalid_maximum_size_3.changed != false or change_log_invalid_maximum_size_3.msg != "Maximum size must be divisible by 64KB"
|
|
|
|
|
|
- name: Change log retention days
|
|
win_eventlog: &welr_present
|
|
<<: *wels_present
|
|
retention_days: 128
|
|
register: change_log_retention_days
|
|
|
|
- name: Test change_log_retention_days
|
|
assert:
|
|
that:
|
|
- change_log_retention_days.changed == true
|
|
- change_log_retention_days.exists == true
|
|
- change_log_retention_days.retention_days == 128
|
|
|
|
|
|
- name: Change log retention days (again)
|
|
win_eventlog: *welr_present
|
|
register: change_log_retention_days_again
|
|
|
|
- name: Test change_log_retention_days_again
|
|
assert:
|
|
that:
|
|
- change_log_retention_days_again.changed == false
|
|
- change_log_retention_days_again.exists == true
|
|
- change_log_retention_days_again.retention_days == 128
|
|
|
|
|
|
- name: Change log overflow action
|
|
win_eventlog: &welo_present
|
|
<<: *wels_present
|
|
overflow_action: OverwriteAsNeeded
|
|
register: change_log_overflow_action
|
|
|
|
- name: Test change_log_overflow_action
|
|
assert:
|
|
that:
|
|
- change_log_overflow_action.changed == true
|
|
- change_log_overflow_action.exists == true
|
|
- change_log_overflow_action.overflow_action == "OverwriteAsNeeded"
|
|
|
|
|
|
- name: Change log overflow action (again)
|
|
win_eventlog: *welo_present
|
|
register: change_log_overflow_action_again
|
|
|
|
- name: Test change_log_overflow_action_again
|
|
assert:
|
|
that:
|
|
- change_log_overflow_action_again.changed == false
|
|
- change_log_overflow_action_again.exists == true
|
|
- change_log_overflow_action_again.overflow_action == "OverwriteAsNeeded"
|
|
|
|
|
|
- name: Add log with existing source
|
|
win_eventlog: &wele_present
|
|
name: NewWinEventLogTest
|
|
sources:
|
|
- WinEventLogSource1
|
|
state: present
|
|
register: add_log_with_existing_source
|
|
failed_when: add_log_with_existing_source.changed != false or add_log_with_existing_source.msg != "Source WinEventLogSource1 already exists and cannot be created"
|
|
|
|
|
|
- name: Add new log
|
|
win_eventlog:
|
|
<<: *wele_present
|
|
sources:
|
|
- NewWinEventLogSource1
|
|
|
|
- name: Change source for different log
|
|
win_eventlog:
|
|
<<: *wele_present
|
|
sources:
|
|
- WinEventLogSource1
|
|
category_file: C:\TestApp\AppCategories.dll
|
|
register: change_source_for_different_log
|
|
failed_when: change_source_for_different_log.changed != false or change_source_for_different_log.msg != "Source WinEventLogSource1 does not belong to log NewWinEventLogTest and cannot be modified"
|
|
|
|
- name: Remove new log
|
|
win_eventlog:
|
|
name: NewWinEventLogTest
|
|
state: absent
|
|
|
|
|
|
- name: Add entry to log
|
|
win_shell: Write-EventLog -LogName WinEventLogTest -Source WinEventLogSource1 -EntryType Information -EventId 12345 -Message "Test message"
|
|
|
|
- name: Verify add entry
|
|
win_eventlog:
|
|
name: WinEventLogTest
|
|
state: present
|
|
register: verify_add_entry
|
|
|
|
- name: Test verify_add_entry
|
|
assert:
|
|
that:
|
|
- verify_add_entry.changed == false
|
|
- verify_add_entry.exists == true
|
|
- verify_add_entry.entries == 1
|
|
|
|
|
|
- name: Clear log
|
|
win_eventlog: &wel_clear
|
|
name: WinEventLogTest
|
|
state: clear
|
|
register: clear_log
|
|
|
|
- name: Test clear_log
|
|
assert:
|
|
that:
|
|
- clear_log.changed == true
|
|
- clear_log.exists == true
|
|
- clear_log.entries == 0
|
|
when: not in_check_mode
|
|
|
|
|
|
- name: Clear log (again)
|
|
win_eventlog: *wel_clear
|
|
register: clear_log_again
|
|
|
|
- name: Test clear_log_again
|
|
assert:
|
|
that:
|
|
- clear_log_again.changed == false
|
|
- clear_log_again.exists == true
|
|
- clear_log_again.entries == 0
|
|
when: in_check_mode
|
|
|
|
|
|
- name: Clear absent log
|
|
win_eventlog:
|
|
name: WinEventLogTest
|
|
state: clear
|
|
register: clear_absent_log
|
|
when: in_check_mode
|
|
failed_when: clear_absent_log.changed != false or clear_absent_log.msg != "Cannot clear log WinEventLogTest as it does not exist"
|
|
|
|
|
|
- name: Remove default source
|
|
win_eventlog: &weld_absent
|
|
name: WinEventLogTest
|
|
sources:
|
|
- WinEventLogTest
|
|
state: absent
|
|
register: remove_default_source
|
|
failed_when: remove_default_source.changed != false or remove_default_source.msg != "Cannot remove default source WinEventLogTest from log WinEventLogTest - you must remove the log"
|
|
|
|
|
|
- name: Remove source
|
|
win_eventlog: &wels_absent
|
|
<<: *weld_absent
|
|
sources:
|
|
- WinEventLogSource1
|
|
register: remove_source
|
|
|
|
- name: Test remove_source (normal mode)
|
|
assert:
|
|
that:
|
|
- remove_source.changed == true
|
|
- remove_source.exists == true
|
|
- remove_source.sources == ["WinEventLogSource2", "WinEventLogTest"]
|
|
- remove_source.sources_changed == ["WinEventLogSource1"]
|
|
when: not in_check_mode
|
|
|
|
- name: Test remove_source (check-mode)
|
|
assert:
|
|
that:
|
|
- remove_source.changed == false
|
|
- remove_source.exists == false
|
|
- remove_source.sources_changed == []
|
|
when: in_check_mode
|
|
|
|
|
|
- name: Remove source (again)
|
|
win_eventlog: *wels_absent
|
|
register: remove_source_again
|
|
|
|
- name: Test remove_source_again (normal mode)
|
|
assert:
|
|
that:
|
|
- remove_source_again.changed == false
|
|
- remove_source_again.exists == true
|
|
- remove_source.sources == ["WinEventLogSource2", "WinEventLogTest"]
|
|
- remove_source_again.sources_changed == []
|
|
when: not in_check_mode
|
|
|
|
|
|
- name: Remove log
|
|
win_eventlog: &wel_absent
|
|
name: WinEventLogTest
|
|
state: absent
|
|
register: remove_log
|
|
|
|
- name: Test remove_log (normal mode)
|
|
assert:
|
|
that:
|
|
- remove_log.changed == true
|
|
- remove_log.exists == false
|
|
- remove_log.sources_changed == ["WinEventLogSource2", "WinEventLogTest"]
|
|
when: not in_check_mode
|
|
|
|
- name: Test remove_log (check-mode)
|
|
assert:
|
|
that:
|
|
- remove_log.changed == false
|
|
- remove_log.exists == false
|
|
- remove_log.sources_changed == []
|
|
when: in_check_mode
|
|
|
|
|
|
- name: Remove log (again)
|
|
win_eventlog: *wel_absent
|
|
register: remove_log_again
|
|
|
|
- name: Test remove_log_again (normal mode)
|
|
assert:
|
|
that:
|
|
- remove_log_again.changed == false
|
|
- remove_log_again.exists == false
|
|
- remove_log_again.sources_changed == []
|
|
when: not in_check_mode
|