diff options
Diffstat (limited to 'spec/requests/api/ci/runner/jobs_put_spec.rb')
-rw-r--r-- | spec/requests/api/ci/runner/jobs_put_spec.rb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/spec/requests/api/ci/runner/jobs_put_spec.rb b/spec/requests/api/ci/runner/jobs_put_spec.rb index b5d2c4608c5..3d5021fba08 100644 --- a/spec/requests/api/ci/runner/jobs_put_spec.rb +++ b/spec/requests/api/ci/runner/jobs_put_spec.rb @@ -36,7 +36,7 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do job.run! end - it_behaves_like 'API::CI::Runner application context metadata', '/api/:version/jobs/:id' do + it_behaves_like 'API::CI::Runner application context metadata', 'PUT /api/:version/jobs/:id' do let(:send_request) { update_job(state: 'success') } end @@ -278,14 +278,22 @@ RSpec.describe API::Ci::Runner, :clean_gitlab_redis_shared_state do end end - def update_job(token = job.token, **params) + context 'when job does not exist anymore' do + it 'returns 403 Forbidden' do + update_job(non_existing_record_id, state: 'success', trace: 'BUILD TRACE UPDATED') + + expect(response).to have_gitlab_http_status(:forbidden) + end + end + + def update_job(job_id = job.id, token = job.token, **params) new_params = params.merge(token: token) - put api("/jobs/#{job.id}"), params: new_params + put api("/jobs/#{job_id}"), params: new_params end def update_job_after_time(update_interval = 20.minutes, state = 'running') travel_to(job.updated_at + update_interval) do - update_job(job.token, state: state) + update_job(job.id, job.token, state: state) end end end |