diff options
Diffstat (limited to 'qa/qa/specs/features/shared_contexts')
6 files changed, 78 insertions, 6 deletions
diff --git a/qa/qa/specs/features/shared_contexts/advanced_search_shared_context.rb b/qa/qa/specs/features/shared_contexts/advanced_search_shared_context.rb new file mode 100644 index 00000000000..c6836d11803 --- /dev/null +++ b/qa/qa/specs/features/shared_contexts/advanced_search_shared_context.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module QA + RSpec.shared_context 'advanced search active' do + let!(:advanced_search_on) { check_advanced_search_status } + + before do + QA::EE::Resource::Settings::Elasticsearch.fabricate_via_api! unless advanced_search_on + end + + after do + Runtime::Search.disable_elasticsearch(api_client) if !advanced_search_on && !api_client.nil? + end + + # TODO: convert this method to use the API instead of the UI once the functionality exists + # https://gitlab.com/gitlab-org/gitlab/-/issues/382849 + def check_advanced_search_status + Flow::Login.sign_in + QA::Page::Main::Menu.perform do |menu| + menu.search_for('lorem ipsum') + end + page.has_text?('Advanced search is enabled') + end + end +end diff --git a/qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb b/qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb index 27d94b04cde..481a09f601b 100644 --- a/qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb +++ b/qa/qa/specs/features/shared_contexts/import/github_import_shared_context.rb @@ -35,8 +35,44 @@ module QA end end + let(:smocker_host) { ENV["QA_SMOCKER_HOST"] } + let(:smocker) do + Vendor::Smocker::SmockerApi.new( + host: smocker_host, + public_port: 443, + admin_port: 8081, + tls: true + ) + end + + let(:mocks_path) { File.join(Runtime::Path.fixtures_path, "mocks", "import") } + before do + set_mocks group.add_member(user, Resource::Members::AccessLevel::MAINTAINER) end + + def expect_project_import_finished_successfully + imported_project.reload! # import the project + + status = nil + Support::Retrier.retry_until(max_duration: 240, sleep_interval: 1, raise_on_failure: false) do + status = imported_project.project_import_status[:import_status] + %w[finished failed].include?(status) + end + + # finished status means success, all other statuses are considered to fail the test + expect(status).to eq('finished'), "Expected import to finish successfully, but status was: #{status}" + end + + # Setup github mocked responses if mock server host is present + # + # @return [void] + def set_mocks + return Runtime::Logger.warn("Mock host is not set, skipping github response setup") unless smocker_host + + smocker.reset + smocker.register(File.read(File.join(mocks_path, "github.yml"))) + end end end diff --git a/qa/qa/specs/features/shared_contexts/import/gitlab_group_migration_common.rb b/qa/qa/specs/features/shared_contexts/import/gitlab_group_migration_common.rb index e1d762f41cb..853f427db12 100644 --- a/qa/qa/specs/features/shared_contexts/import/gitlab_group_migration_common.rb +++ b/qa/qa/specs/features/shared_contexts/import/gitlab_group_migration_common.rb @@ -19,6 +19,9 @@ module QA is_new_session: false ) end + let!(:source_bulk_import_enabled) do + Runtime::ApplicationSettings.get_application_settings(api_client: source_admin_api_client)[:bulk_import_enabled] + end let!(:source_admin_user) do Resource::User.fabricate_via_api! do |usr| usr.api_client = source_admin_api_client @@ -36,6 +39,9 @@ module QA # target instance objects # let!(:admin_api_client) { Runtime::API::Client.as_admin } + let!(:target_bulk_import_enabled) do + Runtime::ApplicationSettings.get_application_settings(api_client: admin_api_client)[:bulk_import_enabled] + end let!(:admin_user) do Resource::User.fabricate_via_api! do |usr| usr.api_client = admin_api_client @@ -87,7 +93,8 @@ module QA end before do - Runtime::ApplicationSettings.set_application_settings(bulk_import_enabled: true) + enable_bulk_import(source_admin_api_client) if source_admin_user && !source_bulk_import_enabled + enable_bulk_import(admin_api_client) unless target_bulk_import_enabled target_sandbox.add_member(user, Resource::Members::AccessLevel::OWNER) end @@ -102,5 +109,9 @@ module QA # make sure cleanup runs last cleanup! end + + def enable_bulk_import(api_client) + Runtime::ApplicationSettings.set_application_settings(api_client: api_client, bulk_import_enabled: true) + end end end diff --git a/qa/qa/specs/features/shared_contexts/merge_train_spec_with_user_prep.rb b/qa/qa/specs/features/shared_contexts/merge_train_spec_with_user_prep.rb index 9d1a37cb0b8..8af5dc5463e 100644 --- a/qa/qa/specs/features/shared_contexts/merge_train_spec_with_user_prep.rb +++ b/qa/qa/specs/features/shared_contexts/merge_train_spec_with_user_prep.rb @@ -20,7 +20,7 @@ module QA end let!(:runner) do - Resource::Runner.fabricate! do |runner| + Resource::ProjectRunner.fabricate! do |runner| runner.project = project runner.name = executor runner.tags = [executor] diff --git a/qa/qa/specs/features/shared_contexts/packages_registry_shared_context.rb b/qa/qa/specs/features/shared_contexts/packages_registry_shared_context.rb index 73a6c2bd99e..a611a801b11 100644 --- a/qa/qa/specs/features/shared_contexts/packages_registry_shared_context.rb +++ b/qa/qa/specs/features/shared_contexts/packages_registry_shared_context.rb @@ -28,11 +28,11 @@ module QA end let(:runner) do - Resource::Runner.fabricate! do |runner| + Resource::GroupRunner.fabricate! do |runner| runner.name = "qa-runner-#{Time.now.to_i}" runner.tags = ["runner-for-#{package_project.group.name}"] runner.executor = :docker - runner.token = package_project.group.reload!.runners_token + runner.group = package_project.group end end diff --git a/qa/qa/specs/features/shared_contexts/variable_inheritance_shared_context.rb b/qa/qa/specs/features/shared_contexts/variable_inheritance_shared_context.rb index 45caeced35c..2219031e9c6 100644 --- a/qa/qa/specs/features/shared_contexts/variable_inheritance_shared_context.rb +++ b/qa/qa/specs/features/shared_contexts/variable_inheritance_shared_context.rb @@ -37,8 +37,8 @@ module QA end let!(:runner) do - Resource::Runner.fabricate! do |runner| - runner.token = group.reload!.runners_token + Resource::GroupRunner.fabricate! do |runner| + runner.group = group runner.name = random_string runner.tags = [random_string] end |