Add integration tests for win_service module.

This commit is contained in:
Chris Church 2014-07-02 08:11:32 -04:00
parent efc07cf627
commit 12a0f4abd8
3 changed files with 202 additions and 0 deletions

View file

@ -0,0 +1,5 @@
---
# Service is commonly available and usually disabled/stopped by default.
test_win_service_name: SSDPSRV
test_win_service_display_name: "SSDP Discovery"

View file

@ -0,0 +1,196 @@
# test code for the win_service module
# (c) 2014, Chris Church <chris@ninemoreminutes.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: test win_service module with short name
win_service: name="{{ test_win_service_name }}"
register: win_service_name
- name: check win_service result with short name
assert:
that:
- "not win_service_name|changed"
- "win_service_name.name"
- "win_service_name.display_name"
- "win_service_name.start_mode"
- "win_service_name.state"
- name: test win_service module with display name
win_service: name="{{ test_win_service_display_name }}"
register: win_service_display_name
- name: check win_service result with display name
assert:
that:
- "not win_service_display_name|changed"
- "win_service_display_name.name"
- "win_service_display_name.display_name"
- "win_service_display_name.start_mode"
- "win_service_display_name.state"
- name: test win_service module with invalid name
win_service: name="iamnotaservice"
ignore_errors: true
register: win_service_invalid
- name: check win_service result with invalid_name
assert:
that:
- "win_service_invalid|failed"
- "win_service_invalid.msg"
- name: make sure the service is stopped and disabled
win_service: name="{{ test_win_service_name }}" state=stopped start_mode=disabled
register: win_service_stopped_disabled
- name: check result of disabling and stopping the service
assert:
that:
- "win_service_stopped_disabled.start_mode == 'disabled'"
- "win_service_stopped_disabled.state == 'stopped'"
- name: try to start the disabled service
win_service: name="{{ test_win_service_name }}" state=started
register: win_service_start_disabled
ignore_errors: true
- name: check that starting the disabled service fails
assert:
that:
- "win_service_start_disabled|failed"
- "win_service_start_disabled.msg"
- name: enable the service for manual startup
win_service: name="{{ test_win_service_name }}" start_mode=manual
register: win_service_manual_start_mode
- name: check that enabling the service succeeds for manual startup
assert:
that:
- "win_service_manual_start_mode|changed"
- "win_service_manual_start_mode.start_mode == 'manual'"
- "win_service_manual_start_mode.state == 'stopped'"
- name: enable the service again for manual startup
win_service: name="{{ test_win_service_name }}" start_mode=manual
register: win_service_manual_start_mode_again
- name: check that enabling the service succeeds for manual startup
assert:
that:
- "not win_service_manual_start_mode_again|changed"
- "win_service_manual_start_mode_again.start_mode == 'manual'"
- "win_service_manual_start_mode_again.state == 'stopped'"
- name: try to start the manual service
win_service: name="{{ test_win_service_name }}" state=started
register: win_service_start_manual
- name: check that starting the manual service succeeds
assert:
that:
- "win_service_start_manual|changed"
- "win_service_start_manual.start_mode == 'manual'"
- "win_service_start_manual.state == 'running'"
- name: try to start the manual service again
win_service: name="{{ test_win_service_name }}" state=started
register: win_service_start_manual_again
- name: check that starting the manual service again succeeds without changes
assert:
that:
- "not win_service_start_manual_again|changed"
- "win_service_start_manual_again.start_mode == 'manual'"
- "win_service_start_manual_again.state == 'running'"
- name: enable the service for automatic startup
win_service: name="{{ test_win_service_name }}" start_mode=auto
register: win_service_auto_start_mode
- name: check that enabling the service succeeds for automatic startup
assert:
that:
- "win_service_auto_start_mode|changed"
- "win_service_auto_start_mode.start_mode == 'auto'"
- "win_service_auto_start_mode.state == 'running'"
- name: enable the service again for automatic startup
win_service: name="{{ test_win_service_name }}" start_mode=auto
register: win_service_auto_start_mode_again
- name: check that enabling the service succeeds for automatic startup without changes
assert:
that:
- "not win_service_auto_start_mode_again|changed"
- "win_service_auto_start_mode_again.start_mode == 'auto'"
- "win_service_auto_start_mode_again.state == 'running'"
- name: restart the service
win_service: name="{{ test_win_service_name }}" state=restarted
register: win_service_restart_auto
- name: check that restarting the service succeeds with changes
assert:
that:
- "win_service_restart_auto|changed"
- "win_service_restart_auto.start_mode == 'auto'"
- "win_service_restart_auto.state == 'running'"
- name: disable the service again
win_service: name="{{ test_win_service_name }}" start_mode=disabled
register: win_service_disabled_start_mode
- name: check that disabling the service succeeds, service is still running
assert:
that:
- "win_service_disabled_start_mode|changed"
- "win_service_disabled_start_mode.start_mode == 'disabled'"
- "win_service_disabled_start_mode.state == 'running'"
- name: disable the service again
win_service: name="{{ test_win_service_name }}" start_mode=disabled
register: win_service_disabled_start_mode_again
- name: check that disabling the service succeeds again
assert:
that:
- "not win_service_disabled_start_mode_again|changed"
- "win_service_disabled_start_mode_again.start_mode == 'disabled'"
- "win_service_disabled_start_mode_again.state == 'running'"
- name: stop the service
win_service: name="{{ test_win_service_name }}" state=stopped
register: win_service_stop_disabled
- name: check that stopping the service succeeds with changes
assert:
that:
- "win_service_stop_disabled|changed"
- "win_service_stop_disabled.start_mode == 'disabled'"
- "win_service_stop_disabled.state == 'stopped'"
- name: stop the service again
win_service: name="{{ test_win_service_name }}" state=stopped
register: win_service_stop_disabled_again
- name: check that stopping the service again succeeds without changes
assert:
that:
- "not win_service_stop_disabled_again|changed"
- "win_service_stop_disabled_again.start_mode == 'disabled'"
- "win_service_stop_disabled_again.state == 'stopped'"

View file

@ -28,3 +28,4 @@
- { role: test_win_stat, tags: test_win_stat }
- { role: test_win_get_url, tags: test_win_get_url }
- { role: test_win_msi, tags: test_win_msi }
- { role: test_win_service, tags: test_win_service }