Commit 5d2b319d authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'fix-todo-cops' into 'master'

Fix todo cops

See merge request gitlab-org/gitlab-ce!21850
parents 8ec0eda9 869d8e81
...@@ -10,24 +10,6 @@ ...@@ -10,24 +10,6 @@
Capybara/CurrentPathExpectation: Capybara/CurrentPathExpectation:
Enabled: false Enabled: false
# Offense count: 23
FactoryBot/DynamicAttributeDefinedStatically:
Exclude:
- 'spec/factories/broadcast_messages.rb'
- 'spec/factories/ci/builds.rb'
- 'spec/factories/ci/runners.rb'
- 'spec/factories/clusters/applications/helm.rb'
- 'spec/factories/clusters/platforms/kubernetes.rb'
- 'spec/factories/emails.rb'
- 'spec/factories/gpg_keys.rb'
- 'spec/factories/group_members.rb'
- 'spec/factories/merge_requests.rb'
- 'spec/factories/notes.rb'
- 'spec/factories/oauth_access_grants.rb'
- 'spec/factories/project_members.rb'
- 'spec/factories/todos.rb'
- 'spec/factories/uploads.rb'
# Offense count: 167 # Offense count: 167
# Cop supports --auto-correct. # Cop supports --auto-correct.
Layout/EmptyLinesAroundArguments: Layout/EmptyLinesAroundArguments:
...@@ -53,20 +35,6 @@ Layout/IndentArray: ...@@ -53,20 +35,6 @@ Layout/IndentArray:
Layout/IndentHash: Layout/IndentHash:
Enabled: false Enabled: false
# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment.
Layout/SpaceBeforeFirstArg:
Exclude:
- 'config/routes/project.rb'
- 'db/migrate/20170506185517_add_foreign_key_pipeline_schedules_and_pipelines.rb'
- 'features/steps/project/source/browse_files.rb'
- 'features/steps/project/source/markdown_render.rb'
- 'lib/api/runners.rb'
- 'spec/features/search/user_uses_search_filters_spec.rb'
- 'spec/routing/project_routing_spec.rb'
- 'spec/services/system_note_service_spec.rb'
# Offense count: 93 # Offense count: 93
# Cop supports --auto-correct. # Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle. # Configuration parameters: EnforcedStyle.
...@@ -74,15 +42,6 @@ Layout/SpaceBeforeFirstArg: ...@@ -74,15 +42,6 @@ Layout/SpaceBeforeFirstArg:
Layout/SpaceInLambdaLiteral: Layout/SpaceInLambdaLiteral:
Enabled: false Enabled: false
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
# SupportedStyles: space, no_space, compact
# SupportedStylesForEmptyBrackets: space, no_space
Layout/SpaceInsideArrayLiteralBrackets:
Exclude:
- 'spec/lib/gitlab/import_export/relation_factory_spec.rb'
# Offense count: 327 # Offense count: 327
# Cop supports --auto-correct. # Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
...@@ -96,14 +55,6 @@ Layout/SpaceInsideBlockBraces: ...@@ -96,14 +55,6 @@ Layout/SpaceInsideBlockBraces:
Layout/SpaceInsideParens: Layout/SpaceInsideParens:
Enabled: false Enabled: false
# Offense count: 14
# Cop supports --auto-correct.
Layout/SpaceInsidePercentLiteralDelimiters:
Exclude:
- 'lib/gitlab/git_access.rb'
- 'lib/gitlab/health_checks/fs_shards_check.rb'
- 'spec/lib/gitlab/health_checks/fs_shards_check_spec.rb'
# Offense count: 26 # Offense count: 26
Lint/DuplicateMethods: Lint/DuplicateMethods:
Exclude: Exclude:
...@@ -135,31 +86,11 @@ Lint/InterpolationCheck: ...@@ -135,31 +86,11 @@ Lint/InterpolationCheck:
Lint/MissingCopEnableDirective: Lint/MissingCopEnableDirective:
Enabled: false Enabled: false
# Offense count: 2
Lint/NestedPercentLiteral:
Exclude:
- 'lib/gitlab/git/repository.rb'
- 'spec/support/shared_examples/email_format_shared_examples.rb'
# Offense count: 1 # Offense count: 1
Lint/ReturnInVoidContext: Lint/ReturnInVoidContext:
Exclude: Exclude:
- 'app/models/project.rb' - 'app/models/project.rb'
# Offense count: 1
# Configuration parameters: IgnoreImplicitReferences.
Lint/ShadowedArgument:
Exclude:
- 'lib/gitlab/database/sha_attribute.rb'
# Offense count: 3
# Cop supports --auto-correct.
Lint/UnneededRequireStatement:
Exclude:
- 'db/post_migrate/20161221153951_rename_reserved_project_names.rb'
- 'db/post_migrate/20170313133418_rename_more_reserved_project_names.rb'
- 'lib/declarative_policy.rb'
# Offense count: 9 # Offense count: 9
Lint/UriEscapeUnescape: Lint/UriEscapeUnescape:
Exclude: Exclude:
...@@ -199,16 +130,6 @@ Naming/HeredocDelimiterCase: ...@@ -199,16 +130,6 @@ Naming/HeredocDelimiterCase:
Naming/HeredocDelimiterNaming: Naming/HeredocDelimiterNaming:
Enabled: false Enabled: false
# Offense count: 1
Performance/UnfreezeString:
Exclude:
- 'features/steps/project/commits/commits.rb'
# Offense count: 1
# Cop supports --auto-correct.
Performance/UriDefaultParser:
Exclude:
- 'lib/gitlab/url_sanitizer.rb'
# Offense count: 3821 # Offense count: 3821
# Configuration parameters: Prefixes. # Configuration parameters: Prefixes.
......
...@@ -365,7 +365,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do ...@@ -365,7 +365,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
get :discussions, format: :json get :discussions, format: :json
end end
collection do collection do
post :bulk_update post :bulk_update
end end
end end
......
...@@ -13,7 +13,7 @@ class AddForeignKeyPipelineSchedulesAndPipelines < ActiveRecord::Migration ...@@ -13,7 +13,7 @@ class AddForeignKeyPipelineSchedulesAndPipelines < ActiveRecord::Migration
'SET NULL' 'SET NULL'
end end
add_concurrent_foreign_key :ci_pipelines, :ci_pipeline_schedules, add_concurrent_foreign_key :ci_pipelines, :ci_pipeline_schedules,
column: :pipeline_schedule_id, on_delete: on_delete column: :pipeline_schedule_id, on_delete: on_delete
end end
......
require 'thread'
class RenameReservedProjectNames < ActiveRecord::Migration class RenameReservedProjectNames < ActiveRecord::Migration
include Gitlab::Database::MigrationHelpers include Gitlab::Database::MigrationHelpers
include Gitlab::ShellAdapter include Gitlab::ShellAdapter
......
require 'thread'
class RenameMoreReservedProjectNames < ActiveRecord::Migration class RenameMoreReservedProjectNames < ActiveRecord::Migration
include Gitlab::Database::MigrationHelpers include Gitlab::Database::MigrationHelpers
include Gitlab::ShellAdapter include Gitlab::ShellAdapter
......
...@@ -113,7 +113,7 @@ module API ...@@ -113,7 +113,7 @@ module API
optional :status, type: String, desc: 'Status of the job', values: Ci::Build::AVAILABLE_STATUSES optional :status, type: String, desc: 'Status of the job', values: Ci::Build::AVAILABLE_STATUSES
use :pagination use :pagination
end end
get ':id/jobs' do get ':id/jobs' do
runner = get_runner(params[:id]) runner = get_runner(params[:id])
authenticate_list_runners_jobs!(runner) authenticate_list_runners_jobs!(runner)
......
...@@ -10,8 +10,6 @@ require_dependency 'declarative_policy/step' ...@@ -10,8 +10,6 @@ require_dependency 'declarative_policy/step'
require_dependency 'declarative_policy/base' require_dependency 'declarative_policy/base'
require 'thread'
module DeclarativePolicy module DeclarativePolicy
CLASS_CACHE_MUTEX = Mutex.new CLASS_CACHE_MUTEX = Mutex.new
CLASS_CACHE_IVAR = :@__DeclarativePolicy_CLASS_CACHE CLASS_CACHE_IVAR = :@__DeclarativePolicy_CLASS_CACHE
......
...@@ -24,8 +24,8 @@ module Gitlab ...@@ -24,8 +24,8 @@ module Gitlab
cannot_push_to_read_only: "You can't push code to a read-only GitLab instance." cannot_push_to_read_only: "You can't push code to a read-only GitLab instance."
}.freeze }.freeze
DOWNLOAD_COMMANDS = %w{ git-upload-pack git-upload-archive }.freeze DOWNLOAD_COMMANDS = %w{git-upload-pack git-upload-archive}.freeze
PUSH_COMMANDS = %w{ git-receive-pack }.freeze PUSH_COMMANDS = %w{git-receive-pack}.freeze
ALL_COMMANDS = DOWNLOAD_COMMANDS + PUSH_COMMANDS ALL_COMMANDS = DOWNLOAD_COMMANDS + PUSH_COMMANDS
attr_reader :actor, :project, :protocol, :authentication_abilities, :namespace_path, :project_path, :redirected_path, :auth_result_type, :changes attr_reader :actor, :project, :protocol, :authentication_abilities, :namespace_path, :project_path, :redirected_path, :auth_result_type, :changes
......
...@@ -3,7 +3,7 @@ module Gitlab ...@@ -3,7 +3,7 @@ module Gitlab
ALLOWED_SCHEMES = %w[http https ssh git].freeze ALLOWED_SCHEMES = %w[http https ssh git].freeze
def self.sanitize(content) def self.sanitize(content)
regexp = URI::Parser.new.make_regexp(ALLOWED_SCHEMES) regexp = URI::DEFAULT_PARSER.make_regexp(ALLOWED_SCHEMES)
content.gsub(regexp) { |url| new(url).masked_url } content.gsub(regexp) { |url| new(url).masked_url }
rescue Addressable::URI::InvalidURIError rescue Addressable::URI::InvalidURIError
......
FactoryBot.define do FactoryBot.define do
factory :broadcast_message do factory :broadcast_message do
message "MyText" message "MyText"
starts_at 1.day.ago starts_at { 1.day.ago }
ends_at 1.day.from_now ends_at { 1.day.from_now }
trait :expired do trait :expired do
starts_at 5.days.ago starts_at { 5.days.ago }
ends_at 3.days.ago ends_at { 3.days.ago }
end end
trait :future do trait :future do
starts_at 5.days.from_now starts_at { 5.days.from_now }
ends_at 6.days.from_now ends_at { 6.days.from_now }
end end
end end
end end
...@@ -159,12 +159,12 @@ FactoryBot.define do ...@@ -159,12 +159,12 @@ FactoryBot.define do
end end
trait :erased do trait :erased do
erased_at Time.now erased_at { Time.now }
erased_by factory: :user erased_by factory: :user
end end
trait :queued do trait :queued do
queued_at Time.now queued_at { Time.now }
runner factory: :ci_runner runner factory: :ci_runner
end end
...@@ -194,7 +194,7 @@ FactoryBot.define do ...@@ -194,7 +194,7 @@ FactoryBot.define do
end end
trait :expired do trait :expired do
artifacts_expire_at 1.minute.ago artifacts_expire_at { 1.minute.ago }
end end
trait :with_commit do trait :with_commit do
......
...@@ -9,7 +9,7 @@ FactoryBot.define do ...@@ -9,7 +9,7 @@ FactoryBot.define do
runner_type :instance_type runner_type :instance_type
trait :online do trait :online do
contacted_at Time.now contacted_at { Time.now }
end end
trait :instance do trait :instance do
......
...@@ -42,7 +42,7 @@ FactoryBot.define do ...@@ -42,7 +42,7 @@ FactoryBot.define do
trait :timeouted do trait :timeouted do
installing installing
updated_at ClusterWaitForAppInstallationWorker::TIMEOUT.ago updated_at { ClusterWaitForAppInstallationWorker::TIMEOUT.ago }
end end
factory :clusters_applications_ingress, class: Clusters::Applications::Ingress do factory :clusters_applications_ingress, class: Clusters::Applications::Ingress do
......
...@@ -3,11 +3,10 @@ FactoryBot.define do ...@@ -3,11 +3,10 @@ FactoryBot.define do
cluster cluster
namespace nil namespace nil
api_url 'https://kubernetes.example.com' api_url 'https://kubernetes.example.com'
token 'a' * 40 token { 'a' * 40 }
trait :configured do trait :configured do
api_url 'https://kubernetes.example.com' api_url 'https://kubernetes.example.com'
token 'a' * 40
username 'xxxxxx' username 'xxxxxx'
password 'xxxxxx' password 'xxxxxx'
......
...@@ -3,7 +3,7 @@ FactoryBot.define do ...@@ -3,7 +3,7 @@ FactoryBot.define do
user user
email { generate(:email_alias) } email { generate(:email_alias) }
trait(:confirmed) { confirmed_at Time.now } trait(:confirmed) { confirmed_at { Time.now } }
trait(:skip_validate) { to_create {|instance| instance.save(validate: false) } } trait(:skip_validate) { to_create {|instance| instance.save(validate: false) } }
end end
end end
...@@ -2,11 +2,11 @@ require_relative '../support/helpers/gpg_helpers' ...@@ -2,11 +2,11 @@ require_relative '../support/helpers/gpg_helpers'
FactoryBot.define do FactoryBot.define do
factory :gpg_key do factory :gpg_key do
key GpgHelpers::User1.public_key key { GpgHelpers::User1.public_key }
user user
factory :gpg_key_with_subkeys do factory :gpg_key_with_subkeys do
key GpgHelpers::User1.public_key_with_extra_signing_key key { GpgHelpers::User1.public_key_with_extra_signing_key }
end end
end end
end end
...@@ -9,7 +9,7 @@ FactoryBot.define do ...@@ -9,7 +9,7 @@ FactoryBot.define do
trait(:developer) { access_level GroupMember::DEVELOPER } trait(:developer) { access_level GroupMember::DEVELOPER }
trait(:maintainer) { access_level GroupMember::MAINTAINER } trait(:maintainer) { access_level GroupMember::MAINTAINER }
trait(:owner) { access_level GroupMember::OWNER } trait(:owner) { access_level GroupMember::OWNER }
trait(:access_request) { requested_at Time.now } trait(:access_request) { requested_at { Time.now } }
trait(:invited) do trait(:invited) do
user_id nil user_id nil
......
...@@ -80,7 +80,7 @@ FactoryBot.define do ...@@ -80,7 +80,7 @@ FactoryBot.define do
trait :merge_when_pipeline_succeeds do trait :merge_when_pipeline_succeeds do
merge_when_pipeline_succeeds true merge_when_pipeline_succeeds true
merge_user author merge_user { author }
end end
trait :remove_source_branch do trait :remove_source_branch do
......
...@@ -90,7 +90,7 @@ FactoryBot.define do ...@@ -90,7 +90,7 @@ FactoryBot.define do
noteable nil noteable nil
noteable_type 'Commit' noteable_type 'Commit'
noteable_id nil noteable_id nil
commit_id RepoHelpers.sample_commit.id commit_id { RepoHelpers.sample_commit.id }
end end
trait :legacy_diff_note do trait :legacy_diff_note do
......
...@@ -3,7 +3,7 @@ FactoryBot.define do ...@@ -3,7 +3,7 @@ FactoryBot.define do
resource_owner_id { create(:user).id } resource_owner_id { create(:user).id }
application application
token { Doorkeeper::OAuth::Helpers::UniqueToken.generate } token { Doorkeeper::OAuth::Helpers::UniqueToken.generate }
expires_in 2.hours expires_in { 2.hours }
redirect_uri { application.redirect_uri } redirect_uri { application.redirect_uri }
scopes { application.scopes } scopes { application.scopes }
......
...@@ -8,7 +8,7 @@ FactoryBot.define do ...@@ -8,7 +8,7 @@ FactoryBot.define do
trait(:reporter) { access_level ProjectMember::REPORTER } trait(:reporter) { access_level ProjectMember::REPORTER }
trait(:developer) { access_level ProjectMember::DEVELOPER } trait(:developer) { access_level ProjectMember::DEVELOPER }
trait(:maintainer) { access_level ProjectMember::MAINTAINER } trait(:maintainer) { access_level ProjectMember::MAINTAINER }
trait(:access_request) { requested_at Time.now } trait(:access_request) { requested_at { Time.now } }
trait(:invited) do trait(:invited) do
user_id nil user_id nil
......
...@@ -49,7 +49,7 @@ FactoryBot.define do ...@@ -49,7 +49,7 @@ FactoryBot.define do
author author
user user
action { Todo::ASSIGNED } action { Todo::ASSIGNED }
commit_id RepoHelpers.sample_commit.id commit_id { RepoHelpers.sample_commit.id }
target_type "Commit" target_type "Commit"
end end
end end
FactoryBot.define do FactoryBot.define do
factory :upload do factory :upload do
model { build(:project) } model { build(:project) }
size 100.kilobytes size { 100.kilobytes }
uploader "AvatarUploader" uploader "AvatarUploader"
mount_point :avatar mount_point :avatar
secret nil secret nil
...@@ -19,13 +19,13 @@ FactoryBot.define do ...@@ -19,13 +19,13 @@ FactoryBot.define do
uploader "PersonalFileUploader" uploader "PersonalFileUploader"
path { File.join(secret, filename) } path { File.join(secret, filename) }
model { build(:personal_snippet) } model { build(:personal_snippet) }
secret SecureRandom.hex secret { SecureRandom.hex }
end end
trait :issuable_upload do trait :issuable_upload do
uploader "FileUploader" uploader "FileUploader"
path { File.join(secret, filename) } path { File.join(secret, filename) }
secret SecureRandom.hex secret { SecureRandom.hex }
end end
trait :with_file do trait :with_file do
...@@ -43,14 +43,14 @@ FactoryBot.define do ...@@ -43,14 +43,14 @@ FactoryBot.define do
model { build(:group) } model { build(:group) }
path { File.join(secret, filename) } path { File.join(secret, filename) }
uploader "NamespaceFileUploader" uploader "NamespaceFileUploader"
secret SecureRandom.hex secret { SecureRandom.hex }
end end
trait :favicon_upload do trait :favicon_upload do
model { build(:appearance) } model { build(:appearance) }
path { File.join(secret, filename) } path { File.join(secret, filename) }
uploader "FaviconUploader" uploader "FaviconUploader"
secret SecureRandom.hex secret { SecureRandom.hex }
end end
trait :attachment_upload do trait :attachment_upload do
......
...@@ -14,7 +14,7 @@ describe 'User uses search filters', :js do ...@@ -14,7 +14,7 @@ describe 'User uses search filters', :js do
visit(search_path) visit(search_path)
end end
context' when filtering by group' do context 'when filtering by group' do
it 'shows group projects' do it 'shows group projects' do
find('.js-search-group-dropdown').click find('.js-search-group-dropdown').click
...@@ -36,7 +36,7 @@ describe 'User uses search filters', :js do ...@@ -36,7 +36,7 @@ describe 'User uses search filters', :js do
end end
end end
context' when filtering by project' do context 'when filtering by project' do
it 'shows a project' do it 'shows a project' do
page.within('.project-filter') do page.within('.project-filter') do
find('.js-search-project-dropdown').click find('.js-search-project-dropdown').click
......
...@@ -191,9 +191,7 @@ describe Gitlab::ImportExport::RelationFactory do ...@@ -191,9 +191,7 @@ describe Gitlab::ImportExport::RelationFactory do
"author" => { "author" => {
"name" => "Administrator" "name" => "Administrator"
}, },
"events" => [ "events" => []
]
} }
end end
......
...@@ -258,10 +258,10 @@ describe 'project routing' do ...@@ -258,10 +258,10 @@ describe 'project routing' do
end end
it 'to #logs_tree' do it 'to #logs_tree' do
expect(get('/gitlab/gitlabhq/refs/stable/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'stable') expect(get('/gitlab/gitlabhq/refs/stable/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'stable')
expect(get('/gitlab/gitlabhq/refs/feature%2345/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45') expect(get('/gitlab/gitlabhq/refs/feature%2345/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45')
expect(get('/gitlab/gitlabhq/refs/feature%2B45/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45') expect(get('/gitlab/gitlabhq/refs/feature%2B45/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45')
expect(get('/gitlab/gitlabhq/refs/feature@45/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature@45') expect(get('/gitlab/gitlabhq/refs/feature@45/logs_tree')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature@45')
expect(get('/gitlab/gitlabhq/refs/stable/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'stable', path: 'foo/bar/baz') expect(get('/gitlab/gitlabhq/refs/stable/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'stable', path: 'foo/bar/baz')
expect(get('/gitlab/gitlabhq/refs/feature%2345/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45', path: 'foo/bar/baz') expect(get('/gitlab/gitlabhq/refs/feature%2345/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature#45', path: 'foo/bar/baz')
expect(get('/gitlab/gitlabhq/refs/feature%2B45/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45', path: 'foo/bar/baz') expect(get('/gitlab/gitlabhq/refs/feature%2B45/logs_tree/foo/bar/baz')).to route_to('projects/refs#logs_tree', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'feature+45', path: 'foo/bar/baz')
......
...@@ -324,7 +324,7 @@ describe SystemNoteService do ...@@ -324,7 +324,7 @@ describe SystemNoteService do
end end
it "posts the 'merge when pipeline succeeds' system note" do it "posts the 'merge when pipeline succeeds' system note" do
expect(subject.note).to eq "canceled the automatic merge" expect(subject.note).to eq "canceled the automatic merge"
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment