diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-02 21:08:01 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-02 21:08:01 +0000 |
commit | 561e1b470f0a99fe6304c8f197348c47a637d594 (patch) | |
tree | 6b361b6b0b412b70450aca167079c50a13bd88d8 /spec/requests/api/project_container_repositories_spec.rb | |
parent | 7b52c7cb634ef7047d30b0337fe477bcdcedf41d (diff) | |
download | gitlab-ce-561e1b470f0a99fe6304c8f197348c47a637d594.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/requests/api/project_container_repositories_spec.rb')
-rw-r--r-- | spec/requests/api/project_container_repositories_spec.rb | 55 |
1 files changed, 52 insertions, 3 deletions
diff --git a/spec/requests/api/project_container_repositories_spec.rb b/spec/requests/api/project_container_repositories_spec.rb index 1854d4db920..91905635c3f 100644 --- a/spec/requests/api/project_container_repositories_spec.rb +++ b/spec/requests/api/project_container_repositories_spec.rb @@ -109,7 +109,7 @@ describe API::ProjectContainerRepositories do context 'disallowed' do let(:params) do - { name_regex: 'v10.*' } + { name_regex_delete: 'v10.*' } end it_behaves_like 'rejected container repository access', :developer, :forbidden @@ -130,16 +130,33 @@ describe API::ProjectContainerRepositories do end end + context 'without name_regex' do + let(:params) do + { keep_n: 100, + older_than: '1 day', + other: 'some value' } + end + + it 'returns bad request' do + subject + + expect(response).to have_gitlab_http_status(:bad_request) + end + end + context 'passes all declared parameters' do let(:params) do - { name_regex: 'v10.*', + { name_regex_delete: 'v10.*', + name_regex_keep: 'v10.1.*', keep_n: 100, older_than: '1 day', other: 'some value' } end let(:worker_params) do - { name_regex: 'v10.*', + { name_regex: nil, + name_regex_delete: 'v10.*', + name_regex_keep: 'v10.1.*', keep_n: 100, older_than: '1 day', container_expiration_policy: false } @@ -174,6 +191,38 @@ describe API::ProjectContainerRepositories do end end end + + context 'with deprecated name_regex param' do + let(:params) do + { name_regex: 'v10.*', + name_regex_keep: 'v10.1.*', + keep_n: 100, + older_than: '1 day', + other: 'some value' } + end + + let(:worker_params) do + { name_regex: 'v10.*', + name_regex_delete: nil, + name_regex_keep: 'v10.1.*', + keep_n: 100, + older_than: '1 day', + container_expiration_policy: false } + end + + let(:lease_key) { "container_repository:cleanup_tags:#{root_repository.id}" } + + it 'schedules cleanup of tags repository' do + stub_last_activity_update + stub_exclusive_lease(lease_key, timeout: 1.hour) + expect(CleanupContainerRepositoryWorker).to receive(:perform_async) + .with(maintainer.id, root_repository.id, worker_params) + + subject + + expect(response).to have_gitlab_http_status(:accepted) + end + end end end |