Merge branch 'fix/gb/project-update-with-registry-images' into 'master'

Fix editing project with container images present

Closes #35443

See merge request !13028
This commit is contained in:
Rémy Coutable 2017-07-24 10:47:34 +00:00
commit 04bab48e81
3 changed files with 20 additions and 2 deletions

View file

@ -5,7 +5,7 @@ module Projects
return error('New visibility level not allowed!')
end
if project.has_container_registry_tags?
if renaming_project_with_container_registry_tags?
return error('Cannot rename project because it contains container registry tags!')
end
@ -44,6 +44,13 @@ module Projects
true
end
def renaming_project_with_container_registry_tags?
new_path = params[:path]
new_path && new_path != project.path &&
project.has_container_registry_tags?
end
def changing_default_branch?
new_branch = params[:default_branch]

View file

@ -0,0 +1,4 @@
---
title: Fix editing project with container images present
merge_request: 13028
author:

View file

@ -103,7 +103,7 @@ describe Projects::UpdateService, '#execute', :services do
end
end
context 'when renaming project that contains container images' do
context 'when updating a project that contains container images' do
before do
stub_container_registry_config(enabled: true)
stub_container_registry_tags(repository: /image/, tags: %w[rc1])
@ -116,6 +116,13 @@ describe Projects::UpdateService, '#execute', :services do
expect(result).to include(status: :error)
expect(result[:message]).to match(/contains container registry tags/)
end
it 'allows to update other settings' do
result = update_project(project, admin, public_builds: true)
expect(result[:status]).to eq :success
expect(project.reload.public_builds).to be true
end
end
context 'when passing invalid parameters' do