Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb')
-rw-r--r--qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb77
1 files changed, 38 insertions, 39 deletions
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 aac8893ff2c..cda45efd828 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
@@ -1,9 +1,10 @@
# frozen_string_literal: true
module QA
- RSpec.describe 'Package', :skip_live_env, :orchestrated, :packages, :object_storage, :reliable, product_group: :package_registry do
+ RSpec.describe 'Package', :orchestrated, :packages, :object_storage, :reliable, product_group: :package_registry do
describe 'Maven group level endpoint' do
include Runtime::Fixtures
+ include Support::Helpers::MaskToken
include_context 'packages registry qa scenario'
let(:group_id) { 'com.gitlab.qa' }
@@ -12,6 +13,18 @@ module QA
let(:package_version) { '1.3.7' }
let(:package_type) { 'maven' }
+ let(:group_deploy_token) do
+ Resource::GroupDeployToken.fabricate_via_api! do |deploy_token|
+ deploy_token.name = 'maven-group-deploy-token'
+ deploy_token.group = package_project.group
+ deploy_token.scopes = %w[
+ read_repository
+ read_package_registry
+ write_package_registry
+ ]
+ end
+ end
+
context 'via maven' do
where do
{
@@ -37,11 +50,13 @@ module QA
let(:token) do
case authentication_token_type
when :personal_access_token
- personal_access_token
+ use_ci_variable(name: 'PERSONAL_ACCESS_TOKEN', value: personal_access_token, project: package_project)
+ use_ci_variable(name: 'PERSONAL_ACCESS_TOKEN', value: personal_access_token, project: client_project)
when :ci_job_token
- '${env.CI_JOB_TOKEN}'
+ '${CI_JOB_TOKEN}'
when :project_deploy_token
- project_deploy_token.token
+ use_ci_variable(name: 'GROUP_DEPLOY_TOKEN', value: group_deploy_token.token, project: package_project)
+ use_ci_variable(name: 'GROUP_DEPLOY_TOKEN', value: group_deploy_token.token, project: client_project)
end
end
@@ -121,8 +136,9 @@ module QA
context 'duplication setting' do
before do
+ use_ci_variable(name: 'PERSONAL_ACCESS_TOKEN', value: personal_access_token, project: package_project)
+ use_ci_variable(name: 'PERSONAL_ACCESS_TOKEN', value: personal_access_token, project: client_project)
package_project.group.visit!
-
Page::Group::Menu.perform(&:go_to_package_settings)
end
@@ -132,16 +148,19 @@ module QA
end
it 'prevents users from publishing duplicates', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/377491' do
- create_duplicated_package
+ create_package(package_project)
+ show_latest_deploy_job
- push_duplicated_package
+ Page::Project::Job::Show.perform do |job|
+ expect(job).to be_successful(timeout: 400)
+ end
- client_project.visit!
+ Page::Project::Job::Show.perform(&:retry!)
show_latest_deploy_job
Page::Project::Job::Show.perform do |job|
- expect(job).not_to be_successful(timeout: 800)
+ expect(job).not_to be_successful(timeout: 400)
end
end
end
@@ -152,52 +171,32 @@ module QA
end
it 'allows users to publish duplicates', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/377492' do
- create_duplicated_package
-
- push_duplicated_package
+ create_package(package_project)
show_latest_deploy_job
Page::Project::Job::Show.perform do |job|
- expect(job).to be_successful(timeout: 800)
+ expect(job).to be_successful(timeout: 400)
end
- end
- end
- def create_duplicated_package
- settings_xml_with_pat = ERB.new(read_fixture('package_managers/maven/group', 'settings_with_pat.xml.erb')).result(binding)
- pom_xml = ERB.new(read_fixture('package_managers/maven/group/producer', 'pom.xml.erb')).result(binding)
-
- with_fixtures([
- {
- file_path: 'pom.xml',
- content: pom_xml
- },
- {
- file_path: 'settings.xml',
- content: settings_xml_with_pat
- }
- ]) do |dir|
- Service::DockerRun::Maven.new(dir).publish!
- end
-
- package_project.visit!
+ Page::Project::Job::Show.perform(&:retry!)
- Page::Project::Menu.perform(&:click_packages_link)
+ show_latest_deploy_job
- Page::Project::Packages::Index.perform do |index|
- expect(index).to have_package(package_name)
+ Page::Project::Job::Show.perform do |job|
+ expect(job).to be_successful(timeout: 400)
+ end
end
end
- def push_duplicated_package
+ def create_package(project)
Support::Retrier.retry_on_exception(max_attempts: 3, sleep_interval: 2) do
Resource::Repository::Commit.fabricate_via_api! do |commit|
gitlab_ci_yaml = ERB.new(read_fixture('package_managers/maven/group/producer', 'gitlab_ci.yaml.erb')).result(binding)
pom_xml = ERB.new(read_fixture('package_managers/maven/group/producer', 'pom.xml.erb')).result(binding)
settings_xml_with_pat = ERB.new(read_fixture('package_managers/maven/group', 'settings_with_pat.xml.erb')).result(binding)
- commit.project = client_project
+ commit.project = project
commit.commit_message = 'Add .gitlab-ci.yml'
commit.add_files(
[
@@ -210,7 +209,7 @@ module QA
end
def show_latest_deploy_job
- client_project.visit!
+ package_project.visit!
Flow::Pipeline.visit_latest_pipeline