diff options
author | Shinya Maeda <shinya@gitlab.com> | 2018-05-04 20:02:14 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2018-05-04 20:02:14 +0900 |
commit | 8b47980e12887e255146ce155b446d9176586cfe (patch) | |
tree | 46ee88da7dbb429ad356506d6bc80529f5ac96df | |
parent | e1ad8ca6d090df2b1431a9ed58bb51ba92b695d9 (diff) | |
download | gitlab-ce-8b47980e12887e255146ce155b446d9176586cfe.tar.gz |
Clean up "when redis had an outage" context in runner spec
-rw-r--r-- | spec/requests/api/runner_spec.rb | 52 |
1 files changed, 37 insertions, 15 deletions
diff --git a/spec/requests/api/runner_spec.rb b/spec/requests/api/runner_spec.rb index ff23b625244..592256a3acf 100644 --- a/spec/requests/api/runner_spec.rb +++ b/spec/requests/api/runner_spec.rb @@ -867,26 +867,48 @@ describe API::Runner, :clean_gitlab_redis_shared_state do end end - context 'when redis had an outage' do - it "recovers" do - # GitLab-Runner patchs + context 'when trace is patched' do + before do patch_the_trace + end + + it 'has valid trace' do + expect(response.status).to eq(202) expect(job.reload.trace.raw).to eq 'BUILD TRACE appended appended' + end + + context 'when redis data are flushed' do + before do + redis_shared_state_cleanup! + end + + it 'has empty trace' do + expect(job.reload.trace.raw).to eq '' + end - # GitLab-Rails encounters an outage on Redis - redis_shared_state_cleanup! - expect(job.reload.trace.raw).to eq '' + context 'when we perform partial patch' do + before do + patch_the_trace('hello', headers.merge({ 'Content-Range' => "28-32" })) + end - # GitLab-Runner patchs - patch_the_trace('hello', headers.merge({ 'Content-Range' => "28-32" })) - expect(response.status).to eq 202 - expect(response.header).to have_key 'Range' - expect(response.header['Range']).to eq '0-0' - expect(job.reload.trace.raw).to eq '' + it 'returns an error' do + expect(response.status).to eq(202) + expect(response.header).to have_key 'Range' + expect(response.header['Range']).to eq '0-0' + expect(job.reload.trace.raw).to eq '' + end + end - # GitLab-Runner re-patchs - patch_the_trace('BUILD TRACE appended appended hello') - expect(job.reload.trace.raw).to eq 'BUILD TRACE appended appended hello' + context 'when we resend full trace' do + before do + patch_the_trace('BUILD TRACE appended appended hello') + end + + it 'succeeds with updating trace' do + expect(response.status).to eq(202) + expect(job.reload.trace.raw).to eq 'BUILD TRACE appended appended hello' + end + end end end end |