mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
195 lines
4.2 KiB
YAML
195 lines
4.2 KiB
YAML
|
# UNINSTALL
|
||
|
- name: uninstall hello
|
||
|
zypper: name=hello state=removed
|
||
|
register: zypper_result
|
||
|
|
||
|
- name: check hello with rpm
|
||
|
shell: rpm -q hello
|
||
|
failed_when: False
|
||
|
register: rpm_result
|
||
|
|
||
|
- debug: var=zypper_result
|
||
|
- debug: var=rpm_result
|
||
|
|
||
|
- name: verify uninstallation of hello
|
||
|
assert:
|
||
|
that:
|
||
|
- "zypper_result.rc == 0"
|
||
|
- "rpm_result.rc == 1"
|
||
|
|
||
|
# UNINSTALL AGAIN
|
||
|
- name: uninstall hello again
|
||
|
zypper: name=hello state=removed
|
||
|
register: zypper_result
|
||
|
|
||
|
- name: verify no change on re-uninstall
|
||
|
assert:
|
||
|
that:
|
||
|
- "not zypper_result.changed"
|
||
|
|
||
|
# INSTALL
|
||
|
- name: install hello
|
||
|
zypper: name=hello state=present
|
||
|
register: zypper_result
|
||
|
|
||
|
- name: check hello with rpm
|
||
|
shell: rpm -q hello
|
||
|
failed_when: False
|
||
|
register: rpm_result
|
||
|
|
||
|
- debug: var=zypper_result
|
||
|
- debug: var=rpm_result
|
||
|
|
||
|
- name: verify installation of hello
|
||
|
assert:
|
||
|
that:
|
||
|
- "zypper_result.rc == 0"
|
||
|
- "zypper_result.changed"
|
||
|
- "rpm_result.rc == 0"
|
||
|
|
||
|
# INSTALL AGAIN
|
||
|
- name: install hello again
|
||
|
zypper: name=hello state=present
|
||
|
register: zypper_result
|
||
|
|
||
|
- name: verify no change on second install
|
||
|
assert:
|
||
|
that:
|
||
|
- "not zypper_result.changed"
|
||
|
|
||
|
# Multiple packages
|
||
|
- name: uninstall hello and metamail
|
||
|
zypper:
|
||
|
name:
|
||
|
- hello
|
||
|
- metamail
|
||
|
state: removed
|
||
|
register: zypper_result
|
||
|
|
||
|
- name: check hello with rpm
|
||
|
shell: rpm -q hello
|
||
|
failed_when: False
|
||
|
register: rpm_hello_result
|
||
|
|
||
|
- name: check metamail with rpm
|
||
|
shell: rpm -q metamail
|
||
|
failed_when: False
|
||
|
register: rpm_metamail_result
|
||
|
|
||
|
- name: verify packages uninstalled
|
||
|
assert:
|
||
|
that:
|
||
|
- "rpm_hello_result.rc != 0"
|
||
|
- "rpm_metamail_result.rc != 0"
|
||
|
|
||
|
- name: install hello and metamail
|
||
|
zypper:
|
||
|
name:
|
||
|
- hello
|
||
|
- metamail
|
||
|
state: present
|
||
|
register: zypper_result
|
||
|
|
||
|
- name: check hello with rpm
|
||
|
shell: rpm -q hello
|
||
|
failed_when: False
|
||
|
register: rpm_hello_result
|
||
|
|
||
|
- name: check metamail with rpm
|
||
|
shell: rpm -q metamail
|
||
|
failed_when: False
|
||
|
register: rpm_metamail_result
|
||
|
|
||
|
- name: verify packages installed
|
||
|
assert:
|
||
|
that:
|
||
|
- "zypper_result.rc == 0"
|
||
|
- "zypper_result.changed"
|
||
|
- "rpm_hello_result.rc == 0"
|
||
|
- "rpm_metamail_result.rc == 0"
|
||
|
|
||
|
- name: uninstall hello and metamail
|
||
|
zypper:
|
||
|
name:
|
||
|
- hello
|
||
|
- metamail
|
||
|
state: removed
|
||
|
|
||
|
# INSTALL nonexistent package
|
||
|
- name: install hello from url
|
||
|
zypper: name=doesnotexist state=present
|
||
|
register: zypper_result
|
||
|
ignore_errors: yes
|
||
|
|
||
|
- name: verify package installation failed
|
||
|
assert:
|
||
|
that:
|
||
|
- "zypper_result.rc == 104"
|
||
|
- "zypper_result.msg.startswith('No provider of')"
|
||
|
|
||
|
# INSTALL broken local package
|
||
|
- name: create directory
|
||
|
file:
|
||
|
path: "{{output_dir | expanduser}}/zypper"
|
||
|
state: directory
|
||
|
|
||
|
- name: fake rpm package
|
||
|
file:
|
||
|
path: "{{output_dir | expanduser}}/zypper/broken.rpm"
|
||
|
state: touch
|
||
|
|
||
|
- name: install broken rpm
|
||
|
zypper:
|
||
|
name="{{output_dir | expanduser}}/zypper/broken.rpm"
|
||
|
state=present
|
||
|
register: zypper_result
|
||
|
ignore_errors: yes
|
||
|
|
||
|
- debug: var=zypper_result
|
||
|
|
||
|
- name: verify we failed installation of broken rpm
|
||
|
assert:
|
||
|
that:
|
||
|
- "zypper_result.rc == 1"
|
||
|
- "'broken.rpm: not an rpm package' in zypper_result.msg"
|
||
|
|
||
|
# Build and install an empty rpm
|
||
|
- name: copy spec file
|
||
|
copy:
|
||
|
src: empty.spec
|
||
|
dest: "{{ output_dir | expanduser }}/zypper/empty.spec"
|
||
|
|
||
|
- name: build rpm
|
||
|
command: |
|
||
|
rpmbuild -bb \
|
||
|
--define "_topdir {{output_dir | expanduser }}/zypper/rpm-build"
|
||
|
--define "_builddir %{_topdir}" \
|
||
|
--define "_rpmdir %{_topdir}" \
|
||
|
--define "_srcrpmdir %{_topdir}" \
|
||
|
--define "_specdir {{output_dir | expanduser}}/zypper" \
|
||
|
--define "_sourcedir %{_topdir}" \
|
||
|
{{ output_dir }}/zypper/empty.spec
|
||
|
register: rpm_build_result
|
||
|
|
||
|
- name: install empty rpm
|
||
|
zypper:
|
||
|
name: "{{ output_dir | expanduser }}/zypper/rpm-build/noarch/empty-1-0.noarch.rpm"
|
||
|
register: zypper_result
|
||
|
|
||
|
- name: check empty with rpm
|
||
|
shell: rpm -q empty
|
||
|
failed_when: False
|
||
|
register: rpm_result
|
||
|
|
||
|
- name: verify installation of empty
|
||
|
assert:
|
||
|
that:
|
||
|
- "zypper_result.rc == 0"
|
||
|
- "zypper_result.changed"
|
||
|
- "rpm_result.rc == 0"
|
||
|
|
||
|
- name: uninstall empry
|
||
|
zypper:
|
||
|
name: empty
|
||
|
state: removed
|