Files
ansible-role-seriatim/tests/verify.yml

74 lines
2.1 KiB
YAML

---
- name: Verify the Seriatim installation
hosts: localhost
connection: local
gather_facts: false
become: true
vars:
seriatim_expected_commit: 0fc92f364316c874d366b00cdc884a33e1900b25
seriatim_expected_version: v1.5.0
seriatim_source_dir: /usr/local/src/seriatim
seriatim_binary_path: /usr/local/bin/seriatim
tasks:
- name: Inspect the source directory
ansible.builtin.stat:
path: "{{ seriatim_source_dir }}"
register: seriatim_source
- name: Find incorrectly owned source entries
ansible.builtin.command:
argv:
- find
- "{{ seriatim_source_dir }}"
- (
- -not
- -user
- root
- -or
- -not
- -group
- root
- )
- -print
- -quit
register: seriatim_source_ownership
changed_when: false
- name: Read the selected source commit
ansible.builtin.command:
argv:
- git
- -C
- "{{ seriatim_source_dir }}"
- rev-parse
- HEAD
register: seriatim_source_commit
changed_when: false
- name: Inspect the installed binary
ansible.builtin.stat:
path: "{{ seriatim_binary_path }}"
register: seriatim_binary
- name: Read the installed version
ansible.builtin.command:
argv:
- "{{ seriatim_binary_path }}"
- --version
register: seriatim_version_output
changed_when: false
- name: Assert the installation contract
ansible.builtin.assert:
that:
- seriatim_source.stat.isdir
- seriatim_source.stat.pw_name == "root"
- seriatim_source.stat.gr_name == "root"
- seriatim_source_ownership.stdout == ""
- seriatim_source_commit.stdout == seriatim_expected_commit
- seriatim_binary.stat.isreg
- seriatim_binary.stat.pw_name == "root"
- seriatim_binary.stat.gr_name == "root"
- seriatim_binary.stat.mode == "0755"
- seriatim_version_output.stdout == "seriatim version " ~ seriatim_expected_version