47796af64f
When targeting 'foo*' in tests, it pulled in packages other than the dummy packages in our testing repo that have many dependencies, some of which were causing tests to fail. Also change 'bar' package name to avoid the same issue in the future.
286 lines
8.3 KiB
YAML
286 lines
8.3 KiB
YAML
- block:
|
|
- name: Install dinginessentail-1.0-1
|
|
dnf:
|
|
name: dinginessentail-1.0-1
|
|
state: present
|
|
register: dnf_result
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "dnf_result.changed"
|
|
- "rpm_result.stdout.startswith('dinginessentail-1.0-1')"
|
|
|
|
- name: Verify dnf module outputs
|
|
assert:
|
|
that:
|
|
- "'results' in dnf_result"
|
|
# ============================================================================
|
|
- name: Install dinginessentail-1.0-1 again
|
|
dnf:
|
|
name: dinginessentail-1.0-1
|
|
state: present
|
|
register: dnf_result
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "not dnf_result.changed"
|
|
- "rpm_result.stdout.startswith('dinginessentail-1.0-1')"
|
|
|
|
- name: Verify dnf module outputs
|
|
assert:
|
|
that:
|
|
- "'msg' in dnf_result"
|
|
# ============================================================================
|
|
- name: Install dinginessentail-1:1.0-2
|
|
dnf:
|
|
name: "dinginessentail-1:1.0-2.{{ ansible_architecture }}"
|
|
state: present
|
|
register: dnf_result
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "dnf_result.changed"
|
|
- "rpm_result.stdout.startswith('dinginessentail-1.0-2')"
|
|
|
|
- name: Verify dnf module outputs
|
|
assert:
|
|
that:
|
|
- "'results' in dnf_result"
|
|
# ============================================================================
|
|
- name: Update to the latest dinginessentail
|
|
dnf:
|
|
name: dinginessentail
|
|
state: latest
|
|
register: dnf_result
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "dnf_result.changed"
|
|
- "rpm_result.stdout.startswith('dinginessentail-1.1-1')"
|
|
|
|
- name: Verify dnf module outputs
|
|
assert:
|
|
that:
|
|
- "'results' in dnf_result"
|
|
# ============================================================================
|
|
- name: Install dinginessentail-1.0-1 from a file (downgrade)
|
|
dnf:
|
|
name: "{{ repodir }}/dinginessentail-1.0-1.{{ ansible_architecture }}.rpm"
|
|
state: present
|
|
allow_downgrade: True
|
|
register: dnf_result
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "dnf_result.changed"
|
|
- "rpm_result.stdout.startswith('dinginessentail-1.0-1')"
|
|
|
|
- name: Verify dnf module outputs
|
|
assert:
|
|
that:
|
|
- "'results' in dnf_result"
|
|
|
|
- name: Remove dinginessentail
|
|
dnf:
|
|
name: dinginessentail
|
|
state: absent
|
|
# ============================================================================
|
|
- name: Install dinginessentail-1.0-1 from a file
|
|
dnf:
|
|
name: "{{ repodir }}/dinginessentail-1.0-1.{{ ansible_architecture }}.rpm"
|
|
state: present
|
|
register: dnf_result
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "dnf_result.changed"
|
|
- "rpm_result.stdout.startswith('dinginessentail-1.0-1')"
|
|
|
|
- name: Verify dnf module outputs
|
|
assert:
|
|
that:
|
|
- "'results' in dnf_result"
|
|
# ============================================================================
|
|
- name: Install dinginessentail-1.0-1 from a file again
|
|
dnf:
|
|
name: "{{ repodir }}/dinginessentail-1.0-1.{{ ansible_architecture }}.rpm"
|
|
state: present
|
|
register: dnf_result
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "not dnf_result.changed"
|
|
- "rpm_result.stdout.startswith('dinginessentail-1.0-1')"
|
|
# ============================================================================
|
|
- name: Install dinginessentail-1.0-2 from a file
|
|
dnf:
|
|
name: "{{ repodir }}/dinginessentail-1.0-2.{{ ansible_architecture }}.rpm"
|
|
state: present
|
|
register: dnf_result
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "dnf_result.changed"
|
|
- "rpm_result.stdout.startswith('dinginessentail-1.0-2')"
|
|
|
|
- name: Verify dnf module outputs
|
|
assert:
|
|
that:
|
|
- "'results' in dnf_result"
|
|
# ============================================================================
|
|
- name: Install dinginessentail-1.0-2 from a file again
|
|
dnf:
|
|
name: "{{ repodir }}/dinginessentail-1.0-2.{{ ansible_architecture }}.rpm"
|
|
state: present
|
|
register: dnf_result
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "not dnf_result.changed"
|
|
- "rpm_result.stdout.startswith('dinginessentail-1.0-2')"
|
|
# ============================================================================
|
|
- name: Remove dinginessentail
|
|
dnf:
|
|
name: dinginessentail
|
|
state: absent
|
|
|
|
- name: Try to install incompatible arch
|
|
dnf:
|
|
name: "{{ repodir_ppc64 }}/dinginessentail-1.0-1.ppc64.rpm"
|
|
state: present
|
|
register: dnf_result
|
|
ignore_errors: yes
|
|
|
|
- name: Check dinginessentail with rpm
|
|
shell: rpm -q dinginessentail
|
|
register: rpm_result
|
|
ignore_errors: yes
|
|
|
|
- name: Verify installation
|
|
assert:
|
|
that:
|
|
- "rpm_result.rc == 1"
|
|
- "not dnf_result.changed"
|
|
- "dnf_result is failed"
|
|
# ============================================================================
|
|
|
|
# Should install dinginessentail-with-weak-dep and dinginessentail-weak-dep
|
|
- name: Install package with defaults
|
|
dnf:
|
|
name: dinginessentail-with-weak-dep
|
|
state: present
|
|
|
|
- name: Check if dinginessentail-with-weak-dep is installed
|
|
shell: rpm -q dinginessentail-with-weak-dep
|
|
register: rpm_main_result
|
|
|
|
- name: Check if dinginessentail-weak-dep is installed
|
|
shell: rpm -q dinginessentail-weak-dep
|
|
register: rpm_weak_result
|
|
|
|
- name: Verify install with weak deps
|
|
assert:
|
|
that:
|
|
- rpm_main_result.rc == 0
|
|
- rpm_weak_result.rc == 0
|
|
|
|
- name: Uninstall dinginessentail weak dep packages
|
|
dnf:
|
|
name:
|
|
- dinginessentail-with-weak-dep
|
|
- dinginessentail-weak-dep
|
|
state: absent
|
|
|
|
- name: Install package with weak deps but skip weak deps
|
|
dnf:
|
|
name: dinginessentail-with-weak-dep
|
|
install_weak_deps: False
|
|
state: present
|
|
|
|
- name: Check if dinginessentail-with-weak-dep is installed
|
|
shell: rpm -q dinginessentail-with-weak-dep
|
|
register: rpm_main_result
|
|
|
|
- name: Check if dinginessentail-weak-dep is installed
|
|
shell: rpm -q dinginessentail-weak-dep
|
|
register: rpm_weak_result
|
|
ignore_errors: yes
|
|
|
|
- name: Verify install without weak deps
|
|
assert:
|
|
that:
|
|
- rpm_main_result.rc == 0
|
|
- rpm_weak_result.rc == 1 # the weak dependency shouldn't be installed
|
|
|
|
# https://github.com/ansible/ansible/issues/55938
|
|
- name: Install dinginessentail-*
|
|
dnf:
|
|
name: dinginessentail-*
|
|
state: present
|
|
|
|
- name: Uninstall dinginessentail-*
|
|
dnf:
|
|
name: dinginessentail-*
|
|
state: absent
|
|
|
|
- name: Check if all dinginessentail packages are removed
|
|
shell: rpm -qa dinginessentail-* | wc -l
|
|
register: rpm_result
|
|
|
|
- name: Verify rpm result
|
|
assert:
|
|
that:
|
|
- rpm_result.stdout == '0'
|
|
always:
|
|
- name: Clean up
|
|
dnf:
|
|
name:
|
|
- dinginessentail
|
|
- dinginessentail-with-weak-dep
|
|
- dinginessentail-weak-dep
|
|
state: absent
|