diff --git a/doc/development/testing_guide/end_to_end/rspec_metadata_tests.md b/doc/development/testing_guide/end_to_end/rspec_metadata_tests.md index f13686981a99013e77acaf93325bbf855eac402b..93adc492d5aabd0099c53ad463c993e92f2bae87 100644 --- a/doc/development/testing_guide/end_to_end/rspec_metadata_tests.md +++ b/doc/development/testing_guide/end_to_end/rspec_metadata_tests.md @@ -15,6 +15,7 @@ This is a partial list of the [RSpec metadata](https://rspec.info/features/3-12/ |-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `:elasticsearch` | The test requires an Elasticsearch service. It is used by the [instance-level scenario](https://gitlab.com/gitlab-org/gitlab-qa#definitions) [`Test::Integration::Elasticsearch`](https://gitlab.com/gitlab-org/gitlab/-/blob/72b62b51bdf513e2936301cb6c7c91ec27c35b4d/qa/qa/ee/scenario/test/integration/elasticsearch.rb) to include only tests that require Elasticsearch. | | `:except` | The test is to be run in their typical execution contexts _except_ as specified. See [test execution context selection](execution_context_selection.md) for more information. | +| `:external_api_calls` | The test requires interaction with a network external to the Docker network | | `:feature_flag` | The test uses a feature flag and therefore requires an administrator account to run. When `scope` is set to `:global`, the test will be skipped on all live .com environments. Otherwise, it will be skipped only on Canary, Production, and Pre-production. See [testing with feature flags](../../../development/testing_guide/end_to_end/feature_flags.md) for more details. | | `:framework` | The test makes sanity assertions around the QA framework itself | | `:geo` | The test requires two GitLab Geo instances - a primary and a secondary - to be spun up. | diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb index cd58b0777cb230141e3e79e86ec1ac3487023976..0f1a79425c3696edb5d96306f38f1b844b7ae6bd 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb @@ -2,7 +2,7 @@ module QA RSpec.describe 'Package', :object_storage, product_group: :package_registry do - describe 'Composer Repository' do + describe 'Composer Repository', :external_api_calls do include Runtime::Fixtures let(:project) do diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb index 46d4a91d32ca907eedeae7c5d486dffe4afa1365..18fe0bcff93929941514a3ea07e47e85155ac24f 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true module QA - RSpec.describe 'Package', :object_storage, product_group: :package_registry, quarantine: { - only: { job: %w[object_storage airgapped], condition: -> { QA::Support::FIPS.enabled? } }, + RSpec.describe 'Package', :object_storage, :external_api_calls, product_group: :package_registry, quarantine: { + only: { job: 'object_storage', condition: -> { QA::Support::FIPS.enabled? } }, issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/417584', type: :bug } do diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb index 7bdaba792149cb6093642c9c7730cdf129b9d6b7..8592077cada2ecdf673af304417c067f4b739a25 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb @@ -2,7 +2,7 @@ module QA RSpec.describe 'Package', :object_storage, product_group: :package_registry do - describe 'Generic Repository', except: { job: 'airgapped' } do + describe 'Generic Repository', :external_api_calls do include Runtime::Fixtures let(:project) do diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb index c82b276e83659ca5ac900e4d384ab45e5594a179..42635a9e59f5dfe035f65944b67541139b27e8e1 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb @@ -2,7 +2,7 @@ module QA RSpec.describe 'Package', :object_storage, product_group: :package_registry do - describe 'Helm Registry', except: { job: 'airgapped' } do + describe 'Helm Registry', :external_api_calls do using RSpec::Parameterized::TableSyntax include Runtime::Fixtures include Support::Helpers::MaskToken diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb index 490d0117a0b74b51ea65bc0b5f7f2c34895dad58..3cbc78ab806ee3cb60172e98daad2a18a2a0138c 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb @@ -2,7 +2,7 @@ module QA RSpec.describe 'Package', :object_storage, product_group: :package_registry do - describe 'Maven group level endpoint', except: { job: 'airgapped' } do + describe 'Maven group level endpoint', :external_api_calls do include Runtime::Fixtures include Support::Helpers::MaskToken include_context 'packages registry qa scenario' diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb index bf2bc13869da08edc3ea3caa24b8877c8ddf07e1..be64ddd6c0dcb99be8b5553d9ab4ac9d0fa2d7a9 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - RSpec.describe 'Package', :object_storage, except: { job: 'airgapped' } do + RSpec.describe 'Package', :object_storage, :external_api_calls do describe 'Maven project level endpoint', product_group: :package_registry do include Runtime::Fixtures include Support::Helpers::MaskToken diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb index 9da56f1d640d8349cfdcdc79be24ee93831205ef..a3ca91d13f4eacc4235b8f9bd1fdbbf193b2bfc2 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - RSpec.describe 'Package', :object_storage, + RSpec.describe 'Package', :object_storage, :external_api_calls, quarantine: { only: { condition: -> { QA::Support::FIPS.enabled? } }, issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/417600', diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb index b245d162da90f2b9c8fe3a117e095297f920aa21..edae42ed0e86913735e3b3016d61e1aea4e2481d 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb @@ -2,7 +2,8 @@ module QA RSpec.describe 'Package' do - describe 'npm Registry group level endpoint', :object_storage, product_group: :package_registry do + describe 'npm Registry group level endpoint', :object_storage, :external_api_calls, + product_group: :package_registry do using RSpec::Parameterized::TableSyntax include Runtime::Fixtures include Support::Helpers::MaskToken diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb index 961953220e3afac80d2bded100133d535aba749a..9514de3f6e24717c39b2448b9834cd1ce75fd2af 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb @@ -2,7 +2,8 @@ module QA RSpec.describe 'Package' do - describe 'npm Registry instance level endpoint', :object_storage, product_group: :package_registry do + describe 'npm Registry instance level endpoint', :object_storage, :external_api_calls, + product_group: :package_registry do using RSpec::Parameterized::TableSyntax include Runtime::Fixtures include Support::Helpers::MaskToken diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb index f44e3d4da966044fe1d05fbc338c2ddbcc4eb19c..278d67048e428318e3e1db3e4c4be70a596f2826 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb @@ -2,7 +2,8 @@ module QA RSpec.describe 'Package' do - describe 'npm Registry project level endpoint', :object_storage, product_group: :package_registry do + describe 'npm Registry project level endpoint', :object_storage, :external_api_calls, + product_group: :package_registry do using RSpec::Parameterized::TableSyntax include Runtime::Fixtures include Support::Helpers::MaskToken diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_group_level_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_group_level_spec.rb index 5703a32be8dec583635706850436a75557861a14..eb41e1139600160e048db29a7fd35c35aa9c458c 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_group_level_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_group_level_spec.rb @@ -2,7 +2,7 @@ module QA RSpec.describe 'Package', :object_storage, product_group: :package_registry do - describe 'NuGet group level endpoint' do + describe 'NuGet group level endpoint', :external_api_calls do using RSpec::Parameterized::TableSyntax include Runtime::Fixtures include Support::Helpers::MaskToken diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_project_level_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_project_level_spec.rb index d58a232ec58ddcff563fcf3738bdcfca9bf91fe6..4b4e8cb10974f5a505045ab25e22e5ee7077ffcc 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_project_level_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_project_level_spec.rb @@ -2,7 +2,7 @@ module QA RSpec.describe 'Package', :object_storage, product_group: :package_registry do - describe 'NuGet project level endpoint' do + describe 'NuGet project level endpoint', :external_api_calls do include Support::Helpers::MaskToken let(:project) do diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb index 024e59ae9123c5e0951902e913f8087dc34e1185..c52912299be7f7c3e92d7feb8b6e48a915f251ba 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb @@ -2,7 +2,7 @@ module QA RSpec.describe 'Package', :object_storage, product_group: :package_registry do - describe 'PyPI Repository', except: { job: 'airgapped' } do + describe 'PyPI Repository', :external_api_calls do include Runtime::Fixtures include Support::Helpers::MaskToken diff --git a/qa/qa/specs/features/browser_ui/5_package/package_registry/rubygems_registry_spec.rb b/qa/qa/specs/features/browser_ui/5_package/package_registry/rubygems_registry_spec.rb index d539e1f75de50f9f276cf0dfcb9e49c729760bc9..124129761ebda1d92071083483bbc275fc2c5169 100644 --- a/qa/qa/specs/features/browser_ui/5_package/package_registry/rubygems_registry_spec.rb +++ b/qa/qa/specs/features/browser_ui/5_package/package_registry/rubygems_registry_spec.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module QA - RSpec.describe 'Package', :object_storage, + RSpec.describe 'Package', :object_storage, :external_api_calls, feature_flag: { name: 'rubygem_packages', scope: :project } do describe 'RubyGems Repository', product_group: :package_registry do include Runtime::Fixtures