Skip to content
Snippets Groups Projects
Verified Commit a3998bcb authored by Dan Davison's avatar Dan Davison
Browse files

Add more factories to FabricateUsage cop

parent 78dcf341
No related branches found
No related tags found
2 merge requests!144312Change service start (cut-off) date for code suggestions to March 15th,!142954Add more factories to FabricateUsage cop
Showing
with 77 additions and 78 deletions
......@@ -16,13 +16,12 @@ module QA
end
let(:merge_request) do
Resource::MergeRequest.fabricate_via_api! do |merge_request|
merge_request.project = project
merge_request.description = 'Simple MR for a simple test'
merge_request.target_new_branch = false
merge_request.file_name = 'new_file.txt'
merge_request.file_content = 'Simple file for a simple MR'
end
create(:merge_request,
project: project,
description: 'Simple MR for a simple test',
target_new_branch: false,
file_name: 'new_file.txt',
file_content: 'Simple file for a simple MR')
end
before do
......
......@@ -7,17 +7,16 @@ module QA
let(:project) { create(:project, :private, name: 'project-with-registry', template_name: 'express') }
let(:project_deploy_token) do
Resource::ProjectDeployToken.fabricate_via_api! do |deploy_token|
deploy_token.name = 'registry-deploy-token'
deploy_token.project = project
deploy_token.scopes = %w[
create(:project_deploy_token,
name: 'registry-deploy-token',
project: project,
scopes: %w[
read_repository
read_package_registry
write_package_registry
read_registry
write_registry
]
end
])
end
let!(:runner) do
......
......@@ -17,14 +17,10 @@ module QA
end
let(:group_deploy_token) do
Resource::GroupDeployToken.fabricate_via_api! do |deploy_token|
deploy_token.name = 'dp-group-deploy-token'
deploy_token.group = project.group
deploy_token.scopes = %w[
read_registry
write_registry
]
end
create(:group_deploy_token,
name: 'dp-group-deploy-token',
group: project.group,
scopes: %w[read_registry write_registry])
end
let(:personal_access_token) { Runtime::Env.personal_access_token }
......
......@@ -14,15 +14,14 @@ module QA
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[
create(:group_deploy_token,
name: 'maven-group-deploy-token',
group: package_project.group,
scopes: %w[
read_repository
read_package_registry
write_package_registry
]
end
])
end
context 'via maven' do
......
......@@ -32,15 +32,14 @@ module QA
end
let(:project_deploy_token) do
Resource::ProjectDeployToken.fabricate_via_api! do |deploy_token|
deploy_token.name = 'package-deploy-token'
deploy_token.project = project
deploy_token.scopes = %w[
create(:project_deploy_token,
name: 'package-deploy-token',
project: project,
scopes: %w[
read_repository
read_package_registry
write_package_registry
]
end
])
end
let(:project_inbound_job_token_disabled) do
......
......@@ -10,11 +10,10 @@ module QA
deploy_token_name = 'deploy token name'
one_week_from_now = Date.today + 7
deploy_token = Resource::ProjectDeployToken.fabricate_via_api! do |resource|
resource.name = deploy_token_name
resource.expires_at = one_week_from_now
resource.scopes = %w[read_repository]
end
deploy_token = create(:project_deploy_token,
name: deploy_token_name,
expires_at: one_week_from_now,
scopes: %w[read_repository])
expect(deploy_token.username.length).to be > 0
expect(deploy_token.token.length).to be > 0
......
......@@ -86,12 +86,11 @@ module QA
def create_scan_execution_policy
branch_name = scan_execution_policy_commit.api_response[:branch]
Resource::MergeRequest.fabricate_via_api! do |merge_request|
merge_request.no_preparation = true
merge_request.project = policy_project
merge_request.target_new_branch = false
merge_request.source_branch = branch_name
end.merge_via_api!
create(:merge_request,
:no_preparation,
project: policy_project,
target_new_branch: false,
source_branch: branch_name).merge_via_api!
end
def pipeline_has_a_job?
......@@ -134,12 +133,11 @@ def create_commit(branch_name)
end
def create_test_mr
Resource::MergeRequest.fabricate_via_api! do |merge_request|
merge_request.no_preparation = true
merge_request.project = project
merge_request.target_new_branch = false
merge_request.source_branch = commit_branch
end
create(:merge_request,
:no_preparation,
project: project,
target_new_branch: false,
source_branch: commit_branch)
end
end
end
......
......@@ -108,22 +108,20 @@ module QA
end
def create_test_mr
Resource::MergeRequest.fabricate_via_api! do |merge_request|
merge_request.no_preparation = true
merge_request.project = project
merge_request.target_new_branch = false
merge_request.source_branch = commit_branch
end
create(:merge_request,
:no_preperation,
project: project,
target_new_branch: false,
source_branch: commit_branch)
end
def create_scan_result_policy
branch_name = scan_result_policy_commit.api_response[:branch]
Resource::MergeRequest.fabricate_via_api! do |merge_request|
merge_request.no_preparation = true
merge_request.project = policy_project
merge_request.target_new_branch = false
merge_request.source_branch = branch_name
end.merge_via_api!
create(:merge_request,
:no_preparation,
project: policy_project,
target_new_branch: false,
source_branch: branch_name).merge_via_api!
end
end
end
......
......@@ -71,12 +71,12 @@ module QA
context 'when populated by a Dependency Scan' do
it 'populates licenses in the pipeline, dashboard and merge request',
testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/409969' do
merge_request = Resource::MergeRequest.fabricate_via_api! do |merge_request|
merge_request.source = source
merge_request.project = test_project
merge_request.source_branch = 'license-management-mr'
merge_request.target_branch = test_project.default_branch
end
merge_request = create(:merge_request,
source: source,
project: test_project,
source_branch: 'license-management-mr',
target_branch: test_project.default_branch)
Flow::Login.sign_in_unless_signed_in
merge_request.visit!
......
......@@ -28,23 +28,35 @@ module QA
class FabricateUsage < RuboCop::Cop::Base
MESSAGE = "Prefer create(:%{factory}[, ...]) here."
RESOURCES_TO_CHECK = {
'Resource::Project' => :project,
'Resource::CiVariable' => :ci_variable,
'Resource::Commit' => :commit,
'Resource::Design' => :design,
'Resource::File' => :file,
'Resource::Group' => :group,
'Resource::GroupAccessToken' => :group_access_token,
'Resource::GroupDeployToken' => :group_deploy_token,
'Resource::GroupLabel' => :group_label,
'Resource::GroupMilestone' => :group_milestone,
'Resource::GroupRunner' => :group_runner,
'Resource::GroupWikiPage' => :group_wiki_page,
'Resource::Issue' => :issue,
'Resource::User' => :user,
'Resource::Pipeline' => :pipeline,
'Resource::Job' => :job,
'Resource::File' => :file,
'Resource::GroupAccessToken' => :group_access_token,
'Resource::MergeRequest' => :merge_request,
'Resource::Package' => :package,
'Resource::Pipeline' => :pipeline,
'Resource::PipelineSchedule' => :pipeline_schedule,
'Resource::Project' => :project,
'Resource::ProjectAccessToken' => :project_access_token,
'Resource::GroupLabel' => :group_label,
'Resource::ProjectDeployToken' => :project_deploy_token,
'Resource::ProjectLabel' => :project_label,
'Resource::GroupRunner' => :group_runner,
'Resource::ProjectRunner' => :project_runner,
'Resource::GroupMilestone' => :group_milestone,
'Resource::ProjectMilestone' => :project_milestone,
'Resource::ProjectRunner' => :project_runner,
'Resource::ProjectSnippet' => :project_snippet,
'Resource::ProjectWikiPage' => :project_wiki_page,
'Resource::Sandbox' => :sandbox,
'Resource::Snippet' => :snippet,
'Resource::ProjectSnippet' => :project_snippet
'Resource::Tag' => :tag,
'Resource::User' => :user
}.freeze
RESTRICT_ON_SEND = %i[fabricate_via_api!].freeze
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment