mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
40ce0f995b
* porting https://github.com/ansible/ansible/pull/56778 as requested in https://github.com/ansible-collections/community.general/issues/821 * fix imports, add back trust_cacerts option * try to fix import, ansible-lint fixes * modify import to use ansible.module_utils.six instead * cleanup indentation for tests/integration/targets/java_cert/tasks/main.yml file * remove external crypto dependency - switch to openssl, work on password obfuscation, using files compare to reduce logic * java_cert - remove latest run_command using password in arguments * fix sanity check * rename changelog fragment file - wrong extension * add openssl dependency * fix openssl_bin parameter missing on _get_digest_from_x509_file function call * remove useless close files, fix paragraph, fix changelog, clean import re * fix missing dots at end-of-line in changelogs fragments * fix reminder case * fix changelog * restore .gitignore * fix indentation on integration test files, delete useless json file * fix typo importing tasks in tests/integration/targets/java_cert/tasks/main.yml * Update changelogs/fragments/2008-update-java-cert-replace-cert-when-changed.yml Co-authored-by: Felix Fontein <felix@fontein.de> * Update tests/integration/targets/java_cert/tasks/state_change.yml Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/system/java_cert.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/system/java_cert.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/system/java_cert.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/system/java_cert.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/system/java_cert.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/system/java_cert.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/system/java_cert.py Co-authored-by: Felix Fontein <felix@fontein.de> * fix hardcoded executable keytool, use re.sub instead of import, add required cert_url or cert_alias parameter when absent, fix python script and cert_url test * fix pylint issue with setupSSLServeR.py Co-authored-by: Felix Fontein <felix@fontein.de>
107 lines
No EOL
3.2 KiB
YAML
107 lines
No EOL
3.2 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
|
|
copy: src="{{ test_pkcs12_path }}" dest="{{output_dir}}/{{ test_pkcs12_path }}"
|
|
|
|
- name: import pkcs12
|
|
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
|
|
assert:
|
|
that:
|
|
- result_success is successful
|
|
|
|
- name: import pkcs12 with wrong password
|
|
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
|
|
assert:
|
|
that:
|
|
- result_wrong_pass is failed
|
|
|
|
- name: test fail on mutually exclusive params
|
|
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
|
|
assert:
|
|
that:
|
|
- result_excl_params is failed
|
|
|
|
- name: test fail on missing required params
|
|
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
|
|
assert:
|
|
that:
|
|
- result_missing_required_param is failed
|
|
|
|
- name: delete object based on cert_alias parameter
|
|
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
|
|
assert:
|
|
that:
|
|
- result_alias_deleted is successful
|
|
|
|
- name: include extended test suite
|
|
import_tasks: state_change.yml
|
|
|
|
- name: cleanup environment
|
|
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_cert2_path }}"
|
|
- "{{ test_key2_path }}"
|
|
- "{{ test_pkcs_path }}"
|
|
- "{{ test_pkcs2_path }}" |