feat: add vagrant tests for later
All checks were successful
test / Linting (push) Successful in 9s
test / Molecule tests (default, debian12) (push) Successful in 1m13s
test / Molecule tests (default, ubuntu2204) (push) Successful in 1m15s
test / Molecule tests (with_custom_packages, debian12) (push) Successful in 1m19s
test / Molecule tests (with_custom_packages, ubuntu2204) (push) Successful in 1m16s
All checks were successful
test / Linting (push) Successful in 9s
test / Molecule tests (default, debian12) (push) Successful in 1m13s
test / Molecule tests (default, ubuntu2204) (push) Successful in 1m15s
test / Molecule tests (with_custom_packages, debian12) (push) Successful in 1m19s
test / Molecule tests (with_custom_packages, ubuntu2204) (push) Successful in 1m16s
This commit is contained in:
parent
595a3f5821
commit
01a8315828
7
molecule/default_vagrant/converge.yml
Normal file
7
molecule/default_vagrant/converge.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
- name: Converge
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: "Include ednxzu.manage_pipx_packages"
|
||||
ansible.builtin.include_role:
|
||||
name: "ednxzu.manage_pipx_packages"
|
35
molecule/default_vagrant/molecule.yml
Normal file
35
molecule/default_vagrant/molecule.yml
Normal 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
|
4
molecule/default_vagrant/requirements.yml
Normal file
4
molecule/default_vagrant/requirements.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
# requirements file for molecule
|
||||
roles:
|
||||
- name: ednxzu.manage_apt_packages
|
47
molecule/default_vagrant/verify.yml
Normal file
47
molecule/default_vagrant/verify.yml
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
- 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: packages ansible-lint"
|
||||
block:
|
||||
- name: "Get pipx installed packages"
|
||||
ansible.builtin.command: "pipx list --json"
|
||||
environment:
|
||||
PIPX_HOME: "/opt/pipx"
|
||||
changed_when: false
|
||||
register: pipx_installed_packages
|
||||
become: true
|
||||
|
||||
- name: "Set fact"
|
||||
ansible.builtin.set_fact:
|
||||
pipx_simple_list: "{{ pipx_simple_list | default({}) | combine({item.key: item.value.metadata.main_package.package_version}) }}"
|
||||
loop: "{{ pipx_installed_packages.stdout | from_json | json_query('venvs') | dict2items }}"
|
||||
|
||||
- name: "Verify packages ansible-lint"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- pipx_simple_list['ansible-lint'] is defined
|
||||
|
||||
- name: "Print installed packages"
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ pipx_simple_list }}"
|
7
molecule/with_custom_packages_vagrant/converge.yml
Normal file
7
molecule/with_custom_packages_vagrant/converge.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
- name: Converge
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: "Include ednxzu.manage_pipx_packages"
|
||||
ansible.builtin.include_role:
|
||||
name: "ednxzu.manage_pipx_packages"
|
14
molecule/with_custom_packages_vagrant/group_vars/all.yml
Normal file
14
molecule/with_custom_packages_vagrant/group_vars/all.yml
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
manage_pipx_packages_install_prereqs: true
|
||||
manage_pipx_packages_home: "/opt/pipx"
|
||||
manage_pipx_packages_path: "/usr/local/bin"
|
||||
manage_pipx_packages_list:
|
||||
- name: ansible-core
|
||||
version_constraint: latest
|
||||
state: present
|
||||
- name: yamllint
|
||||
version_constraint: latest
|
||||
state: present
|
||||
- name: vault-cli
|
||||
version_constraint: latest
|
||||
state: present
|
35
molecule/with_custom_packages_vagrant/molecule.yml
Normal file
35
molecule/with_custom_packages_vagrant/molecule.yml
Normal 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_packages_vagrant
|
||||
test_sequence:
|
||||
- dependency
|
||||
- cleanup
|
||||
- destroy
|
||||
- syntax
|
||||
- create
|
||||
- prepare
|
||||
- converge
|
||||
- idempotence
|
||||
- verify
|
||||
- cleanup
|
||||
- destroy
|
4
molecule/with_custom_packages_vagrant/requirements.yml
Normal file
4
molecule/with_custom_packages_vagrant/requirements.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
# requirements file for molecule
|
||||
roles:
|
||||
- name: ednxzu.manage_apt_packages
|
49
molecule/with_custom_packages_vagrant/verify.yml
Normal file
49
molecule/with_custom_packages_vagrant/verify.yml
Normal file
@ -0,0 +1,49 @@
|
||||
---
|
||||
- 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: packages pip, vault-cli, yamllint, ansible-core"
|
||||
block:
|
||||
- name: "Get pipx installed packages"
|
||||
ansible.builtin.command: "pipx list --json"
|
||||
environment:
|
||||
PIPX_HOME: "/opt/pipx"
|
||||
changed_when: false
|
||||
register: pipx_installed_packages
|
||||
become: true
|
||||
|
||||
- name: "Set fact"
|
||||
ansible.builtin.set_fact:
|
||||
pipx_simple_list: "{{ pipx_simple_list | default({}) | combine({item.key: item.value.metadata.main_package.package_version}) }}"
|
||||
loop: "{{ pipx_installed_packages.stdout | from_json | json_query('venvs') | dict2items }}"
|
||||
|
||||
- name: "Verify packages pip, vault-cli, yamllint, ansible-core"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- pipx_simple_list['yamllint'] is defined
|
||||
- pipx_simple_list['ansible-core'] is defined
|
||||
- pipx_simple_list['vault-cli'] is defined
|
||||
|
||||
- name: "Print installed packages"
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ pipx_simple_list }}"
|
@ -14,3 +14,4 @@
|
||||
loop: "{{ manage_pipx_packages_list }}"
|
||||
when: manage_pipx_packages_list is defined
|
||||
and manage_pipx_packages_list not in [None, '']
|
||||
become: true
|
||||
|
Loading…
Reference in New Issue
Block a user