Fix editing project with container images present
This commit is contained in:
parent
d384b6a047
commit
4ad8f12e44
|
@ -5,7 +5,7 @@ module Projects
|
||||||
return error('New visibility level not allowed!')
|
return error('New visibility level not allowed!')
|
||||||
end
|
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!')
|
return error('Cannot rename project because it contains container registry tags!')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -44,6 +44,13 @@ module Projects
|
||||||
true
|
true
|
||||||
end
|
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?
|
def changing_default_branch?
|
||||||
new_branch = params[:default_branch]
|
new_branch = params[:default_branch]
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: Fix editing project with container images present
|
||||||
|
merge_request: 13028
|
||||||
|
author:
|
|
@ -103,7 +103,7 @@ describe Projects::UpdateService, '#execute', :services do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when renaming project that contains container images' do
|
context 'when updating a project that contains container images' do
|
||||||
before do
|
before do
|
||||||
stub_container_registry_config(enabled: true)
|
stub_container_registry_config(enabled: true)
|
||||||
stub_container_registry_tags(repository: /image/, tags: %w[rc1])
|
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).to include(status: :error)
|
||||||
expect(result[:message]).to match(/contains container registry tags/)
|
expect(result[:message]).to match(/contains container registry tags/)
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
context 'when passing invalid parameters' do
|
context 'when passing invalid parameters' do
|
||||||
|
|
Loading…
Reference in New Issue