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?

Contributor workflow highlights

  • Python requirement is defined in pyproject.toml and currently targets Python 3.12.
  • Dependency installation is driven by requirements.txt and requirements-optional.txt.
  • Linting and formatting use ruff.
  • Common validation entry points live in the Makefile, including make test-robottelo, make test-docstrings, and make docs.
  • CI and repository automation are handled with GitHub Actions in .github/workflows/.

Project layout

Tests

  • 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

Fixtures and plugins

  • 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

Framework code

  • robottelo/hosts.py: Satellite, Capsule, and ContentHost abstractions
  • robottelo/host_helpers/: mixins and factories used by tests
  • robottelo/utils/: shared utilities and helpers

Additional references