Skip to main content

TestFM is a test suite which exercises foreman-maintain tool.

Project description

# testfm

[![Build Status](https://api.travis-ci.org/SatelliteQE/testfm.svg?branch=master)](https://travis-ci.org/SatelliteQE/testfm) [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

A test suite based on pytest-ansible that exercises The Foreman maintenance tool

# Quickstart

The following is only a brief setup guide for TestFM. The section on Running the Tests provides a more comprehensive guide to using TestFM.

TestFM requires SSH access to the server system under test, and this SSH access is implemented by pytest-ansible.

Get the source code and install dependencies:

$ git clone https://github.com/SatelliteQE/testfm.git $ pip3 install -r requirements.txt

That’s it! You can now go ahead and start testing The Foreman Maintain. However, there are a few other things you need to do before continuing:

  • Make sure ssh-key is copied to the test system.

  • Make sure foreman maintain is installed on foreman/satellite server.

## Running the Tests

Before running any tests, you must add foreman or satellite hostname to the testfm/inventory file (first copy it from`testfm/inventory.sample`).

That done, you can run tests using pytest :

$ pytest –ansible-host-pattern satellite –ansible-user=root –ansible-inventory testfm/inventory tests/

It is possible to run a specific subset of tests:

$ pytest –ansible-host-pattern satellite –ansible-user=root –ansible-inventory testfm/inventory tests/test_case.py

$ pytest –ansible-host-pattern satellite –ansible-user=root –ansible-inventory testfm/inventory tests/test_case.py::test_case_name

## Want to contribute?

Thank you for considering contributing to TestFM! If you have any question or concerns, feel free to reach out to the team.

### Recommended

  • Import modules in alphabetical order.

  • Every method and function will have a properly formatted docstring.

In order to ensure you are able to pass the Travis CI build, it is recommended that you run the following commands in the base of your testfm directory :

$ flake8

flake8 will ensure that the changes you made are not in violation of PEP8 standards. If the command gives no output, then you have passed. If not, then address any corrections recommended.

If you have something great, please submit a pull request anyway!

## Licensing

TestFM is licensed under GNU General Public License v3.0.

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

testfm-0.1.2.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

testfm-0.1.2-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

File details

Details for the file testfm-0.1.2.tar.gz.

File metadata

  • Download URL: testfm-0.1.2.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for testfm-0.1.2.tar.gz
Algorithm Hash digest
SHA256 545f53ed14988242328518a1d4a3270a1cdfef33b442a46e748e8c39a0c37065
MD5 bb30d19d13f8e1537c425f0bd67e5ff6
BLAKE2b-256 02e8f8dff320af4825b371665aca7bfb44501b62be8da7c2170cfdb25c244dd4

See more details on using hashes here.

File details

Details for the file testfm-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: testfm-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 31.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for testfm-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bfbaa9ccf0fcbdb3fc7440c6080a9a40b9ad655d1e459777e83be09cb0861a58
MD5 dd7f023f0b4587f4c13c3141409ae992
BLAKE2b-256 5cefb427260265f7256e019de625426ba29cb75f7b4fdfd9835dc4bf888efba5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page