You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/deb822_repository/tasks/test.yml

244 lines
6.3 KiB
YAML

- name: Create deb822 repo - check_mode
deb822_repository:
name: ansible-test focal archive
uris: http://us.archive.ubuntu.com/ubuntu
suites:
- focal
- focal-updates
components:
- main
- restricted
register: deb822_check_mode_1
check_mode: true
- name: Create deb822 repo
deb822_repository:
name: ansible-test focal archive
uris: http://us.archive.ubuntu.com/ubuntu
suites:
- focal
- focal-updates
components:
- main
- restricted
date_max_future: 10
register: deb822_create_1
- name: Check file mode
stat:
path: /etc/apt/sources.list.d/ansible-test-focal-archive.sources
register: deb822_create_1_stat_1
- name: Create another deb822 repo
deb822_repository:
name: ansible-test focal security
uris: http://security.ubuntu.com/ubuntu
suites:
- focal-security
components:
- main
- restricted
register: deb822_create_2
- name: Create deb822 repo idempotency
deb822_repository:
name: ansible-test focal archive
uris: http://us.archive.ubuntu.com/ubuntu
suites:
- focal
- focal-updates
components:
- main
- restricted
date_max_future: 10
register: deb822_create_1_idem
- name: Create deb822 repo (changed order of parameters) idempotency
deb822_repository:
uris: http://us.archive.ubuntu.com/ubuntu
name: ansible-test focal archive
date_max_future: 10
components:
- main
- restricted
suites:
- focal
- focal-updates
register: deb822_create_2_idem
- name: Create deb822 repo - check_mode
deb822_repository:
name: ansible-test focal archive
uris: http://us.archive.ubuntu.com/ubuntu
suites:
- focal
- focal-updates
components:
- main
- restricted
date_max_future: 10
register: deb822_check_mode_2
check_mode: yes
- name: Change deb822 repo mode
deb822_repository:
name: ansible-test focal archive
uris: http://us.archive.ubuntu.com/ubuntu
suites:
- focal
- focal-updates
components:
- main
- restricted
date_max_future: 10
mode: '0600'
register: deb822_create_1_mode
- name: Check file mode
stat:
path: /etc/apt/sources.list.d/ansible-test-focal-archive.sources
register: deb822_create_1_stat_2
- assert:
that:
- deb822_check_mode_1 is changed
- deb822_check_mode_2 is not changed
- deb822_create_1 is changed
- deb822_create_1.dest == '/etc/apt/sources.list.d/ansible-test-focal-archive.sources'
- deb822_create_1.repo|trim == focal_archive_expected
- deb822_create_1_idem is not changed
- deb822_create_2_idem is not changed
- deb822_create_1_mode is changed
- deb822_create_1_stat_1.stat.mode == '0644'
- deb822_create_1_stat_2.stat.mode == '0600'
vars:
focal_archive_expected: |-
Components: main restricted
Date-Max-Future: 10
X-Repolib-Name: ansible-test focal archive
Suites: focal focal-updates
Types: deb
URIs: http://us.archive.ubuntu.com/ubuntu
- name: Remove repos
deb822_repository:
name: '{{ item }}'
state: absent
register: remove_repos_1
loop:
- ansible-test focal archive
- ansible-test focal security
- name: Check for repo files
stat:
path: /etc/apt/sources.list.d/ansible-test-{{ item }}.sources
register: remove_stats
loop:
- focal-archive
- focal-security
- assert:
that:
- remove_repos_1 is changed
- remove_stats.results|map(attribute='stat')|selectattr('exists') == []
- name: Add repo with signed_by
deb822_repository:
name: ansible-test
types: deb
uris: https://deb.debian.org
suites: stable
components:
- main
- contrib
- non-free
signed_by: |-
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY
CuMfoIS0BmFiY2RlZoiQBBMWCgA4FiEErCIG1VhKWMWo2yfAREZd5NfO31cFAmAk
IyMCGyMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQREZd5NfO31fbOwD6ArzS
dM0Dkd5h2Ujy1b6KcAaVW9FOa5UNfJ9FFBtjLQEBAJ7UyWD3dZzhvlaAwunsk7DG
3bHcln8DMpIJVXht78sL
=IE0r
-----END PGP PUBLIC KEY BLOCK-----
register: signed_by_inline
- name: Change signed_by to URL
deb822_repository:
name: ansible-test
types: deb
uris: https://deb.debian.org
suites: stable
components:
- main
- contrib
- non-free
signed_by: https://ci-files.testing.ansible.com/test/integration/targets/apt_key/apt-key-example-binary.gpg
register: signed_by_url
- assert:
that:
- signed_by_inline.key_filename is none
- signed_by_inline.repo|trim == signed_by_inline_expected
- signed_by_url is changed
- signed_by_url.key_filename == '/etc/apt/keyrings/ansible-test.gpg'
- >
'BEGIN' not in signed_by_url.repo
vars:
signed_by_inline_expected: |-
Components: main contrib non-free
X-Repolib-Name: ansible-test
Signed-By:
-----BEGIN PGP PUBLIC KEY BLOCK-----
.
mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY
CuMfoIS0BmFiY2RlZoiQBBMWCgA4FiEErCIG1VhKWMWo2yfAREZd5NfO31cFAmAk
IyMCGyMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQREZd5NfO31fbOwD6ArzS
dM0Dkd5h2Ujy1b6KcAaVW9FOa5UNfJ9FFBtjLQEBAJ7UyWD3dZzhvlaAwunsk7DG
3bHcln8DMpIJVXht78sL
=IE0r
-----END PGP PUBLIC KEY BLOCK-----
Suites: stable
Types: deb
URIs: https://deb.debian.org
- name: remove ansible-test repo
deb822_repository:
name: ansible-test
state: absent
register: ansible_test_repo_remove
- name: check for ansible-test repo and key
stat:
path: '{{ item }}'
register: ansible_test_repo_stats
loop:
- /etc/apt/sources.list.d/ansible-test.sources
- /etc/apt/keyrings/ansible-test.gpg
- assert:
that:
- ansible_test_repo_remove is changed
- ansible_test_repo_stats.results|map(attribute='stat')|selectattr('exists') == []
- name: Check if http-agent works when using cloudflare repo - check_mode
deb822_repository:
name: cloudflared
types: deb
uris: https://pkg.cloudflare.com/cloudflared
suites: "bullseye"
components: main
signed_by: https://pkg.cloudflare.com/cloudflare-main.gpg
state: present
check_mode: true
register: ansible_test_http_agent
- assert:
that:
- ansible_test_http_agent is changed