151 lines
3.5 KiB
YAML
151 lines
3.5 KiB
YAML
# Test code for win_optional_feature module
|
|
# Copyright: (c) 2019, Carson Anderson <rcanderson23@gmail.com>
|
|
|
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
#
|
|
# 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: fail with invalid feature name
|
|
win_optional_feature:
|
|
name:
|
|
- TelnetClient
|
|
- FakeFeature
|
|
state: present
|
|
register: invalid_name
|
|
failed_when: invalid_name.msg != "Failed to find feature 'FakeFeature'"
|
|
|
|
- name: run with check_mode
|
|
win_optional_feature:
|
|
name: TelnetClient
|
|
state: present
|
|
include_parent: true
|
|
check_mode: yes
|
|
register: feature_check
|
|
|
|
- name: assert check_mode
|
|
assert:
|
|
that:
|
|
- feature_check.changed
|
|
|
|
- name: run without check_mode
|
|
win_optional_feature:
|
|
name: TelnetClient
|
|
state: present
|
|
include_parent: true
|
|
register: real_feature_check
|
|
|
|
- name: assert feature installed
|
|
assert:
|
|
that:
|
|
- real_feature_check.changed
|
|
|
|
- name: test idempotence for install
|
|
win_optional_feature:
|
|
name: TelnetClient
|
|
state: present
|
|
include_parent: true
|
|
register: real_feature_check
|
|
|
|
- name: assert idempotence
|
|
assert:
|
|
that:
|
|
- not real_feature_check.changed
|
|
|
|
- name: install feature with list
|
|
win_optional_feature:
|
|
name:
|
|
- SimpleTCP
|
|
- TelnetClient
|
|
state: present
|
|
include_parent: true
|
|
register: install_list
|
|
|
|
- name: assert install feature with list
|
|
assert:
|
|
that:
|
|
- install_list is changed
|
|
|
|
- name: install feature with list (idempotent)
|
|
win_optional_feature:
|
|
name:
|
|
- SimpleTCP
|
|
- TelnetClient
|
|
state: present
|
|
include_parent: true
|
|
register: install_list_again
|
|
|
|
- name: assert install feature with list (idempotent)
|
|
assert:
|
|
that:
|
|
- not install_list_again is changed
|
|
|
|
- name: removal run with check_mode
|
|
win_optional_feature:
|
|
name: TelnetClient
|
|
state: absent
|
|
check_mode: yes
|
|
register: feature_check
|
|
|
|
- name: assert removal check_mode
|
|
assert:
|
|
that:
|
|
- feature_check.changed
|
|
|
|
- name: remove feature
|
|
win_optional_feature:
|
|
name: TelnetClient
|
|
state: absent
|
|
register: real_feature_check
|
|
|
|
- name: assert feature removed
|
|
assert:
|
|
that:
|
|
- real_feature_check.changed
|
|
|
|
- name: test idempotence for removal
|
|
win_optional_feature:
|
|
name: TelnetClient
|
|
state: absent
|
|
register: real_feature_check
|
|
|
|
- name: assert idempotence
|
|
assert:
|
|
that:
|
|
- not real_feature_check.changed
|
|
|
|
- name: remove feature with list
|
|
win_optional_feature:
|
|
name:
|
|
- SimpleTCP
|
|
- TelnetClient
|
|
state: absent
|
|
register: remove_feature_list
|
|
|
|
- name: assert remove feature with list
|
|
assert:
|
|
that:
|
|
- remove_feature_list is changed
|
|
|
|
- name: remove feature with list (idempotent)
|
|
win_optional_feature:
|
|
name:
|
|
- SimpleTCP
|
|
- TelnetClient
|
|
state: absent
|
|
register: remove_feature_list_again
|
|
|
|
- name: assert remove feature with list (idempotent)
|
|
assert:
|
|
that:
|
|
- not remove_feature_list_again is changed
|