From 473ee13b64e564e8b366fe5f2e6823338b8e9917 Mon Sep 17 00:00:00 2001 From: Austin Lucas Lake <53884490+austinlucaslake@users.noreply.github.com> Date: Thu, 9 May 2024 13:42:14 -0700 Subject: [PATCH] added more integration tests --- .../targets/gpg_keypair/tasks/main.yml | 356 +++++++++++++++++- 1 file changed, 337 insertions(+), 19 deletions(-) diff --git a/tests/integration/targets/gpg_keypair/tasks/main.yml b/tests/integration/targets/gpg_keypair/tasks/main.yml index 5ab65355..7a73d71a 100644 --- a/tests/integration/targets/gpg_keypair/tasks/main.yml +++ b/tests/integration/targets/gpg_keypair/tasks/main.yml @@ -3,29 +3,347 @@ # and should not be used as examples of how to write Ansible roles # #################################################################### -# Test code for the gpg_keypair module. +# Test code for the community.crypto.gpg_keypair module. # # Copyright (c) 2024, Austin Lucas Lake <53884490+austinlucaslake@users.noreply.github.com> # 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: Create GPG key - gpg_keypair: - name: "{{ name }}" - comment: "{{ comment }}" - email: "{{ email }}" - force: True - register: created_gpg_key - -- name: Delete GPG key - gpg_keypair: +- name: Create default key + community.crypto.gpg_keypair: + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Match default key + community.crypto.gpg_keypair: + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: matched_key +- name: Delete default key using fingerprint + community.crypto.gpg_keypair: state: absent - name: "{{ name }}" - comment: "{{ comment }}" - email: "{{ email }}" - register: deleted_gpg_key - -- assert: + fingerprints: '{{ created_key.fingerprints }}' + register: deleted_key +- ansible.builtin.assert: that: - - created_gpg_key.changed - - deleted_gpg_key.changed + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default key + community.crypto.gpg_keypair: + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default key using user-id + community.crypto.gpg_keypair: + state: absent + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default RSA key + community.crypto.gpg_keypair: + key_type: RSA + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default RSA key + community.crypto.gpg_keypair: + state: absent + key_type: RSA + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create 2048-bit RSA key + community.crypto.gpg_keypair: + key_type: RSA + key_length: 2048 + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default RSA key + community.crypto.gpg_keypair: + state: absent + key_length: 2048 + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default DSA key + community.crypto.gpg_keypair: + key_type: DSA + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default DSA key + community.crypto.gpg_keypair: + state: absent + key_type: DSA + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create brainpoolP512r1 ECDSA key + community.crypto.gpg_keypair: + key_type: ECDSA + key_curve: brainpoolP512r1 + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete brainpoolP512r1 ECDSA key + community.crypto.gpg_keypair: + state: absent + key_type: ECDSA + key_length: brainpoolP512r1 + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create Ed25519 key + community.crypto.gpg_keypair: + key_type: EDDSA + key_curve: ed25519 + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete Ed25519 key + community.crypto.gpg_keypair: + state: absent + key_type: EDDSA + key_curve: ed25519 + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default key with custom usage + community.crypto.gpg_keypair: + key_usage: + - sign + - auth + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default key with custom usage + community.crypto.gpg_keypair: + state: absent + key_usage: + - sign + - auth + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default key with default RSA subkey + community.crypto.gpg_keypair: + subkeys: + - { subkey_type: RSA } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default key with default RSA subkey + community.crypto.gpg_keypair: + state: absent + subkeys: + - { subkey_type: RSA } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default key with default DSA subkey + community.crypto.gpg_keypair: + subkeys: + - { subkey_type: DSA } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default key with default DSA subkey + community.crypto.gpg_keypair: + state: absent + subkeys: + - { subkey_type: DSA } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default key with default ELG subkey + community.crypto.gpg_keypair: + subkeys: + - { subkey_type: ELG } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + force: True + register: created_key +- name: Delete default key with default ELG subkey + community.crypto.gpg_keypair: + state: absent + subkeys: + - { subkey_type: ELG } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default key with Ed25519 subkey + community.crypto.gpg_keypair: + subkeys: + - { subkey_type: EDDSA, subkey_curve: ed25519 } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default key with Ed25519 subkey + community.crypto.gpg_keypair: + state: absent + subkeys: + - { subkey_type: EDDSA, subkey_curve: ed25519 } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default key with Cv25519 ECDH subkey + community.crypto.gpg_keypair: + subkeys: + - { subkey_type: ECDH, subkey_curve: cv25519 } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default key with Cv25519 ECDH subkey + community.crypto.gpg_keypair: + state: absent + subkeys: + - { subkey_type: ECDH, subkey_curve: cv25519 } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints + + +- name: Create default key with RSA subkey with custom usage + community.crypto.gpg_keypair: + subkeys: + - { + subkey_type: RSA, + subkey_usage: + - auth + - encr + } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: created_key +- name: Delete default key with RSA subkey with custom usage + community.crypto.gpg_keypair: + state: absent + subkeys: + - { + subkey_type: RSA, + subkey_usage: + - auth + - encr + } + name: '{{ name }}' + comment: '{{ comment }}' + email: '{{ email }}' + register: deleted_key +- ansible.builtin.assert: + that: + - created_key.changed + - deleted_key.changed + - created_key.fingerprints == deleted_key.fingerprints