summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2017-07-24 10:47:33 +0000
committerRémy Coutable <remy@rymai.me>2017-07-24 10:47:33 +0000
commit4ad8f12e44b81bb5a07a5365ec0fc5fdba19094e (patch)
tree73a0d96336fc9f65309ae4d0ab4f447ca0cadfab
parentd384b6a04782d90f2728307be7e92d0923fff524 (diff)
downloadgitlab-ce-4ad8f12e44b81bb5a07a5365ec0fc5fdba19094e.tar.gz
Fix editing project with container images present
-rw-r--r--app/services/projects/update_service.rb9
-rw-r--r--changelogs/unreleased/fix-gb-project-update-with-registry-images.yml4
-rw-r--r--spec/services/projects/update_service_spec.rb9
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