Skip to content

Latest commit

 

History

History
 
 

testsuite

Uyuni automated test suite

Introduction

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.

Running the test suite

You can run the Uyuni test suite with sumaform.

Core features, idempotency and tests order

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.

Optional components

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.

Contributing

Procedure

  1. Always create a PR (even for backporting)
  2. Your PR always needs at least one reviewer to approve

Guidelines for coding

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.

Branches used

  • 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):

Dummy packages used by the test suite

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:

Type of provided packages

  • 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 the Test-Base-Channel-x86_64 if reposync handled the encoding correctly.