diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 21:25:58 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 21:25:58 +0300 |
commit | a5f4bba440d7f9ea47046a0a561d49adf0a1e6d4 (patch) | |
tree | fb69158581673816a8cd895f9d352dcb3c678b1e /spec/services/ci/update_build_state_service_spec.rb | |
parent | d16b2e8639e99961de6ddc93909f3bb5c1445ba1 (diff) |
Add latest changes from gitlab-org/gitlab@14-0-stable-eev14.0.0-rc42
Diffstat (limited to 'spec/services/ci/update_build_state_service_spec.rb')
-rw-r--r-- | spec/services/ci/update_build_state_service_spec.rb | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/spec/services/ci/update_build_state_service_spec.rb b/spec/services/ci/update_build_state_service_spec.rb index 63190cc5d49..5bb3843da8f 100644 --- a/spec/services/ci/update_build_state_service_spec.rb +++ b/spec/services/ci/update_build_state_service_spec.rb @@ -3,8 +3,9 @@ require 'spec_helper' RSpec.describe Ci::UpdateBuildStateService do - let(:project) { create(:project) } - let(:pipeline) { create(:ci_pipeline, project: project) } + let_it_be(:project) { create(:project) } + let_it_be(:pipeline) { create(:ci_pipeline, project: project) } + let(:build) { create(:ci_build, :running, pipeline: pipeline) } let(:metrics) { spy('metrics') } @@ -14,6 +15,24 @@ RSpec.describe Ci::UpdateBuildStateService do stub_feature_flags(ci_enable_live_trace: true) end + context 'when build has unknown failure reason' do + let(:params) do + { + output: { checksum: 'crc32:12345678', bytesize: 123 }, + state: 'failed', + failure_reason: 'no idea here', + exit_code: 42 + } + end + + it 'updates a build status' do + result = subject.execute + + expect(build).to be_failed + expect(result.status).to eq 200 + end + end + context 'when build does not have checksum' do context 'when state has changed' do let(:params) { { state: 'success' } } @@ -47,25 +66,6 @@ RSpec.describe Ci::UpdateBuildStateService do end end - context 'when request payload carries a trace' do - let(:params) { { state: 'success', trace: 'overwritten' } } - - it 'overwrites a trace' do - result = subject.execute - - expect(build.trace.raw).to eq 'overwritten' - expect(result.status).to eq 200 - end - - it 'updates overwrite operation metric' do - execute_with_stubbed_metrics! - - expect(metrics) - .to have_received(:increment_trace_operation) - .with(operation: :overwrite) - end - end - context 'when state is unknown' do let(:params) { { state: 'unknown' } } |