diff options
author | Giorgenes Gelatti <ggelatti@gitlab.com> | 2019-07-18 15:24:40 +1000 |
---|---|---|
committer | Nathan Friend <nathan@gitlab.com> | 2019-07-30 13:49:47 -0300 |
commit | 0426d15c080255a97297a2d45fbc4e8c5d119124 (patch) | |
tree | fcdad12725b7e47a7cc32eb305a770111f7dbf23 /spec/controllers/projects | |
parent | 15bda06cab075f2365830a2808836516f6c25590 (diff) | |
download | gitlab-ce-0426d15c080255a97297a2d45fbc4e8c5d119124.tar.gz |
Support bulk registry tag delete
Diffstat (limited to 'spec/controllers/projects')
-rw-r--r-- | spec/controllers/projects/registry/tags_controller_spec.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/controllers/projects/registry/tags_controller_spec.rb b/spec/controllers/projects/registry/tags_controller_spec.rb index ff35139ae2e..c6e063d8229 100644 --- a/spec/controllers/projects/registry/tags_controller_spec.rb +++ b/spec/controllers/projects/registry/tags_controller_spec.rb @@ -113,4 +113,37 @@ describe Projects::Registry::TagsController do format: :json end end + + describe 'POST bulk_destroy' do + context 'when user has access to registry' do + before do + project.add_developer(user) + end + + context 'when there is matching tag present' do + before do + stub_container_registry_tags(repository: repository.path, tags: %w[rc1 test.]) + end + + it 'makes it possible to delete tags in bulk' do + allow_any_instance_of(ContainerRegistry::Tag).to receive(:delete) { |*args| ContainerRegistry::Tag.delete(*args) } + expect(ContainerRegistry::Tag).to receive(:delete).exactly(2).times + + bulk_destroy_tags(['rc1', 'test.']) + end + end + end + + private + + def bulk_destroy_tags(names) + post :bulk_destroy, params: { + namespace_id: project.namespace, + project_id: project, + repository_id: repository, + ids: names + }, + format: :json + end + end end |