mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-06-30 07:50:43 +00:00
Revert "Remove auto-added invocation return value as it is not used by v2 and could leak sensitive data." This reverts commit6ce6b20268. Remove the note that invocation was removed as we've now restored it. Revert "keyword not in ubuntu 14.04" This reverts commit5c01622457. Revert "remove invocation keyword check" This reverts commit5177cb3f74.
140 lines
3.5 KiB
YAML
140 lines
3.5 KiB
YAML
|
|
|
|
# UNINSTALL 'python-apt'
|
|
# The `apt` module has the smarts to auto-install `python-apt`. To test, we
|
|
# will first uninstall `python-apt`.
|
|
- name: check python-apt with dpkg
|
|
shell: dpkg -s python-apt
|
|
register: dpkg_result
|
|
ignore_errors: true
|
|
|
|
- name: uninstall python-apt with apt
|
|
apt: pkg=python-apt state=absent purge=yes
|
|
register: apt_result
|
|
when: dpkg_result|success
|
|
|
|
# UNINSTALL 'hello'
|
|
# With 'python-apt' uninstalled, the first call to 'apt' should install
|
|
# python-apt.
|
|
- name: uninstall hello with apt
|
|
apt: pkg=hello state=absent purge=yes
|
|
register: apt_result
|
|
|
|
- name: check hello with dpkg
|
|
shell: dpkg --get-selections | fgrep hello
|
|
failed_when: False
|
|
register: dpkg_result
|
|
|
|
- name: verify uninstallation of hello
|
|
assert:
|
|
that:
|
|
- "'changed' in apt_result"
|
|
- "dpkg_result.rc == 1"
|
|
|
|
# UNINSTALL AGAIN
|
|
- name: uninstall hello with apt
|
|
apt: pkg=hello state=absent purge=yes
|
|
register: apt_result
|
|
|
|
- name: verify no change on re-uninstall
|
|
assert:
|
|
that:
|
|
- "not apt_result.changed"
|
|
|
|
# INSTALL
|
|
- name: install hello with apt
|
|
apt: name=hello state=present
|
|
register: apt_result
|
|
|
|
- name: check hello with dpkg
|
|
shell: dpkg --get-selections | fgrep hello
|
|
failed_when: False
|
|
register: dpkg_result
|
|
|
|
- debug: var=apt_result
|
|
- debug: var=dpkg_result
|
|
|
|
- name: verify installation of hello
|
|
assert:
|
|
that:
|
|
- "apt_result.changed"
|
|
- "dpkg_result.rc == 0"
|
|
|
|
- name: verify apt module outputs
|
|
assert:
|
|
that:
|
|
- "'invocation' in apt_result"
|
|
- "'changed' in apt_result"
|
|
- "'stderr' in apt_result"
|
|
- "'stdout' in apt_result"
|
|
- "'stdout_lines' in apt_result"
|
|
|
|
# INSTALL AGAIN
|
|
- name: install hello with apt
|
|
apt: name=hello state=present
|
|
register: apt_result
|
|
|
|
- name: verify no change on re-install
|
|
assert:
|
|
that:
|
|
- "not apt_result.changed"
|
|
|
|
# UNINSTALL AGAIN
|
|
- name: uninstall hello with apt
|
|
apt: pkg=hello state=absent purge=yes
|
|
register: apt_result
|
|
|
|
# INSTALL WITH VERSION WILDCARD
|
|
- name: install hello with apt
|
|
apt: name=hello=2.* state=present
|
|
register: apt_result
|
|
|
|
- name: check hello with wildcard with dpkg
|
|
shell: dpkg --get-selections | fgrep hello
|
|
failed_when: False
|
|
register: dpkg_result
|
|
|
|
- debug: var=apt_result
|
|
- debug: var=dpkg_result
|
|
|
|
- name: verify installation of hello
|
|
assert:
|
|
that:
|
|
- "apt_result.changed"
|
|
- "dpkg_result.rc == 0"
|
|
|
|
- name: check hello version
|
|
shell: dpkg -s hello | grep Version | sed -r 's/Version:\s+([a-zA-Z0-9.-]+)\s*$/\1/'
|
|
register: hello_version
|
|
- name: check hello architecture
|
|
shell: dpkg -s hello | grep Architecture | sed -r 's/Architecture:\s+([a-zA-Z0-9.-]+)\s*$/\1/'
|
|
register: hello_architecture
|
|
|
|
- name: uninstall hello with apt
|
|
apt: pkg=hello state=absent purge=yes
|
|
|
|
- name: install deb file
|
|
apt: deb="/var/cache/apt/archives/hello_{{ hello_version.stdout }}_{{ hello_architecture.stdout }}.deb"
|
|
register: apt_initial
|
|
|
|
- name: install deb file again
|
|
apt: deb="/var/cache/apt/archives/hello_{{ hello_version.stdout }}_{{ hello_architecture.stdout }}.deb"
|
|
register: apt_secondary
|
|
|
|
- name: verify installation of hello
|
|
assert:
|
|
that:
|
|
- "apt_initial.changed"
|
|
- "not apt_secondary.changed"
|
|
|
|
- name: uninstall hello with apt
|
|
apt: pkg=hello state=absent purge=yes
|
|
|
|
- name: force install of deb
|
|
apt: deb="/var/cache/apt/archives/hello_{{ hello_version.stdout }}_{{ hello_architecture.stdout }}.deb" force=true
|
|
register: dpkg_force
|
|
|
|
- name: verify installation of hello
|
|
assert:
|
|
that:
|
|
- "dpkg_force.changed"
|