diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2016-06-10 14:26:31 +0200 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2016-06-13 11:03:30 +0100 |
commit | 86800bf51aec25eef970eac82838bcba087703f8 (patch) | |
tree | 4012d038222bfbf812181a10c65aca32269ca290 /spec/requests | |
parent | 1501940ee0452f01acc5a228df17928e2f91cf39 (diff) | |
download | gitlab-ce-86800bf51aec25eef970eac82838bcba087703f8.tar.gz |
Support expiration date in CI API when uploading artifacts
Diffstat (limited to 'spec/requests')
-rw-r--r-- | spec/requests/ci/api/builds_spec.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/requests/ci/api/builds_spec.rb b/spec/requests/ci/api/builds_spec.rb index e8508f8f950..dd2ade368f1 100644 --- a/spec/requests/ci/api/builds_spec.rb +++ b/spec/requests/ci/api/builds_spec.rb @@ -364,6 +364,42 @@ describe Ci::API::API do end end + context 'expire date' do + let!(:artifacts) { file_upload } + + let(:post_data) do + { 'file.path' => artifacts.path, + 'file.name' => artifacts.original_filename, + 'expire_in' => expire_in } + end + + before do + post(post_url, post_data, headers_with_token) + end + + context 'updates when specified' do + let(:expire_in) { '7 days' } + + it do + build.reload + expect(response.status).to eq(201) + expect(json_response['artifacts_expire_at']).not_to be_empty + expect(build.artifacts_expire_at).to be_within(5.minutes).of(Time.now + 7.days) + end + end + + context 'ignores if not specified' do + let(:expire_in) { nil } + + it do + build.reload + expect(response.status).to eq(201) + expect(json_response['artifacts_expire_at']).to be_nil + expect(build.artifacts_expire_at).to be_nil + end + end + end + context "artifacts file is too large" do it "should fail to post too large artifact" do stub_application_setting(max_artifacts_size: 0) |