feat: add vagrant tests for later, add become:true
All checks were successful
test / Linting (push) Successful in 7s
test / Molecule tests (default, debian11) (push) Successful in 1m2s
test / Molecule tests (default, debian12) (push) Successful in 58s
test / Molecule tests (default, ubuntu2004) (push) Successful in 1m6s
test / Molecule tests (with_custom_ascii, debian11) (push) Successful in 50s
test / Molecule tests (default, ubuntu2204) (push) Successful in 1m7s
test / Molecule tests (with_custom_ascii, debian12) (push) Successful in 1m11s
test / Molecule tests (with_custom_ascii, ubuntu2004) (push) Successful in 1m0s
test / Molecule tests (with_custom_ascii, ubuntu2204) (push) Successful in 1m9s

This commit is contained in:
Bertrand Lanson 2023-11-30 22:24:37 +01:00
parent aba7d4a2fb
commit 675f4650c9
11 changed files with 200 additions and 0 deletions

View File

@ -0,0 +1,7 @@
---
- name: Converge
hosts: all
tasks:
- name: "Include ednxzu.update_motd"
ansible.builtin.include_role:
name: "ednxzu.update_motd"

View File

@ -0,0 +1,35 @@
---
dependency:
name: galaxy
options:
requirements-file: ./requirements.yml
driver:
name: vagrant
provider:
name: libvirt
platforms:
- name: instance
box: generic/${MOLECULE_TEST_OS}
cpus: 4
memory: 4096
provisioner:
name: ansible
config_options:
defaults:
remote_tmp: /tmp/.ansible
verifier:
name: ansible
scenario:
name: default_vagrant
test_sequence:
- dependency
- cleanup
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- verify
- cleanup
- destroy

View File

@ -0,0 +1,4 @@
---
# requirements file for molecule
roles:
- name: ednxzu.manage_apt_packages

View File

@ -0,0 +1,46 @@
---
- name: Verify
hosts: all
gather_facts: true
tasks:
- name: "Test: file /etc/hosts"
block:
- name: "Stat file /etc/hosts"
ansible.builtin.stat:
path: "/etc/hosts"
register: stat_etc_hosts
- name: "Verify file /etc/hosts"
vars:
etc_hosts_group:
ubuntu: "adm"
debian: "root"
ansible.builtin.assert:
that:
- stat_etc_hosts.stat.exists
- stat_etc_hosts.stat.isreg
- stat_etc_hosts.stat.pw_name == 'root'
- stat_etc_hosts.stat.gr_name == etc_hosts_group[(ansible_distribution|lower)]
- name: "Test: file /etc/profile.d/motd.cfg"
block:
- name: "Stat file /etc/profile.d/motd.cfg"
ansible.builtin.stat:
path: "/etc/profile.d/motd.cfg"
register: stat_etc_profile_d_motd_cfg
- name: "Slurp file /etc/profile.d/motd.cfg"
ansible.builtin.slurp:
src: "/etc/profile.d/motd.cfg"
register: slurp_etc_profile_d_motd_cfg
- name: "Verify file /etc/profile.d/motd.cfg"
ansible.builtin.assert:
that:
- stat_etc_profile_d_motd_cfg.stat.exists
- stat_etc_profile_d_motd_cfg.stat.isreg
- stat_etc_profile_d_motd_cfg.stat.pw_name == 'root'
- stat_etc_profile_d_motd_cfg.stat.gr_name == 'root'
- stat_etc_profile_d_motd_cfg.stat.mode == '0644'
- "'print_info()' in (slurp_etc_profile_d_motd_cfg.content|b64decode)"
- "'ascii_distro=\"auto\"' in (slurp_etc_profile_d_motd_cfg.content|b64decode)"

View File

@ -0,0 +1,7 @@
---
- name: Converge
hosts: all
tasks:
- name: "Include ednxzu.update_motd"
ansible.builtin.include_role:
name: "ednxzu.update_motd"

View File

@ -0,0 +1,12 @@
---
update_motd_filename: "00-motd-neofetch"
update_motd_print_info:
- name: "CPU"
module: "cpu"
- name: "Memory"
module: "memory"
- name: "Local IP"
module: local_ip
- name: "Disk"
module: "disk"
update_motd_ascii_distro: "{{ ansible_distribution|lower }}_small"

View File

@ -0,0 +1,35 @@
---
dependency:
name: galaxy
options:
requirements-file: ./requirements.yml
driver:
name: vagrant
provider:
name: libvirt
platforms:
- name: instance
box: generic/${MOLECULE_TEST_OS}
cpus: 4
memory: 4096
provisioner:
name: ansible
config_options:
defaults:
remote_tmp: /tmp/.ansible
verifier:
name: ansible
scenario:
name: with_custom_ascii_vagrant
test_sequence:
- dependency
- cleanup
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- verify
- cleanup
- destroy

View File

@ -0,0 +1,4 @@
---
# requirements file for molecule
roles:
- name: ednxzu.manage_apt_packages

View File

@ -0,0 +1,46 @@
---
- name: Verify
hosts: all
gather_facts: true
tasks:
- name: "Test: file /etc/hosts"
block:
- name: "Stat file /etc/hosts"
ansible.builtin.stat:
path: "/etc/hosts"
register: stat_etc_hosts
- name: "Verify file /etc/hosts"
vars:
etc_hosts_group:
ubuntu: "adm"
debian: "root"
ansible.builtin.assert:
that:
- stat_etc_hosts.stat.exists
- stat_etc_hosts.stat.isreg
- stat_etc_hosts.stat.pw_name == 'root'
- stat_etc_hosts.stat.gr_name == etc_hosts_group[(ansible_distribution|lower)]
- name: "Test: file /etc/profile.d/motd.cfg"
block:
- name: "Stat file /etc/profile.d/motd.cfg"
ansible.builtin.stat:
path: "/etc/profile.d/motd.cfg"
register: stat_etc_profile_d_motd_cfg
- name: "Slurp file /etc/profile.d/motd.cfg"
ansible.builtin.slurp:
src: "/etc/profile.d/motd.cfg"
register: slurp_etc_profile_d_motd_cfg
- name: "Verify file /etc/profile.d/motd.cfg"
ansible.builtin.assert:
that:
- stat_etc_profile_d_motd_cfg.stat.exists
- stat_etc_profile_d_motd_cfg.stat.isreg
- stat_etc_profile_d_motd_cfg.stat.pw_name == 'root'
- stat_etc_profile_d_motd_cfg.stat.gr_name == 'root'
- stat_etc_profile_d_motd_cfg.stat.mode == '0644'
- "'print_info()' in (slurp_etc_profile_d_motd_cfg.content|b64decode)"
- "'ascii_distro=\"{{ ansible_distribution|lower|string }}_small\"' in (slurp_etc_profile_d_motd_cfg.content|b64decode)"

View File

@ -24,8 +24,10 @@
state: absent
loop: "{{ collected_files.files + collected_directories.files }}"
when: (item.path|basename) != update_motd_filename
become: true
- name: "Remove /etc/motd file"
ansible.builtin.file:
path: "/etc/motd"
state: absent
become: true

View File

@ -7,6 +7,7 @@
owner: root
group: root
mode: '0644'
become: true
- name: "Copy motd script file"
ansible.builtin.copy:
@ -15,3 +16,4 @@
mode: '0744'
owner: root
group: root
become: true