016cd0691c
* alternatives: add integration tests * alternatives: handle absent link (fix AttributeError) Error occurred at least on Debian Stretch and OpenSuse 42.2: Traceback (most recent call last): File "/tmp/ansible_RY6X41/ansible_module_alternatives.py", line 161, in <module> main() File "/tmp/ansible_RY6X41/ansible_module_alternatives.py", line 113, in main current_path = current_path_regex.search(display_output).group(1) AttributeError: 'NoneType' object has no attribute 'group' update-alternatives stdout sample: dummy - manual mode link best version is /usr/bin/dummy1 link currently absent link dummy is /usr/bin/dummy * alternatives: PEP 8 fixes * alternatives: fix copyright in integration tests * alternatives: nested loops handle more than 2 items Thanks to Michael Scherer (@mscherer) for pointing that. * alternatives: enable integration tests
53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
- debug:
|
||
msg: ' with_alternatives: {{ with_alternatives }}, mode: {{ mode }}'
|
||
|
||
- block:
|
||
- name: set alternative (using link parameter)
|
||
alternatives:
|
||
name: dummy
|
||
path: '/usr/bin/dummy{{ item }}'
|
||
link: '/usr/bin/dummy'
|
||
register: alternative
|
||
|
||
- name: check expected command was executed
|
||
assert:
|
||
that:
|
||
- 'alternative|success'
|
||
- 'alternative|changed'
|
||
when: with_link
|
||
|
||
- block:
|
||
- name: set alternative (without link parameter)
|
||
alternatives:
|
||
name: dummy
|
||
path: '/usr/bin/dummy{{ item }}'
|
||
register: alternative
|
||
|
||
- name: check expected command was executed
|
||
assert:
|
||
that:
|
||
- 'alternative|success'
|
||
- 'alternative|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)'
|
||
shell: 'head -n1 {{ alternatives_dir }}/dummy | grep "^manual$"'
|
||
when: ansible_os_family != 'RedHat' or with_alternatives or item != 1
|
||
|
||
- name: 'check mode (auto: alternatives file didn''t exist, it has been created)'
|
||
shell: 'head -n1 {{ alternatives_dir }}/dummy | grep "^auto$"'
|
||
when: ansible_os_family == 'RedHat' and not with_alternatives and item == 1
|
||
|
||
- name: check that alternative has been updated
|
||
command: "grep -Pzq '/bin/dummy{{ item }}\\n' '{{ alternatives_dir }}/dummy'"
|
||
# priority doesn't seem updated
|
||
#command: "grep -Pzq '/bin/dummy{{ item }}\\n50' '{{ alternatives_dir }}/dummy'"
|