/ansible-testing

Python module to help test or validate Ansible, specifically ansible modules

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

ansible-testing

Python module to help test or validate Ansible, specifically ansible modules

Installation

This module must be installed alongside the current development release of Ansible to appropriately test the current development state of modules.

Usage

pip install git+https://github.com/ansible/ansible.git@devel#egg=ansible
pip install git+https://github.com/sivel/ansible-testing.git#egg=ansible_testing
ansible-validate-modules /path/to/ansible-modules-extras

Help

usage: ansible-validate-modules [-h] [-w] [--exclude EXCLUDE] modules

positional arguments:
  modules            Path to module or module directory

optional arguments:
  -h, --help         show this help message and exit
  -w, --warnings     Show warnings
  --exclude EXCLUDE  RegEx exclusion pattern

Current Validations

Modules

Errors

  1. Interpreter line is not #!/usr/bin/python
  2. main() not at the bottom of the file
  3. Module does not import ansible.module_utils.basic
  4. Missing DOCUMENTATION
  5. Documentation is invalid YAML
  6. Invalid schema for DOCUMENTATION
  7. Missing EXAMPLES
  8. Invalid Python Syntax
  9. Tabbed indentation
  10. Use of sys.exit() instead of exit_json or fail_json
  11. Missing GPLv3 license header in module
  12. Powershell module missing WANT_JSON
  13. Powershell module missing POWERSHELL_COMMON
  14. New modules have the correct version_added
  15. New arguments have the correct version_added
  16. Modules should not import requests, instead use ansible.module_utils.urls
  17. Missing RETURN for new modules

Warnings

  1. Try/Except HAS_ expression missing
  2. Missing RETURN for existing modules
  3. import json found
  4. Module contains duplicate globals from basic.py

Module Directories (Python Packages)

  1. Missing __init__.py