mirror of
https://github.com/ansible-collections/community.crypto.git
synced 2026-05-08 14:22:56 +00:00
Add conversion filters for serial numbers (#713)
* Refactoring. * Add parse_filter and to_filter plugins. * Mention filters when serial numbers are accepted or returned.
This commit is contained in:
5
tests/integration/targets/filter_parse_serial/aliases
Normal file
5
tests/integration/targets/filter_parse_serial/aliases
Normal file
@@ -0,0 +1,5 @@
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
azp/posix/2
|
||||
62
tests/integration/targets/filter_parse_serial/tasks/main.yml
Normal file
62
tests/integration/targets/filter_parse_serial/tasks/main.yml
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Test parse_serial filter
|
||||
assert:
|
||||
that:
|
||||
- >-
|
||||
'0' | community.crypto.parse_serial == 0
|
||||
- >-
|
||||
'00' | community.crypto.parse_serial == 0
|
||||
- >-
|
||||
'000' | community.crypto.parse_serial == 0
|
||||
- >-
|
||||
'ff' | community.crypto.parse_serial == 255
|
||||
- >-
|
||||
'0ff' | community.crypto.parse_serial == 255
|
||||
- >-
|
||||
'1:0' | community.crypto.parse_serial == 256
|
||||
- >-
|
||||
'1:2:3' | community.crypto.parse_serial == 66051
|
||||
|
||||
- name: "Test error 1: empty string"
|
||||
debug:
|
||||
msg: >-
|
||||
{{ '' | community.crypto.parse_serial }}
|
||||
ignore_errors: true
|
||||
register: error_1
|
||||
|
||||
- name: "Test error 2: invalid type"
|
||||
debug:
|
||||
msg: >-
|
||||
{{ [] | community.crypto.parse_serial }}
|
||||
ignore_errors: true
|
||||
register: error_2
|
||||
|
||||
- name: "Test error 3: invalid values (range)"
|
||||
debug:
|
||||
msg: >-
|
||||
{{ '100' | community.crypto.parse_serial }}
|
||||
ignore_errors: true
|
||||
register: error_3
|
||||
|
||||
- name: "Test error 4: invalid values (digits)"
|
||||
debug:
|
||||
msg: >-
|
||||
{{ 'abcdefg' | community.crypto.parse_serial }}
|
||||
ignore_errors: true
|
||||
register: error_4
|
||||
|
||||
- name: Validate errors
|
||||
assert:
|
||||
that:
|
||||
- >-
|
||||
error_1 is failed and "The 1st part '' is not a hexadecimal number in range [0, 255]: invalid literal" in error_1.msg
|
||||
- >-
|
||||
error_2 is failed and "The input for the community.crypto.parse_serial filter must be a string; got " in error_2.msg
|
||||
- >-
|
||||
error_3 is failed and "The 1st part '100' is not a hexadecimal number in range [0, 255]: the value is not in range [0, 255]" in error_3.msg
|
||||
- >-
|
||||
error_4 is failed and "The 1st part 'abcdefg' is not a hexadecimal number in range [0, 255]: invalid literal" in error_4.msg
|
||||
5
tests/integration/targets/filter_to_serial/aliases
Normal file
5
tests/integration/targets/filter_to_serial/aliases
Normal file
@@ -0,0 +1,5 @@
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
azp/posix/2
|
||||
35
tests/integration/targets/filter_to_serial/tasks/main.yml
Normal file
35
tests/integration/targets/filter_to_serial/tasks/main.yml
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Test to_serial filter
|
||||
assert:
|
||||
that:
|
||||
- 0 | community.crypto.to_serial == '00'
|
||||
- 1 | community.crypto.to_serial == '01'
|
||||
- 255 | community.crypto.to_serial == 'FF'
|
||||
- 256 | community.crypto.to_serial == '01:00'
|
||||
- 65536 | community.crypto.to_serial == '01:00:00'
|
||||
|
||||
- name: "Test error 1: negative number"
|
||||
debug:
|
||||
msg: >-
|
||||
{{ (-1) | community.crypto.to_serial }}
|
||||
ignore_errors: true
|
||||
register: error_1
|
||||
|
||||
- name: "Test error 2: invalid type"
|
||||
debug:
|
||||
msg: >-
|
||||
{{ [] | community.crypto.to_serial }}
|
||||
ignore_errors: true
|
||||
register: error_2
|
||||
|
||||
- name: Validate error
|
||||
assert:
|
||||
that:
|
||||
- >-
|
||||
error_1 is failed and "The input for the community.crypto.to_serial filter must not be negative" in error_1.msg
|
||||
- >-
|
||||
error_2 is failed and "The input for the community.crypto.to_serial filter must be an integer; got " in error_2.msg
|
||||
@@ -7,10 +7,16 @@
|
||||
docs/docsite/rst/guide_selfsigned.rst rstcheck
|
||||
plugins/modules/acme_account_info.py validate-modules:return-syntax-error
|
||||
plugins/modules/acme_challenge_cert_helper.py validate-modules:return-syntax-error
|
||||
plugins/modules/ecs_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/get_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssh_cert.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_pipe.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_privatekey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_publickey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_certificate_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:return-syntax-error
|
||||
plugins/modules/x509_crl_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl_info.py validate-modules:return-syntax-error
|
||||
|
||||
@@ -6,10 +6,16 @@
|
||||
.azure-pipelines/scripts/publish-codecov.py metaclass-boilerplate
|
||||
plugins/modules/acme_account_info.py validate-modules:return-syntax-error
|
||||
plugins/modules/acme_challenge_cert_helper.py validate-modules:return-syntax-error
|
||||
plugins/modules/ecs_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/get_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssh_cert.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_pipe.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_privatekey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_publickey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_certificate_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:return-syntax-error
|
||||
plugins/modules/x509_crl_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl_info.py validate-modules:return-syntax-error
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
.azure-pipelines/scripts/publish-codecov.py replace-urlopen
|
||||
plugins/modules/acme_account_info.py validate-modules:return-syntax-error
|
||||
plugins/modules/acme_challenge_cert_helper.py validate-modules:return-syntax-error
|
||||
plugins/modules/ecs_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/get_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssh_cert.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_pipe.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_privatekey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_publickey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_certificate_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:return-syntax-error
|
||||
plugins/modules/x509_crl_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl_info.py validate-modules:return-syntax-error
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
.azure-pipelines/scripts/publish-codecov.py replace-urlopen
|
||||
plugins/lookup/gpg_fingerprint.py validate-modules:invalid-documentation
|
||||
plugins/modules/ecs_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/get_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssh_cert.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_pipe.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_privatekey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_publickey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_certificate_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl_info.py validate-modules:invalid-documentation
|
||||
tests/ee/roles/smoke/library/smoke_ipaddress.py shebang
|
||||
tests/ee/roles/smoke/library/smoke_pyyaml.py shebang
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
.azure-pipelines/scripts/publish-codecov.py replace-urlopen
|
||||
plugins/lookup/gpg_fingerprint.py validate-modules:invalid-documentation
|
||||
plugins/modules/ecs_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/get_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssh_cert.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_pipe.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_privatekey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_publickey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_certificate_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl_info.py validate-modules:invalid-documentation
|
||||
tests/ee/roles/smoke/library/smoke_ipaddress.py shebang
|
||||
tests/ee/roles/smoke/library/smoke_pyyaml.py shebang
|
||||
|
||||
@@ -6,10 +6,16 @@
|
||||
.azure-pipelines/scripts/publish-codecov.py metaclass-boilerplate
|
||||
docs/docsite/rst/guide_selfsigned.rst rstcheck
|
||||
plugins/modules/acme_challenge_cert_helper.py validate-modules:return-syntax-error
|
||||
plugins/modules/ecs_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/get_certificate.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssh_cert.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_csr_pipe.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_privatekey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/openssl_publickey_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_certificate_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl.py validate-modules:return-syntax-error
|
||||
plugins/modules/x509_crl_info.py validate-modules:invalid-documentation
|
||||
plugins/modules/x509_crl_info.py validate-modules:return-syntax-error
|
||||
|
||||
Reference in New Issue
Block a user