This is the automated test suite for Uyuni.
Before you start, make sure you are familiar with the basic concepts of Cucumber that we are using in our test suite: features, scenarios and steps.
Apart from Cucumber, the test suite relies on a number of software components.
You can run the Uyuni test suite with sumaform.
The tests (features) mentioned in the YAML files inside the run_sets folder will be executed sequentially the following way:
- sanity_check
- core
- reposync
- init_clients
- secondary
- secondary_parallelizable
- finishing
Idempotency is the faculty to run the same feature any number of times. The basic idea of such a feature is that it does not change its environment.
The features are grouped by core and secondary features.
- Core features: the order is relevant and they are by design not idempotent, and serve to create a basic testing environment.
- Secondary features: the order is not important and they can be run any number of times.
To know how to test with or without optional components like a proxy, a Red Hat-like minion or a SSH minion, look at the optional components instructions.
- Always create a PR (even for backporting)
- Your PR always needs at least one reviewer to approve
To get started, see the documentation about Using and writing Cucumber steps. It covers most common steps in an ordered manner, as well as the way to write new steps.
Please also read the guidelines with attention. They cover style issues, idempotency concerns, and naming conventions of files, features, scenarios and tests.
There are also hints about Pitfalls when writing code for the test suite.
- Development (to be run against a HEAD version of SUSE Manager):
- Release (to be run against a nightly or released tagged version of SUSE Manager):
Some of the scenarios that are tested in this test suite make use of some external testing repositories which contain dummy packages. These packages are used to test package and patch installation and upgrade.
The Open Build System (OBS) projects are:
- https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Test-Packages:Pool: packages which must be installed on the client systems already;
- https://build.opensuse.org/project/show/systemsmanagement:Uyuni:Test-Packages:Updates:
packages for
Test-Base-Channel-x86_64
andFake-Base-Channel-Debian-like
channels.
- Normal dummy packages:
andromeda-dummy
,hoag-dummy
,orion-dummy
,milkyway-dummy
, etc. - Wrong encoding of RPM attributes:
blackhole-dummy
. This package should be successfully imported and you will see it available as part of theTest-Base-Channel-x86_64
if reposync handled the encoding correctly.