diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-22 03:09:28 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-22 03:09:28 +0300 |
commit | 1f4988374d6c9870044a93c51e2016853193e8cf (patch) | |
tree | d17ac78a0dde4ccb9f36a6acceafa265a08a7134 /qa/spec | |
parent | 0fba9a23d015b64690ed9e6405d7fba2efbd227d (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa/spec')
-rw-r--r-- | qa/spec/spec_helper.rb | 1 | ||||
-rw-r--r-- | qa/spec/support/shared_contexts/packages_registry_shared_context.rb | 63 |
2 files changed, 64 insertions, 0 deletions
diff --git a/qa/spec/spec_helper.rb b/qa/spec/spec_helper.rb index 4f0f93bf020..e25892a008f 100644 --- a/qa/spec/spec_helper.rb +++ b/qa/spec/spec_helper.rb @@ -17,6 +17,7 @@ QA::Runtime::AllureReport.configure! QA::Runtime::Scenario.from_env(QA::Runtime::Env.runtime_scenario_attributes) Dir[::File.join(__dir__, "support/shared_examples/*.rb")].sort.each { |f| require f } +Dir[::File.join(__dir__, "support/shared_contexts/*.rb")].sort.each { |f| require f } RSpec.configure do |config| config.include QA::Support::Matchers::EventuallyMatcher diff --git a/qa/spec/support/shared_contexts/packages_registry_shared_context.rb b/qa/spec/support/shared_contexts/packages_registry_shared_context.rb new file mode 100644 index 00000000000..6e197015640 --- /dev/null +++ b/qa/spec/support/shared_contexts/packages_registry_shared_context.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +module QA + RSpec.shared_context 'packages registry qa scenario' do + let(:personal_access_token) { Runtime::Env.personal_access_token } + + let(:package_project) do + Resource::Project.fabricate_via_api! do |project| + project.name = "#{package_type}_package_project" + project.initialize_with_readme = true + project.visibility = :private + end + end + + let(:client_project) do + Resource::Project.fabricate_via_api! do |client_project| + client_project.name = "#{package_type}_client_project" + client_project.initialize_with_readme = true + client_project.group = package_project.group + end + end + + let(:package) do + Resource::Package.init do |package| + package.name = package_name + package.project = package_project + end + end + + let(:runner) do + Resource::Runner.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.runners_token + end + end + + let(:gitlab_address_with_port) do + uri = URI.parse(Runtime::Scenario.gitlab_address) + "#{uri.scheme}://#{uri.host}:#{uri.port}" + end + + let(:project_deploy_token) do + Resource::DeployToken.fabricate_via_browser_ui! do |deploy_token| + deploy_token.name = 'helm-package-deploy-token' + deploy_token.project = package_project + end + end + + before do + Flow::Login.sign_in_unless_signed_in + runner + end + + after do + runner.remove_via_api! + package.remove_via_api! + package_project.remove_via_api! + client_project.remove_via_api! + end + end +end |