Merge branch 'sh-skip-validation-visibility-changed' into 'master'
Only validate project visibility when it has changed Closes #55881 See merge request gitlab-org/gitlab-ce!24142
This commit is contained in:
commit
147f740730
|
@ -330,8 +330,8 @@ class Project < ActiveRecord::Base
|
|||
validates :star_count, numericality: { greater_than_or_equal_to: 0 }
|
||||
validate :check_limit, on: :create
|
||||
validate :check_repository_path_availability, on: :update, if: ->(project) { project.renamed? }
|
||||
validate :visibility_level_allowed_by_group
|
||||
validate :visibility_level_allowed_as_fork
|
||||
validate :visibility_level_allowed_by_group, if: -> { changes.has_key?(:visibility_level) }
|
||||
validate :visibility_level_allowed_as_fork, if: -> { changes.has_key?(:visibility_level) }
|
||||
validate :check_wiki_path_conflict
|
||||
validate :validate_pages_https_only, if: -> { changes.has_key?(:pages_https_only) }
|
||||
validates :repository_storage,
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Only validate project visibility when it has changed
|
||||
merge_request: 24142
|
||||
author:
|
||||
type: fixed
|
|
@ -2963,6 +2963,24 @@ describe Project do
|
|||
end
|
||||
end
|
||||
|
||||
describe '#update' do
|
||||
let(:project) { create(:project) }
|
||||
|
||||
it 'validates the visibility' do
|
||||
expect(project).to receive(:visibility_level_allowed_as_fork).and_call_original
|
||||
expect(project).to receive(:visibility_level_allowed_by_group).and_call_original
|
||||
|
||||
project.update(visibility_level: Gitlab::VisibilityLevel::INTERNAL)
|
||||
end
|
||||
|
||||
it 'does not validate the visibility' do
|
||||
expect(project).not_to receive(:visibility_level_allowed_as_fork).and_call_original
|
||||
expect(project).not_to receive(:visibility_level_allowed_by_group).and_call_original
|
||||
|
||||
project.update(updated_at: Time.now)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#last_repository_updated_at' do
|
||||
it 'sets to created_at upon creation' do
|
||||
project = create(:project, created_at: 2.hours.ago)
|
||||
|
@ -3189,6 +3207,13 @@ describe Project do
|
|||
expect { project.migrate_to_hashed_storage! }.to change { project.repository_read_only }.to(true)
|
||||
end
|
||||
|
||||
it 'does not validate project visibility' do
|
||||
expect(project).not_to receive(:visibility_level_allowed_as_fork)
|
||||
expect(project).not_to receive(:visibility_level_allowed_by_group)
|
||||
|
||||
project.migrate_to_hashed_storage!
|
||||
end
|
||||
|
||||
it 'schedules ProjectMigrateHashedStorageWorker with delayed start when the project repo is in use' do
|
||||
Gitlab::ReferenceCounter.new(project.gl_repository(is_wiki: false)).increase
|
||||
|
||||
|
|
Loading…
Reference in New Issue