mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
c81ea00a97
* import certificate+key bundle from pkcs12
* fix typo/syntax
* fix variable name
* fix passwords order and improve error handling
* add changelog fragment
* enter keystore pass only once if keystore already exists, and twice at creation
* nomalize tests
- Replace `command` tasks by dedicated (community.crypto) modules.
- Add spaces around jinja2 variable names.
- Call modules by their FQCNs.
* Add tests to check keystore has a private key
fix tests for RedHat/CentOS < 8 (run openssl command as an alternative to
`openssl_pkcs12` module)
(cherry picked from commit 21d5668c97
)
Co-authored-by: quidame <quidame@poivron.org>
111 lines
3.5 KiB
YAML
111 lines
3.5 KiB
YAML
---
|
|
####################################################################
|
|
# WARNING: These are designed specifically for Ansible tests #
|
|
# and should not be used as examples of how to write Ansible roles #
|
|
####################################################################
|
|
- when: has_java_keytool
|
|
block:
|
|
|
|
- name: prep pkcs12 file
|
|
ansible.builtin.copy:
|
|
src: "{{ test_pkcs12_path }}"
|
|
dest: "{{ output_dir }}/{{ test_pkcs12_path }}"
|
|
|
|
- name: import pkcs12
|
|
community.general.java_cert:
|
|
pkcs12_path: "{{ output_dir }}/{{ test_pkcs12_path }}"
|
|
pkcs12_password: changeit
|
|
pkcs12_alias: default
|
|
cert_alias: default
|
|
keystore_path: "{{ output_dir }}/{{ test_keystore_path }}"
|
|
keystore_pass: changeme_keystore
|
|
keystore_create: yes
|
|
state: present
|
|
register: result_success
|
|
|
|
- name: verify success
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result_success is successful
|
|
|
|
- name: import pkcs12 with wrong password
|
|
community.general.java_cert:
|
|
pkcs12_path: "{{ output_dir }}/{{ test_pkcs12_path }}"
|
|
pkcs12_password: wrong_pass
|
|
pkcs12_alias: default
|
|
cert_alias: default_new
|
|
keystore_path: "{{ output_dir }}/{{ test_keystore_path }}"
|
|
keystore_pass: changeme_keystore
|
|
keystore_create: yes
|
|
state: present
|
|
ignore_errors: true
|
|
register: result_wrong_pass
|
|
|
|
- name: verify fail with wrong import password
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result_wrong_pass is failed
|
|
|
|
- name: test fail on mutually exclusive params
|
|
community.general.java_cert:
|
|
cert_path: ca.crt
|
|
pkcs12_path: "{{ output_dir }}/{{ test_pkcs12_path }}"
|
|
cert_alias: default
|
|
keystore_path: "{{ output_dir }}/{{ test_keystore_path }}"
|
|
keystore_pass: changeme_keystore
|
|
keystore_create: yes
|
|
state: present
|
|
ignore_errors: true
|
|
register: result_excl_params
|
|
|
|
- name: verify failed exclusive params
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result_excl_params is failed
|
|
|
|
- name: test fail on missing required params
|
|
community.general.java_cert:
|
|
keystore_path: "{{ output_dir }}/{{ test_keystore_path }}"
|
|
keystore_pass: changeme_keystore
|
|
state: absent
|
|
ignore_errors: true
|
|
register: result_missing_required_param
|
|
|
|
- name: verify failed missing required params
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result_missing_required_param is failed
|
|
|
|
- name: delete object based on cert_alias parameter
|
|
community.general.java_cert:
|
|
keystore_path: "{{ output_dir }}/{{ test_keystore_path }}"
|
|
keystore_pass: changeme_keystore
|
|
cert_alias: default
|
|
state: absent
|
|
ignore_errors: true
|
|
register: result_alias_deleted
|
|
|
|
- name: verify object successfully deleted
|
|
ansible.builtin.assert:
|
|
that:
|
|
- result_alias_deleted is successful
|
|
|
|
- name: include extended test suite
|
|
import_tasks: state_change.yml
|
|
|
|
- name: cleanup environment
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: absent
|
|
loop:
|
|
- "{{ output_dir }}/{{ test_pkcs12_path }}"
|
|
- "{{ output_dir }}/{{ test_keystore_path }}"
|
|
- "{{ test_keystore2_path }}"
|
|
- "{{ test_cert_path }}"
|
|
- "{{ test_key_path }}"
|
|
- "{{ test_csr_path }}"
|
|
- "{{ test_cert2_path }}"
|
|
- "{{ test_key2_path }}"
|
|
- "{{ test_csr2_path }}"
|
|
- "{{ test_pkcs_path }}"
|
|
- "{{ test_pkcs2_path }}"
|