-
Notifications
You must be signed in to change notification settings - Fork 137
Home
Jacob Callahan edited this page Apr 17, 2026
·
7 revisions
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/
- 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
- 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/.
-
tests/foreman/: functional tests grouped by interface and area -
tests/new_upgrades/: SharedResource-based upgrade scenarios -
tests/upgrades/: existing upgrade coverage -
tests/robottelo/: internal framework tests
-
pytest_fixtures/core/: framework-level fixtures such as Satellite and content-host provisioning -
pytest_fixtures/component/: reusable component fixtures -
pytest_plugins/: collection, metadata, deselection, and infrastructure behavior
-
robottelo/hosts.py: Satellite, Capsule, and ContentHost abstractions -
robottelo/host_helpers/: mixins and factories used by tests -
robottelo/utils/: shared utilities and helpers