# Test code for win_optional_feature module # Copyright: (c) 2019, Carson Anderson # 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 . - 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