# pytest-testinfra **Repository Path**: mirrors_pytest-dev/pytest-testinfra ## Basic Information - **Project Name**: pytest-testinfra - **Description**: Testinfra test your infrastructures - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-03 - **Last Updated**: 2026-04-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ################################## Testinfra test your infrastructure ################################## Latest documentation: https://testinfra.readthedocs.io/en/latest .. important:: **Maintenance Notice** This project is currently **not actively maintained**, and responses to issues or pull requests may be delayed for **several months**. Please consider this when using the project and feel free to contribute via pull requests, which will be reviewed as time permits. Thank you for your understanding! About ===== With Testinfra you can write unit tests in Python to test *actual state* of your servers configured by management tools like Salt_, Ansible_, Puppet_, Chef_ and so on. Testinfra aims to be a Serverspec_ equivalent in python and is written as a plugin to the powerful Pytest_ test engine License ======= `Apache License 2.0 `_ The logo is licensed under the `Creative Commons NoDerivatives 4.0 License `_ If you have some other use in mind, contact us. Quick start =========== Install testinfra using pip:: $ pip install pytest-testinfra # or install the devel version $ pip install 'git+https://github.com/pytest-dev/pytest-testinfra@main#egg=pytest-testinfra' Write your first tests file to `test_myinfra.py`: .. code-block:: python def test_passwd_file(host): passwd = host.file("/etc/passwd") assert passwd.contains("root") assert passwd.user == "root" assert passwd.group == "root" assert passwd.mode == 0o644 def test_nginx_is_installed(host): nginx = host.package("nginx") assert nginx.is_installed assert nginx.version.startswith("1.2") def test_nginx_running_and_enabled(host): nginx = host.service("nginx") assert nginx.is_running assert nginx.is_enabled And run it:: $ pytest -v test_myinfra.py ====================== test session starts ====================== platform linux -- Python 2.7.3 -- py-1.4.26 -- pytest-2.6.4 plugins: testinfra collected 3 items test_myinfra.py::test_passwd_file[local] PASSED test_myinfra.py::test_nginx_is_installed[local] PASSED test_myinfra.py::test_nginx_running_and_enabled[local] PASSED =================== 3 passed in 0.66 seconds ==================== .. _Salt: https://saltstack.com/ .. _Ansible: https://www.ansible.com/ .. _Puppet: https://puppetlabs.com/ .. _Chef: https://www.chef.io/ .. _Serverspec: https://serverspec.org/ .. _Pytest: https://pytest.org/