Clean up "when redis had an outage" context in runner spec

This commit is contained in:
Shinya Maeda 2018-05-04 20:02:14 +09:00
parent e1ad8ca6d0
commit 8b47980e12

View file

@ -867,29 +867,51 @@ describe API::Runner, :clean_gitlab_redis_shared_state do
end end
end end
context 'when redis had an outage' do context 'when trace is patched' do
it "recovers" do before do
# GitLab-Runner patchs
patch_the_trace 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' expect(job.reload.trace.raw).to eq 'BUILD TRACE appended appended'
end
# GitLab-Rails encounters an outage on Redis context 'when redis data are flushed' do
before do
redis_shared_state_cleanup! redis_shared_state_cleanup!
expect(job.reload.trace.raw).to eq '' end
# GitLab-Runner patchs it 'has empty trace' do
expect(job.reload.trace.raw).to eq ''
end
context 'when we perform partial patch' do
before do
patch_the_trace('hello', headers.merge({ 'Content-Range' => "28-32" })) patch_the_trace('hello', headers.merge({ 'Content-Range' => "28-32" }))
expect(response.status).to eq 202 end
it 'returns an error' do
expect(response.status).to eq(202)
expect(response.header).to have_key 'Range' expect(response.header).to have_key 'Range'
expect(response.header['Range']).to eq '0-0' expect(response.header['Range']).to eq '0-0'
expect(job.reload.trace.raw).to eq '' expect(job.reload.trace.raw).to eq ''
end
end
# GitLab-Runner re-patchs context 'when we resend full trace' do
before do
patch_the_trace('BUILD TRACE appended appended hello') 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' expect(job.reload.trace.raw).to eq 'BUILD TRACE appended appended hello'
end end
end end
end end
end
end
context 'when Runner makes a force-patch' do context 'when Runner makes a force-patch' do
before do before do