mirror of
https://github.com/willshersystems/ansible-sshd
synced 2024-11-08 12:53:29 +01:00
test: check generated files for ansible_managed, fingerprint
Add the following files: tests/tasks/check_header.yml and tests/templates/get_ansible_managed.j2. Use check_header.yml to check generated files for the ansible_managed and fingerprint headers. check_header.yml takes these parameters. `fingerprint` is required, and one of `__file` or `__file_content`: * `__file` - the full path of the file to check e.g. `/etc/realmd.conf` * `__file_content` - the output of `slurp` of the file * `__fingerprint` - required - the fingerprint string `system_role:$ROLENAME` e.g. `__fingerprint: "system_role:postfix"` * `__comment_type` - optional, default `plain` - the type of comments used e.g. `__comment_type: c` for C/C++-style comments. `plain` uses `#`. See https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_filters.html#adding-comments-to-files for the different types of comment styles supported. Example: ``` - name: Check generated files for ansible_managed, fingerprint include_tasks: tasks/check_header.yml vars: __file: /etc/myfile.conf __fingerprint: "system_role:my_role" ``` Signed-off-by: Rich Megginson <rmeggins@redhat.com>
This commit is contained in:
parent
2e3e4a29b5
commit
c5c519f73b
4 changed files with 25 additions and 0 deletions
|
@ -1,2 +1,3 @@
|
||||||
exclude_paths:
|
exclude_paths:
|
||||||
- tests/roles/
|
- tests/roles/
|
||||||
|
- .tox/
|
||||||
|
|
16
tests/tasks/check_header.yml
Normal file
16
tests/tasks/check_header.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
---
|
||||||
|
- name: Get file
|
||||||
|
ansible.builtin.slurp:
|
||||||
|
path: "{{ __file }}"
|
||||||
|
register: __content
|
||||||
|
when: not __file_content is defined
|
||||||
|
|
||||||
|
- name: Check for presence of ansible managed header, fingerprint
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- ansible_managed in content
|
||||||
|
- __fingerprint in content
|
||||||
|
vars:
|
||||||
|
content: "{{ (__file_content | d(__content)).content | b64decode }}"
|
||||||
|
ansible_managed: "{{ lookup('template', 'get_ansible_managed.j2') }}"
|
1
tests/templates/get_ansible_managed.j2
Normal file
1
tests/templates/get_ansible_managed.j2
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{{ ansible_managed | comment(__comment_type | d("plain")) }}
|
|
@ -118,5 +118,12 @@
|
||||||
"{{ sshd_options.stdout_lines }}"
|
"{{ sshd_options.stdout_lines }}"
|
||||||
when: not sshd_skip_test
|
when: not sshd_skip_test
|
||||||
|
|
||||||
|
- name: Check generated files for ansible_managed, fingerprint
|
||||||
|
ansible.builtin.include_tasks: tasks/check_header.yml
|
||||||
|
vars:
|
||||||
|
__file_content: "{{ config }}"
|
||||||
|
__fingerprint: "willshersystems:ansible-sshd"
|
||||||
|
when: not sshd_skip_test
|
||||||
|
|
||||||
- name: Restore configuration files
|
- name: Restore configuration files
|
||||||
ansible.builtin.include_tasks: tasks/restore.yml
|
ansible.builtin.include_tasks: tasks/restore.yml
|
||||||
|
|
Loading…
Reference in a new issue