V1
This commit is contained in:
@@ -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
|
||||
|
||||
unsupported
|
||||
@@ -0,0 +1,99 @@
|
||||
---
|
||||
# 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: Ensure required packages for headless keyring access are installed (RPM)
|
||||
ansible.builtin.package:
|
||||
name: gnome-keyring
|
||||
become: true
|
||||
when: "'localhost' not in inventory_hostname"
|
||||
|
||||
- name: Ensure keyring is installed (RPM)
|
||||
ansible.builtin.dnf:
|
||||
name: python3-keyring
|
||||
state: present
|
||||
become: true
|
||||
when: ansible_facts['os_family'] == 'RedHat'
|
||||
|
||||
- name: Ensure keyring is installed (pip)
|
||||
ansible.builtin.pip:
|
||||
name: keyring
|
||||
state: present
|
||||
become: true
|
||||
when: ansible_facts['os_family'] != 'RedHat'
|
||||
|
||||
# Set password for new account
|
||||
# Expected result: success
|
||||
- name: Set password for test/test1
|
||||
community.general.keyring:
|
||||
service: test
|
||||
username: test1
|
||||
user_password: "{{ user_password }}"
|
||||
keyring_password: "{{ keyring_password }}"
|
||||
register: set_password
|
||||
|
||||
- name: Assert that the password has been set
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- set_password.msg == "Passphrase has been updated for test@test1"
|
||||
|
||||
# Print out password to confirm it has been set
|
||||
# Expected result: success
|
||||
- name: Retrieve password for test/test1
|
||||
community.general.keyring_info:
|
||||
service: test
|
||||
username: test1
|
||||
keyring_password: "{{ keyring_password }}"
|
||||
register: test_set_password
|
||||
|
||||
- name: Assert that the password exists
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- test_set_password.passphrase == user_password
|
||||
|
||||
# Attempt to set password again
|
||||
# Expected result: success - nothing should happen
|
||||
- name: Attempt to re-set password for test/test1
|
||||
community.general.keyring:
|
||||
service: test
|
||||
username: test1
|
||||
user_password: "{{ user_password }}"
|
||||
keyring_password: "{{ keyring_password }}"
|
||||
register: second_set_password
|
||||
|
||||
- name: Assert that the password has not been changed
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- second_set_password.msg == "Passphrase already set for test@test1"
|
||||
|
||||
# Delete account
|
||||
# Expected result: success
|
||||
- name: Delete password for test/test1
|
||||
community.general.keyring:
|
||||
service: test
|
||||
username: test1
|
||||
user_password: "{{ user_password }}"
|
||||
keyring_password: "{{ keyring_password }}"
|
||||
state: absent
|
||||
register: del_password
|
||||
|
||||
- name: Assert that the password has been deleted
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- del_password.msg == "Passphrase has been removed for test@test1"
|
||||
|
||||
# Attempt to get deleted account (to confirm it has been deleted).
|
||||
# Don't use `no_log` as run completes due to failed task.
|
||||
# Expected result: fail
|
||||
- name: Retrieve password for test/test1
|
||||
community.general.keyring_info:
|
||||
service: test
|
||||
username: test1
|
||||
keyring_password: "{{ keyring_password }}"
|
||||
register: test_del_password
|
||||
|
||||
- name: Assert that the password no longer exists
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- test_del_password.passphrase is not defined
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
# 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
|
||||
|
||||
keyring_password: Password123
|
||||
user_password: Test123
|
||||
Reference in New Issue
Block a user