Home - SatelliteQE/robottelo GitHub Wiki
Robottelo wiki
Robottelo is the SatelliteQE test suite for Red Hat Satellite and Foreman. The repository is primarily a pytest codebase with three main test interfaces:
- API tests in
tests/foreman/api/ - CLI tests in
tests/foreman/cli/ - UI tests in
tests/foreman/ui/
It also contains:
- new upgrade scenarios in
tests/new_upgrades/ - framework/unit tests in
tests/robottelo/ - shared fixtures in
pytest_fixtures/ - pytest plugins in
pytest_plugins/ - framework and helpers in
robottelo/
Start here
Which page should I read first?
- new contributor setting up a local environment: Setup Guide
- contributor deciding where code or fixtures should live: Contributing Guidelines
- test author deciding which marker to use: Pytest Markers
- author reviewing naming or docstring style: Test Case Naming Conventions
- contributor touching issue-linked tests: Jira Issue Handler
Contributor workflow highlights
- Python requirement is defined in
pyproject.tomland currently targets Python 3.12. - Dependency installation is driven by
requirements.txtandrequirements-optional.txt. - Linting and formatting use ruff.
- Common validation entry points live in the
Makefile, includingmake test-robottelo,make test-docstrings, andmake docs. - CI and repository automation are handled with GitHub Actions in
.github/workflows/.
Project layout
Tests
tests/foreman/: functional tests grouped by interface and areatests/new_upgrades/: SharedResource-based upgrade scenariostests/upgrades/: existing upgrade coveragetests/robottelo/: internal framework tests
Fixtures and plugins
pytest_fixtures/core/: framework-level fixtures such as Satellite and content-host provisioningpytest_fixtures/component/: reusable component fixturespytest_plugins/: collection, metadata, deselection, and infrastructure behavior
Framework code
robottelo/hosts.py: Satellite, Capsule, and ContentHost abstractionsrobottelo/host_helpers/: mixins and factories used by testsrobottelo/utils/: shared utilities and helpers