debian-mirror-gitlab/doc/development/testing_guide/end_to_end/rspec_metadata_tests.md
2020-08-09 17:44:08 +05:30

3.4 KiB

RSpec metadata for end-to-end tests

This is a partial list of the RSpec metadata (a.k.a. tags) that are used in our end-to-end tests.

Tag Description
:elasticsearch The test requires an Elasticsearch service. It is used by the instance-level scenario Test::Integration::Elasticsearch to include only tests that require Elasticsearch.
:kubernetes The test includes a GitLab instance that is configured to be run behind an SSH tunnel, allowing a TLS-accessible GitLab. This test will also include provisioning of at least one Kubernetes cluster to test against. This tag is often be paired with :orchestrated.
:orchestrated The GitLab instance under test may be configured by gitlab-qa to be different to the default GitLab configuration, or gitlab-qa may launch additional services in separate Docker containers, or both. Tests tagged with :orchestrated are excluded when testing environments where we can't dynamically modify GitLab's configuration (for example, Staging).
:quarantine The test has been quarantined, will run in a separate job that only includes quarantined tests, and is allowed to fail. The test will be skipped in its regular job so that if it fails it will not hold up the pipeline. Note that you can also quarantine a test only when it runs against specific environment.
:reliable The test has been promoted to a reliable test meaning it passes consistently in all pipelines, including merge requests.
:requires_admin The test requires an admin account. Tests with the tag are excluded when run against Canary and Production environments.
:runner The test depends on and will set up a GitLab Runner instance, typically to run a pipeline.
:gitaly_ha The test will run against a GitLab instance where repositories are stored on redundant Gitaly nodes behind a Praefect node. All nodes are separate containers. Tests that use this tag have a longer setup time since there are three additional containers that need to be started.
:skip_live_env The test will be excluded when run against live deployed environments such as Staging, Canary, and Production.
:jira The test requires a Jira Server. GitLab-QA will provision the Jira Server in a Docker container when the Test::Integration::Jira test scenario is run.
:only The test is only to be run against specific environments. See Environment selection for more information.