2022-08-05 20:16:36 +02:00
|
|
|
---
|
|
|
|
# Copyright (c) Ansible Project
|
|
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2020-03-09 10:11:07 +01:00
|
|
|
- debug:
|
|
|
|
msg: ' with_alternatives: {{ with_alternatives }}, mode: {{ mode }}'
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: set alternative (using link parameter)
|
|
|
|
alternatives:
|
|
|
|
name: dummy
|
2021-07-25 13:53:38 +02:00
|
|
|
path: '/usr/bin/dummy{{ item }}'
|
2020-03-09 10:11:07 +01:00
|
|
|
link: '/usr/bin/dummy'
|
|
|
|
register: alternative
|
|
|
|
|
|
|
|
- name: check expected command was executed
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- 'alternative is successful'
|
|
|
|
- 'alternative is changed'
|
|
|
|
when: with_link
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: set alternative (without link parameter)
|
|
|
|
alternatives:
|
|
|
|
name: dummy
|
2021-07-25 13:53:38 +02:00
|
|
|
path: '/usr/bin/dummy{{ item }}'
|
2020-03-09 10:11:07 +01:00
|
|
|
register: alternative
|
|
|
|
|
|
|
|
- name: check expected command was executed
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- 'alternative is successful'
|
|
|
|
- 'alternative is changed'
|
|
|
|
when: not with_link
|
|
|
|
|
|
|
|
- name: execute dummy command
|
|
|
|
shell: dummy
|
|
|
|
register: cmd
|
|
|
|
|
|
|
|
- name: check expected command was executed
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- 'cmd.stdout == "dummy" ~ item'
|
|
|
|
|
|
|
|
- name: 'check mode (manual: alternatives file existed, it has been updated)'
|
2021-07-25 13:53:38 +02:00
|
|
|
shell: 'head -n1 {{ alternatives_dir }}/dummy | grep "^manual$"'
|
2020-03-09 10:11:07 +01:00
|
|
|
when: ansible_os_family != 'RedHat' or with_alternatives or item != 1
|
|
|
|
|
|
|
|
- name: 'check mode (auto: alternatives file didn''t exist, it has been created)'
|
2021-07-25 13:53:38 +02:00
|
|
|
shell: 'head -n1 {{ alternatives_dir }}/dummy | grep "^auto$"'
|
2020-03-09 10:11:07 +01:00
|
|
|
when: ansible_os_family == 'RedHat' and not with_alternatives and item == 1
|
|
|
|
|
|
|
|
- name: check that alternative has been updated
|
2022-06-13 21:51:08 +02:00
|
|
|
command: "grep -Pzq '/bin/dummy{{ item }}\\n' '{{ alternatives_dir }}/dummy'"
|