diff options
Diffstat (limited to 'spec/requests/api/pipelines_spec.rb')
-rw-r--r-- | spec/requests/api/pipelines_spec.rb | 64 |
1 files changed, 33 insertions, 31 deletions
diff --git a/spec/requests/api/pipelines_spec.rb b/spec/requests/api/pipelines_spec.rb index 75e3013d362..6b824690e6c 100644 --- a/spec/requests/api/pipelines_spec.rb +++ b/spec/requests/api/pipelines_spec.rb @@ -23,7 +23,7 @@ describe API::Pipelines do it 'returns project pipelines' do get api("/projects/#{project.id}/pipelines", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(response).to include_pagination_headers expect(json_response).to be_an Array expect(json_response.first['sha']).to match /\A\h{40}\z/ @@ -254,7 +254,9 @@ describe API::Pipelines do context 'when order_by and sort are specified' do context 'when order_by user_id' do before do - create_list(:ci_pipeline, 3, project: project, user: create(:user)) + create_list(:user, 3).each do |some_user| + create(:ci_pipeline, project: project, user: some_user) + end end context 'when sort parameter is valid' do @@ -294,7 +296,7 @@ describe API::Pipelines do it 'does not return project pipelines' do get api("/projects/#{project.id}/pipelines", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq '404 Project Not Found' expect(json_response).not_to be_an Array end @@ -323,7 +325,7 @@ describe API::Pipelines do post api("/projects/#{project.id}/pipeline", user), params: { ref: project.default_branch } end.to change { project.ci_pipelines.count }.by(1) - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response).to be_a Hash expect(json_response['sha']).to eq project.commit.id end @@ -337,7 +339,7 @@ describe API::Pipelines do end.to change { project.ci_pipelines.count }.by(1) expect_variables(project.ci_pipelines.last.variables, variables) - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response).to be_a Hash expect(json_response['sha']).to eq project.commit.id expect(json_response).not_to have_key('variables') @@ -358,7 +360,7 @@ describe API::Pipelines do end.to change { project.ci_pipelines.count }.by(1) expect_variables(project.ci_pipelines.last.variables, variables) - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(json_response).to be_a Hash expect(json_response['sha']).to eq project.commit.id expect(json_response).not_to have_key('variables') @@ -372,7 +374,7 @@ describe API::Pipelines do post api("/projects/#{project.id}/pipeline", user), params: { ref: project.default_branch } end.not_to change { project.ci_pipelines.count } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) end end end @@ -380,7 +382,7 @@ describe API::Pipelines do it 'fails when using an invalid ref' do post api("/projects/#{project.id}/pipeline", user), params: { ref: 'invalid_ref' } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']['base'].first).to eq 'Reference not found' expect(json_response).not_to be_an Array end @@ -395,7 +397,7 @@ describe API::Pipelines do it 'fails to create pipeline' do post api("/projects/#{project.id}/pipeline", user), params: { ref: project.default_branch } - expect(response).to have_gitlab_http_status(400) + expect(response).to have_gitlab_http_status(:bad_request) expect(json_response['message']['base'].first).to eq 'Missing CI config file' expect(json_response).not_to be_an Array end @@ -407,7 +409,7 @@ describe API::Pipelines do it 'does not create pipeline' do post api("/projects/#{project.id}/pipeline", non_member), params: { ref: project.default_branch } - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq '404 Project Not Found' expect(json_response).not_to be_an Array end @@ -428,21 +430,21 @@ describe API::Pipelines do it 'exposes known attributes' do get api("/projects/#{project.id}/pipelines/#{pipeline.id}", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('public_api/v4/pipeline/detail') end it 'returns project pipelines' do get api("/projects/#{project.id}/pipelines/#{pipeline.id}", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['sha']).to match /\A\h{40}\z/ end it 'returns 404 when it does not exist' do get api("/projects/#{project.id}/pipelines/123456", user) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq '404 Not found' expect(json_response['id']).to be nil end @@ -464,7 +466,7 @@ describe API::Pipelines do it 'does not return a project pipeline' do get api("/projects/#{project.id}/pipelines/#{pipeline.id}", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq '404 Project Not Found' expect(json_response['id']).to be nil end @@ -489,7 +491,7 @@ describe API::Pipelines do it 'gets the latest pipleine' do get api("/projects/#{project.id}/pipelines/latest", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('public_api/v4/pipeline/detail') expect(json_response['ref']).to eq(project.default_branch) expect(json_response['sha']).to eq(project.commit.id) @@ -500,7 +502,7 @@ describe API::Pipelines do it 'gets the latest pipleine' do get api("/projects/#{project.id}/pipelines/latest", user), params: { ref: second_branch.name } - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(response).to match_response_schema('public_api/v4/pipeline/detail') expect(json_response['ref']).to eq(second_branch.name) expect(json_response['sha']).to eq(second_branch.target) @@ -512,7 +514,7 @@ describe API::Pipelines do it 'does not return a project pipeline' do get api("/projects/#{project.id}/pipelines/#{pipeline.id}", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq '404 Project Not Found' expect(json_response['id']).to be nil end @@ -528,7 +530,7 @@ describe API::Pipelines do it 'returns pipeline variables empty' do subject - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response).to be_empty end @@ -538,7 +540,7 @@ describe API::Pipelines do it 'returns pipeline variables' do subject - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response).to contain_exactly({ "variable_type" => "env_var", "key" => "foo", "value" => "bar" }) end end @@ -559,7 +561,7 @@ describe API::Pipelines do it 'returns pipeline variables' do subject - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response).to contain_exactly({ "variable_type" => "env_var", "key" => "foo", "value" => "bar" }) end end @@ -570,7 +572,7 @@ describe API::Pipelines do it 'does not return pipeline variables' do subject - expect(response).to have_gitlab_http_status(403) + expect(response).to have_gitlab_http_status(:forbidden) end end end @@ -579,7 +581,7 @@ describe API::Pipelines do it 'does not return pipeline variables' do get api("/projects/#{project.id}/pipelines/#{pipeline.id}/variables", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq '404 Project Not Found' end end @@ -592,14 +594,14 @@ describe API::Pipelines do it 'destroys the pipeline' do delete api("/projects/#{project.id}/pipelines/#{pipeline.id}", owner) - expect(response).to have_gitlab_http_status(204) + expect(response).to have_gitlab_http_status(:no_content) expect { pipeline.reload }.to raise_error(ActiveRecord::RecordNotFound) end it 'returns 404 when it does not exist' do delete api("/projects/#{project.id}/pipelines/123456", owner) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq '404 Not found' end @@ -613,7 +615,7 @@ describe API::Pipelines do it 'destroys associated jobs' do delete api("/projects/#{project.id}/pipelines/#{pipeline.id}", owner) - expect(response).to have_gitlab_http_status(204) + expect(response).to have_gitlab_http_status(:no_content) expect { build.reload }.to raise_error(ActiveRecord::RecordNotFound) end end @@ -624,7 +626,7 @@ describe API::Pipelines do it 'returns a 404' do delete api("/projects/#{project.id}/pipelines/#{pipeline.id}", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq '404 Project Not Found' end end @@ -639,7 +641,7 @@ describe API::Pipelines do it 'returns a 403' do delete api("/projects/#{project.id}/pipelines/#{pipeline.id}", developer) - expect(response).to have_gitlab_http_status(403) + expect(response).to have_gitlab_http_status(:forbidden) expect(json_response['message']).to eq '403 Forbidden' end end @@ -660,7 +662,7 @@ describe API::Pipelines do post api("/projects/#{project.id}/pipelines/#{pipeline.id}/retry", user) end.to change { pipeline.builds.count }.from(1).to(2) - expect(response).to have_gitlab_http_status(201) + expect(response).to have_gitlab_http_status(:created) expect(build.reload.retried?).to be true end end @@ -669,7 +671,7 @@ describe API::Pipelines do it 'does not return a project pipeline' do post api("/projects/#{project.id}/pipelines/#{pipeline.id}/retry", non_member) - expect(response).to have_gitlab_http_status(404) + expect(response).to have_gitlab_http_status(:not_found) expect(json_response['message']).to eq '404 Project Not Found' expect(json_response['id']).to be nil end @@ -688,7 +690,7 @@ describe API::Pipelines do it 'retries failed builds', :sidekiq_might_not_need_inline do post api("/projects/#{project.id}/pipelines/#{pipeline.id}/cancel", user) - expect(response).to have_gitlab_http_status(200) + expect(response).to have_gitlab_http_status(:ok) expect(json_response['status']).to eq('canceled') end end @@ -703,7 +705,7 @@ describe API::Pipelines do it 'rejects the action' do post api("/projects/#{project.id}/pipelines/#{pipeline.id}/cancel", reporter) - expect(response).to have_gitlab_http_status(403) + expect(response).to have_gitlab_http_status(:forbidden) expect(pipeline.reload.status).to eq('pending') end end |