# test code for the win_service module # (c) 2014, Chris Church # 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 . - 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'"