0a1f391881
If the facts returned by setup included strings that had double quotes in them, the asserts in test_gathering_facts.yml would fail with errors like: "The conditional check '\"[{u'mounts': {u'options': u'rw,context=\"system_u:\"'}}]\" != \"UNDEF_HW\"' failed. The error was: template error while templating string: expected token 'end of statement block', got 'system_u'. String: {% if \"[{u'mounts': {u'options': u'rw,context=\"system_u:\"'}}]\" != \"UNDEF_HW\" %} True {% else %} False {% endif %}" For one example, if mount facts returned an 'options' field that included double quoated selinux context ids, the test would fail. Fix is removing the double quoting in the assert 'that:' lines, and removing the unneeded double curly brackets. |
||
---|---|---|
.. | ||
code-smell | ||
integration | ||
samples | ||
sanity/validate-modules | ||
units | ||
utils | ||
README.md |
Ansible Test System
Folders
unit
Unit tests that test small pieces of code not suited for the integration test layer, usually very API based, and should leverage mock interfaces rather than producing side effects.
Playbook engine code is better suited for integration tests.
Requirements: sudo pip install paramiko PyYAML jinja2 httplib2 passlib nose mock
integration
Integration test layer, constructed using playbooks.
Some tests may require cloud credentials, others will not, and destructive tests are separated from non-destructive so a subset can be run on development machines.
Tests for network modules can be found in https://github.com/ansible/test-network-modules/
learn more
hop into a subdirectory and see the associated README.md for more info.