No project description provided
Project description
Ansible test
Make testinfra easier with ansible repository.
Write your test directly in your roles
purpose of ansible-tests
I want to be able to write testinfra tests in my role and use my inventories and my playbooks to run them
Usages
ansible-tests --file-name tests.yml --inventory inventory/dev.ini
Test your ansible roles
Your tests should be in test directory inside your role :
nginx
├── defaults
│ └── main.yml
├── handlers
│ └── main.yml
├── tasks
│ └── main.yml
└── tests
└── test_nginx.py
Example of test file :
# tests/test_nginx.py
def test_check_nginx_is_installed(host):
nginx = host.package('nginx')
assert nginx.is_installed
def test_nginx_is_running(host):
nginx = host.service('nginx')
assert nginx.is_running
Example of corersponding task file :
# tasks/main.yml
---
- name: install nginx
package:
name: nginx
state: present
- name: start nginx
service:
name: nginx
state: started
Configure ansible-test
To run ansible test, you have to respect this requirements:
- your roles must be in
roles
directory - you must have a playbook or a file to describe the matching between tests and servers
tests.yml supported formats
- hosts: bdd
roles: postgres
- hosts: all
roles: secu
- hosts: all
roles:
- base
- secu
- hosts:
- bdd
- web-app
roles:
- role: secu
- role: users
- hosts: bdd:web-app
roles:
- role: secu
You should be able to use directly your playbook if you don't use stuff like !group
to exclude some group
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ansible-tests-0.0.4.tar.gz
(2.9 kB
view hashes)
Built Distribution
Close
Hashes for ansible_tests-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9be00f8e689bda063b139214943cc05c6ae55338b98dbd786205b5cbbe96b6fa |
|
MD5 | e1e567262f0ab3447cff29286ee90501 |
|
BLAKE2b-256 | 817272f89cd63edee8d0d568daaa378b9425c4a38ab9efeb38783a5e21a97ca4 |