diff options
author | Rémy Coutable <remy@rymai.me> | 2017-07-24 13:47:34 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-07-24 13:47:34 +0300 |
commit | 04bab48e811eac44c4e64b7626823db785977d51 (patch) | |
tree | 73a0d96336fc9f65309ae4d0ab4f447ca0cadfab | |
parent | d384b6a04782d90f2728307be7e92d0923fff524 (diff) | |
parent | 4ad8f12e44b81bb5a07a5365ec0fc5fdba19094e (diff) |
Merge branch 'fix/gb/project-update-with-registry-images' into 'master'
Fix editing project with container images present
Closes #35443
See merge request !13028
-rw-r--r-- | app/services/projects/update_service.rb | 9 | ||||
-rw-r--r-- | changelogs/unreleased/fix-gb-project-update-with-registry-images.yml | 4 | ||||
-rw-r--r-- | spec/services/projects/update_service_spec.rb | 9 |
3 files changed, 20 insertions, 2 deletions
diff --git a/app/services/projects/update_service.rb b/app/services/projects/update_service.rb index 30ca95eef7a..d81035e4eba 100644 --- a/app/services/projects/update_service.rb +++ b/app/services/projects/update_service.rb @@ -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] diff --git a/changelogs/unreleased/fix-gb-project-update-with-registry-images.yml b/changelogs/unreleased/fix-gb-project-update-with-registry-images.yml new file mode 100644 index 00000000000..a54a34c71d4 --- /dev/null +++ b/changelogs/unreleased/fix-gb-project-update-with-registry-images.yml @@ -0,0 +1,4 @@ +--- +title: Fix editing project with container images present +merge_request: 13028 +author: diff --git a/spec/services/projects/update_service_spec.rb b/spec/services/projects/update_service_spec.rb index fd4011ad606..3ee834748df 100644 --- a/spec/services/projects/update_service_spec.rb +++ b/spec/services/projects/update_service_spec.rb @@ -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 |