Commit 1d6bb047 authored by Peter Leitzen's avatar Peter Leitzen

Add http status cop to subfolders of api specs

243 files inspected, 232 offenses detected, 232 offenses corrected
parent 22f6af08
...@@ -345,6 +345,8 @@ RSpec/HaveGitlabHttpStatus: ...@@ -345,6 +345,8 @@ RSpec/HaveGitlabHttpStatus:
- 'ee/spec/controllers/**/*' - 'ee/spec/controllers/**/*'
- 'spec/requests/*.rb' - 'spec/requests/*.rb'
- 'ee/spec/requests/*.rb' - 'ee/spec/requests/*.rb'
- 'spec/requests/api/*/**/*.rb'
- 'ee/spec/requests/api/*/**/*.rb'
Style/MultilineWhenThen: Style/MultilineWhenThen:
Enabled: false Enabled: false
......
...@@ -50,7 +50,7 @@ describe 'Epics through GroupQuery' do ...@@ -50,7 +50,7 @@ describe 'Epics through GroupQuery' do
it_behaves_like 'a working graphql query' it_behaves_like 'a working graphql query'
it 'returns epics successfully' do it 'returns epics successfully' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(graphql_errors).to be_nil expect(graphql_errors).to be_nil
expect(epic_node_array('id').first).to eq epic.to_global_id.to_s expect(epic_node_array('id').first).to eq epic.to_global_id.to_s
expect(graphql_data['group']['epicsEnabled']).to be_truthy expect(graphql_data['group']['epicsEnabled']).to be_truthy
......
...@@ -59,7 +59,7 @@ describe 'Timelogs through GroupQuery' do ...@@ -59,7 +59,7 @@ describe 'Timelogs through GroupQuery' do
it_behaves_like 'a working graphql query' it_behaves_like 'a working graphql query'
it 'returns timelogs successfully' do it 'returns timelogs successfully' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(graphql_errors).to be_nil expect(graphql_errors).to be_nil
expect(node_array.size).to eq 1 expect(node_array.size).to eq 1
expect(graphql_data['group']['groupTimelogsEnabled']).to be_truthy expect(graphql_data['group']['groupTimelogsEnabled']).to be_truthy
......
...@@ -31,7 +31,7 @@ describe 'getting group information' do ...@@ -31,7 +31,7 @@ describe 'getting group information' do
it 'allows access via session' do it 'allows access via session' do
post_graphql(group_query(group), current_user: user) post_graphql(group_query(group), current_user: user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(graphql_data['group']['id']).to eq(group.to_global_id.to_s) expect(graphql_data['group']['id']).to eq(group.to_global_id.to_s)
end end
...@@ -39,7 +39,7 @@ describe 'getting group information' do ...@@ -39,7 +39,7 @@ describe 'getting group information' do
token = create(:personal_access_token, user: user).token token = create(:personal_access_token, user: user).token
post_graphql(group_query(group), headers: { 'Authorization' => "Bearer #{token}" }) post_graphql(group_query(group), headers: { 'Authorization' => "Bearer #{token}" })
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(graphql_data['group']['id']).to eq(group.to_global_id.to_s) expect(graphql_data['group']['id']).to eq(group.to_global_id.to_s)
end end
end end
......
...@@ -55,7 +55,7 @@ describe API::Internal::Base do ...@@ -55,7 +55,7 @@ describe API::Internal::Base do
it 'includes current Geo secondary lag in the output' do it 'includes current Geo secondary lag in the output' do
post api('/internal/post_receive'), params: valid_params post api('/internal/post_receive'), params: valid_params
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['messages']).to include({ expect(json_response['messages']).to include({
'type' => 'basic', 'type' => 'basic',
'message' => "Current replication lag: 17 seconds" 'message' => "Current replication lag: 17 seconds"
...@@ -69,7 +69,7 @@ describe API::Internal::Base do ...@@ -69,7 +69,7 @@ describe API::Internal::Base do
it 'does not include current Geo secondary lag in the output' do it 'does not include current Geo secondary lag in the output' do
post api('/internal/post_receive'), params: valid_params post api('/internal/post_receive'), params: valid_params
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['messages']).not_to include({ 'message' => a_string_matching('replication lag'), 'type' => anything }) expect(json_response['messages']).not_to include({ 'message' => a_string_matching('replication lag'), 'type' => anything })
end end
end end
...@@ -80,7 +80,7 @@ describe API::Internal::Base do ...@@ -80,7 +80,7 @@ describe API::Internal::Base do
it 'does not include current Geo secondary lag in the output' do it 'does not include current Geo secondary lag in the output' do
post api('/internal/post_receive'), params: valid_params post api('/internal/post_receive'), params: valid_params
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['messages']).not_to include({ 'message' => a_string_matching('replication lag'), 'type' => anything }) expect(json_response['messages']).not_to include({ 'message' => a_string_matching('replication lag'), 'type' => anything })
end end
end end
...@@ -90,7 +90,7 @@ describe API::Internal::Base do ...@@ -90,7 +90,7 @@ describe API::Internal::Base do
it 'does not include current Geo secondary lag in the output' do it 'does not include current Geo secondary lag in the output' do
post api('/internal/post_receive'), params: valid_params post api('/internal/post_receive'), params: valid_params
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['messages']).not_to include({ 'message' => a_string_matching('replication lag'), 'type' => anything }) expect(json_response['messages']).not_to include({ 'message' => a_string_matching('replication lag'), 'type' => anything })
end end
end end
...@@ -105,7 +105,7 @@ describe API::Internal::Base do ...@@ -105,7 +105,7 @@ describe API::Internal::Base do
it 'does not include current Geo secondary lag in the output' do it 'does not include current Geo secondary lag in the output' do
post api('/internal/post_receive'), params: valid_params post api('/internal/post_receive'), params: valid_params
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['messages']).not_to include({ 'message' => a_string_matching('replication lag'), 'type' => anything }) expect(json_response['messages']).not_to include({ 'message' => a_string_matching('replication lag'), 'type' => anything })
end end
end end
...@@ -130,7 +130,7 @@ describe API::Internal::Base do ...@@ -130,7 +130,7 @@ describe API::Internal::Base do
protocol: 'ssh' protocol: 'ssh'
}) })
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
...@@ -158,7 +158,7 @@ describe API::Internal::Base do ...@@ -158,7 +158,7 @@ describe API::Internal::Base do
end end
it "does not allow access because project can't be found" do it "does not allow access because project can't be found" do
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
end end
...@@ -174,7 +174,7 @@ describe API::Internal::Base do ...@@ -174,7 +174,7 @@ describe API::Internal::Base do
end end
it "allows access" do it "allows access" do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
end end
...@@ -184,7 +184,7 @@ describe API::Internal::Base do ...@@ -184,7 +184,7 @@ describe API::Internal::Base do
end end
it "does not allow access because project can't be found" do it "does not allow access because project can't be found" do
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
end end
...@@ -227,7 +227,7 @@ describe API::Internal::Base do ...@@ -227,7 +227,7 @@ describe API::Internal::Base do
it "allows access" do it "allows access" do
subject subject
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
end end
...@@ -235,7 +235,7 @@ describe API::Internal::Base do ...@@ -235,7 +235,7 @@ describe API::Internal::Base do
it "does not allow access" do it "does not allow access" do
subject subject
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
expect(json_response['message']).to eql('Project requires smartcard login. Please login to GitLab using a smartcard.') expect(json_response['message']).to eql('Project requires smartcard login. Please login to GitLab using a smartcard.')
end end
end end
...@@ -248,7 +248,7 @@ describe API::Internal::Base do ...@@ -248,7 +248,7 @@ describe API::Internal::Base do
it "allows access" do it "allows access" do
subject subject
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
end end
end end
...@@ -318,7 +318,7 @@ describe API::Internal::Base do ...@@ -318,7 +318,7 @@ describe API::Internal::Base do
lfs_auth_user(user.id, project) lfs_auth_user(user.id, project)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['repository_http_path']).to eq(geo_primary_http_url_to_repo(project)) expect(json_response['repository_http_path']).to eq(geo_primary_http_url_to_repo(project))
end end
end end
......
This diff is collapsed.
...@@ -29,7 +29,7 @@ describe 'Milestones through GroupQuery' do ...@@ -29,7 +29,7 @@ describe 'Milestones through GroupQuery' do
it_behaves_like 'a working graphql query' it_behaves_like 'a working graphql query'
it 'returns milestones successfully' do it 'returns milestones successfully' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(graphql_errors).to be_nil expect(graphql_errors).to be_nil
expect_array_response(milestone_1.to_global_id.to_s, milestone_2.to_global_id.to_s, milestone_3.to_global_id.to_s, milestone_4.to_global_id.to_s) expect_array_response(milestone_1.to_global_id.to_s, milestone_2.to_global_id.to_s, milestone_3.to_global_id.to_s, milestone_4.to_global_id.to_s)
end end
......
...@@ -55,7 +55,7 @@ describe 'getting group information' do ...@@ -55,7 +55,7 @@ describe 'getting group information' do
post_graphql(group_query(group1), current_user: user1) post_graphql(group_query(group1), current_user: user1)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(graphql_data['group']['id']).to eq(group1.to_global_id.to_s) expect(graphql_data['group']['id']).to eq(group1.to_global_id.to_s)
expect(graphql_data['group']['name']).to eq(group1.name) expect(graphql_data['group']['name']).to eq(group1.name)
expect(graphql_data['group']['path']).to eq(group1.path) expect(graphql_data['group']['path']).to eq(group1.path)
......
...@@ -33,7 +33,7 @@ describe 'getting task completion status information' do ...@@ -33,7 +33,7 @@ describe 'getting task completion status information' do
it 'returns the expected task completion status' do it 'returns the expected task completion status' do
post_graphql(create_task_completion_status_query_for(type, item.iid), current_user: user1) post_graphql(create_task_completion_status_query_for(type, item.iid), current_user: user1)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
task_completion_status = graphql_data.dig('project', type, 'taskCompletionStatus') task_completion_status = graphql_data.dig('project', type, 'taskCompletionStatus')
expect(task_completion_status).not_to be_nil expect(task_completion_status).not_to be_nil
......
This diff is collapsed.
...@@ -22,7 +22,7 @@ describe API::Internal::Pages do ...@@ -22,7 +22,7 @@ describe API::Internal::Pages do
it 'responds with 404 Not Found' do it 'responds with 404 Not Found' do
query_host('pages.gitlab.io') query_host('pages.gitlab.io')
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
...@@ -31,7 +31,7 @@ describe API::Internal::Pages do ...@@ -31,7 +31,7 @@ describe API::Internal::Pages do
it 'responds with 401 Unauthorized' do it 'responds with 401 Unauthorized' do
query_host('pages.gitlab.io') query_host('pages.gitlab.io')
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
...@@ -51,7 +51,7 @@ describe API::Internal::Pages do ...@@ -51,7 +51,7 @@ describe API::Internal::Pages do
it 'responds with 204 no content' do it 'responds with 204 no content' do
query_host('pages.gitlab.io') query_host('pages.gitlab.io')
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
expect(response.body).to be_empty expect(response.body).to be_empty
end end
end end
...@@ -65,7 +65,7 @@ describe API::Internal::Pages do ...@@ -65,7 +65,7 @@ describe API::Internal::Pages do
it 'responds with 204 No Content' do it 'responds with 204 No Content' do
query_host('pages.gitlab.io') query_host('pages.gitlab.io')
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end end
end end
...@@ -75,7 +75,7 @@ describe API::Internal::Pages do ...@@ -75,7 +75,7 @@ describe API::Internal::Pages do
query_host('pages.gitlab.io') query_host('pages.gitlab.io')
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to match_response_schema('internal/pages/virtual_domain') expect(response).to match_response_schema('internal/pages/virtual_domain')
expect(json_response['certificate']).to eq(pages_domain.certificate) expect(json_response['certificate']).to eq(pages_domain.certificate)
...@@ -114,7 +114,7 @@ describe API::Internal::Pages do ...@@ -114,7 +114,7 @@ describe API::Internal::Pages do
query_host('mygroup.gitlab-pages.io') query_host('mygroup.gitlab-pages.io')
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to match_response_schema('internal/pages/virtual_domain') expect(response).to match_response_schema('internal/pages/virtual_domain')
expect(json_response['lookup_paths']).to eq( expect(json_response['lookup_paths']).to eq(
...@@ -141,7 +141,7 @@ describe API::Internal::Pages do ...@@ -141,7 +141,7 @@ describe API::Internal::Pages do
query_host('mygroup.gitlab-pages.io') query_host('mygroup.gitlab-pages.io')
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to match_response_schema('internal/pages/virtual_domain') expect(response).to match_response_schema('internal/pages/virtual_domain')
expect(json_response['lookup_paths']).to eq( expect(json_response['lookup_paths']).to eq(
......
...@@ -74,7 +74,7 @@ describe API::Issues do ...@@ -74,7 +74,7 @@ describe API::Issues do
it 'returns issues statistics' do it 'returns issues statistics' do
get api("/groups/#{group.id}/issues_statistics", user), params: params get api("/groups/#{group.id}/issues_statistics", user), params: params
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['statistics']).not_to be_nil expect(json_response['statistics']).not_to be_nil
expect(json_response['statistics']['counts']['all']).to eq counts[:all] expect(json_response['statistics']['counts']['all']).to eq counts[:all]
expect(json_response['statistics']['counts']['closed']).to eq counts[:closed] expect(json_response['statistics']['counts']['closed']).to eq counts[:closed]
...@@ -345,7 +345,7 @@ describe API::Issues do ...@@ -345,7 +345,7 @@ describe API::Issues do
it 'exposes known attributes' do it 'exposes known attributes' do
get api(base_url, admin) get api(base_url, admin)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response.last.keys).to include(*%w(id iid project_id title description)) expect(json_response.last.keys).to include(*%w(id iid project_id title description))
expect(json_response.last).not_to have_key('subscribed') expect(json_response.last).not_to have_key('subscribed')
end end
...@@ -529,7 +529,7 @@ describe API::Issues do ...@@ -529,7 +529,7 @@ describe API::Issues do
it 'returns an array of issues with no milestone' do it 'returns an array of issues with no milestone' do
get api(base_url, user), params: { milestone: no_milestone_title } get api(base_url, user), params: { milestone: no_milestone_title }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect_paginated_array_response(group_confidential_issue.id) expect_paginated_array_response(group_confidential_issue.id)
end end
...@@ -676,14 +676,14 @@ describe API::Issues do ...@@ -676,14 +676,14 @@ describe API::Issues do
it 'returns error when multiple assignees are passed' do it 'returns error when multiple assignees are passed' do
get api(base_url, user), params: { assignee_username: [assignee.username, another_assignee.username], scope: 'all' } get api(base_url, user), params: { assignee_username: [assignee.username, another_assignee.username], scope: 'all' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response["error"]).to include("allows one value, but found 2") expect(json_response["error"]).to include("allows one value, but found 2")
end end
it 'returns error when assignee_username and assignee_id are passed together' do it 'returns error when assignee_username and assignee_id are passed together' do
get api(base_url, user), params: { assignee_username: [assignee.username], assignee_id: another_assignee.id, scope: 'all' } get api(base_url, user), params: { assignee_username: [assignee.username], assignee_id: another_assignee.id, scope: 'all' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response["error"]).to include("mutually exclusive") expect(json_response["error"]).to include("mutually exclusive")
end end
end end
......
...@@ -93,7 +93,7 @@ describe API::Issues do ...@@ -93,7 +93,7 @@ describe API::Issues do
it 'returns project issues statistics' do it 'returns project issues statistics' do
get api("/issues_statistics", user), params: params get api("/issues_statistics", user), params: params
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['statistics']).not_to be_nil expect(json_response['statistics']).not_to be_nil
expect(json_response['statistics']['counts']['all']).to eq counts[:all] expect(json_response['statistics']['counts']['all']).to eq counts[:all]
expect(json_response['statistics']['counts']['closed']).to eq counts[:closed] expect(json_response['statistics']['counts']['closed']).to eq counts[:closed]
...@@ -196,7 +196,7 @@ describe API::Issues do ...@@ -196,7 +196,7 @@ describe API::Issues do
get api("/projects/#{max_project_id + 1}/issues", non_member) get api("/projects/#{max_project_id + 1}/issues", non_member)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
it 'returns 404 on private projects for other users' do it 'returns 404 on private projects for other users' do
...@@ -205,7 +205,7 @@ describe API::Issues do ...@@ -205,7 +205,7 @@ describe API::Issues do
get api("/projects/#{private_project.id}/issues", non_member) get api("/projects/#{private_project.id}/issues", non_member)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
it 'returns no issues when user has access to project but not issues' do it 'returns no issues when user has access to project but not issues' do
...@@ -472,7 +472,7 @@ describe API::Issues do ...@@ -472,7 +472,7 @@ describe API::Issues do
it 'exposes known attributes' do it 'exposes known attributes' do
get api("#{base_url}/issues", user) get api("#{base_url}/issues", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response.last.keys).to include(*%w(id iid project_id title description)) expect(json_response.last.keys).to include(*%w(id iid project_id title description))
expect(json_response.last).not_to have_key('subscribed') expect(json_response.last).not_to have_key('subscribed')
end end
...@@ -565,14 +565,14 @@ describe API::Issues do ...@@ -565,14 +565,14 @@ describe API::Issues do
it 'returns error when multiple assignees are passed' do it 'returns error when multiple assignees are passed' do
get api("/issues", user), params: { assignee_username: [assignee.username, another_assignee.username], scope: 'all' } get api("/issues", user), params: { assignee_username: [assignee.username, another_assignee.username], scope: 'all' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response["error"]).to include("allows one value, but found 2") expect(json_response["error"]).to include("allows one value, but found 2")
end end
it 'returns error when assignee_username and assignee_id are passed together' do it 'returns error when assignee_username and assignee_id are passed together' do
get api("/issues", user), params: { assignee_username: [assignee.username], assignee_id: another_assignee.id, scope: 'all' } get api("/issues", user), params: { assignee_username: [assignee.username], assignee_id: another_assignee.id, scope: 'all' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response["error"]).to include("mutually exclusive") expect(json_response["error"]).to include("mutually exclusive")
end end
end end
...@@ -583,14 +583,14 @@ describe API::Issues do ...@@ -583,14 +583,14 @@ describe API::Issues do
it 'returns public issues' do it 'returns public issues' do
get api("/projects/#{project.id}/issues/#{issue.iid}") get api("/projects/#{project.id}/issues/#{issue.iid}")
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
end end
it 'exposes known attributes' do it 'exposes known attributes' do
get api("/projects/#{project.id}/issues/#{issue.iid}", user) get api("/projects/#{project.id}/issues/#{issue.iid}", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['id']).to eq(issue.id) expect(json_response['id']).to eq(issue.id)
expect(json_response['iid']).to eq(issue.iid) expect(json_response['iid']).to eq(issue.iid)
expect(json_response['project_id']).to eq(issue.project.id) expect(json_response['project_id']).to eq(issue.project.id)
...@@ -630,7 +630,7 @@ describe API::Issues do ...@@ -630,7 +630,7 @@ describe API::Issues do
it 'exposes the closed_at attribute' do it 'exposes the closed_at attribute' do
get api("/projects/#{project.id}/issues/#{closed_issue.iid}", user) get api("/projects/#{project.id}/issues/#{closed_issue.iid}", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['closed_at']).to be_present expect(json_response['closed_at']).to be_present
end end
...@@ -650,39 +650,39 @@ describe API::Issues do ...@@ -650,39 +650,39 @@ describe API::Issues do
it 'returns a project issue by internal id' do it 'returns a project issue by internal id' do
get api("/projects/#{project.id}/issues/#{issue.iid}", user) get api("/projects/#{project.id}/issues/#{issue.iid}", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['title']).to eq(issue.title) expect(json_response['title']).to eq(issue.title)
expect(json_response['iid']).to eq(issue.iid) expect(json_response['iid']).to eq(issue.iid)
end end
it 'returns 404 if issue id not found' do it 'returns 404 if issue id not found' do
get api("/projects/#{project.id}/issues/54321", user) get api("/projects/#{project.id}/issues/54321", user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
it 'returns 404 if the issue ID is used' do it 'returns 404 if the issue ID is used' do
get api("/projects/#{project.id}/issues/#{issue.id}", user) get api("/projects/#{project.id}/issues/#{issue.id}", user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
context 'confidential issues' do context 'confidential issues' do
it 'returns 404 for non project members' do it 'returns 404 for non project members' do
get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", non_member) get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", non_member)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
it 'returns 404 for project members with guest role' do it 'returns 404 for project members with guest role' do
get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", guest) get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", guest)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
it 'returns confidential issue for project members' do it 'returns confidential issue for project members' do
get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", user) get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['title']).to eq(confidential_issue.title) expect(json_response['title']).to eq(confidential_issue.title)
expect(json_response['iid']).to eq(confidential_issue.iid) expect(json_response['iid']).to eq(confidential_issue.iid)
end end
...@@ -690,7 +690,7 @@ describe API::Issues do ...@@ -690,7 +690,7 @@ describe API::Issues do
it 'returns confidential issue for author' do it 'returns confidential issue for author' do
get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", author) get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", author)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['title']).to eq(confidential_issue.title) expect(json_response['title']).to eq(confidential_issue.title)
expect(json_response['iid']).to eq(confidential_issue.iid) expect(json_response['iid']).to eq(confidential_issue.iid)
end end
...@@ -698,7 +698,7 @@ describe API::Issues do ...@@ -698,7 +698,7 @@ describe API::Issues do
it 'returns confidential issue for assignee' do it 'returns confidential issue for assignee' do
get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", assignee) get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", assignee)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['title']).to eq(confidential_issue.title) expect(json_response['title']).to eq(confidential_issue.title)
expect(json_response['iid']).to eq(confidential_issue.iid) expect(json_response['iid']).to eq(confidential_issue.iid)
end end
...@@ -706,7 +706,7 @@ describe API::Issues do ...@@ -706,7 +706,7 @@ describe API::Issues do
it 'returns confidential issue for admin' do it 'returns confidential issue for admin' do
get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", admin) get api("/projects/#{project.id}/issues/#{confidential_issue.iid}", admin)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['title']).to eq(confidential_issue.title) expect(json_response['title']).to eq(confidential_issue.title)
expect(json_response['iid']).to eq(confidential_issue.iid) expect(json_response['iid']).to eq(confidential_issue.iid)
end end
...@@ -744,7 +744,7 @@ describe API::Issues do ...@@ -744,7 +744,7 @@ describe API::Issues do
it "returns 404 when issue doesn't exists" do it "returns 404 when issue doesn't exists" do
get api("/projects/#{project.id}/issues/0/closed_by", user) get api("/projects/#{project.id}/issues/0/closed_by", user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
...@@ -774,7 +774,7 @@ describe API::Issues do ...@@ -774,7 +774,7 @@ describe API::Issues do
get_related_merge_requests(project.id, issue.iid) get_related_merge_requests(project.id, issue.iid)
expect_paginated_array_response(related_mr.id) expect_paginated_array_response(related_mr.id)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response.last).not_to have_key('subscribed') expect(json_response.last).not_to have_key('subscribed')
end end
...@@ -785,7 +785,7 @@ describe API::Issues do ...@@ -785,7 +785,7 @@ describe API::Issues do
get_related_merge_requests(private_project.id, private_issue.iid) get_related_merge_requests(private_project.id, private_issue.iid)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
...@@ -824,7 +824,7 @@ describe API::Issues do ...@@ -824,7 +824,7 @@ describe API::Issues do
it "returns 404 when issue doesn't exists" do it "returns 404 when issue doesn't exists" do
get_related_merge_requests(project.id, 0, user) get_related_merge_requests(project.id, 0, user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
...@@ -835,14 +835,14 @@ describe API::Issues do ...@@ -835,14 +835,14 @@ describe API::Issues do
it 'returns unauthorized' do it 'returns unauthorized' do
get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail") get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail")
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
it 'exposes known attributes' do it 'exposes known attributes' do
get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail", admin) get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail", admin)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['user_agent']).to eq(user_agent_detail.user_agent) expect(json_response['user_agent']).to eq(user_agent_detail.user_agent)
expect(json_response['ip_address']).to eq(user_agent_detail.ip_address) expect(json_response['ip_address']).to eq(user_agent_detail.ip_address)
expect(json_response['akismet_submitted']).to eq(user_agent_detail.submitted) expect(json_response['akismet_submitted']).to eq(user_agent_detail.submitted)
...@@ -851,7 +851,7 @@ describe API::Issues do ...@@ -851,7 +851,7 @@ describe API::Issues do
it 'returns unauthorized for non-admin users' do it 'returns unauthorized for non-admin users' do
get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail", user) get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -863,7 +863,7 @@ describe API::Issues do ...@@ -863,7 +863,7 @@ describe API::Issues do
it 'returns 404 if the issue is confidential' do it 'returns 404 if the issue is confidential' do
post api("/projects/#{project.id}/issues/#{confidential_issue.iid}/participants", non_member) post api("/projects/#{project.id}/issues/#{confidential_issue.iid}/participants", non_member)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
end end
...@@ -76,7 +76,7 @@ describe API::Issues do ...@@ -76,7 +76,7 @@ describe API::Issues do
it 'returns issues statistics' do it 'returns issues statistics' do
get api("/issues_statistics", user), params: params get api("/issues_statistics", user), params: params
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['statistics']).not_to be_nil expect(json_response['statistics']).not_to be_nil
expect(json_response['statistics']['counts']['all']).to eq counts[:all] expect(json_response['statistics']['counts']['all']).to eq counts[:all]
expect(json_response['statistics']['counts']['closed']).to eq counts[:closed] expect(json_response['statistics']['counts']['closed']).to eq counts[:closed]
...@@ -89,39 +89,39 @@ describe API::Issues do ...@@ -89,39 +89,39 @@ describe API::Issues do
it 'returns an array of all issues' do it 'returns an array of all issues' do
get api('/issues'), params: { scope: 'all' } get api('/issues'), params: { scope: 'all' }
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to be_an Array expect(json_response).to be_an Array
end end
it 'returns authentication error without any scope' do it 'returns authentication error without any scope' do
get api('/issues') get api('/issues')
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns authentication error when scope is assigned-to-me' do it 'returns authentication error when scope is assigned-to-me' do
get api('/issues'), params: { scope: 'assigned-to-me' } get api('/issues'), params: { scope: 'assigned-to-me' }
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns authentication error when scope is created-by-me' do it 'returns authentication error when scope is created-by-me' do
get api('/issues'), params: { scope: 'created-by-me' } get api('/issues'), params: { scope: 'created-by-me' }
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns an array of issues matching state in milestone' do it 'returns an array of issues matching state in milestone' do
get api('/issues'), params: { milestone: 'foo', scope: 'all' } get api('/issues'), params: { milestone: 'foo', scope: 'all' }
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect_paginated_array_response([]) expect_paginated_array_response([])
end end
it 'returns an array of issues matching state in milestone' do it 'returns an array of issues matching state in milestone' do
get api('/issues'), params: { milestone: milestone.title, scope: 'all' } get api('/issues'), params: { milestone: milestone.title, scope: 'all' }
expect(response).to have_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect_paginated_array_response([issue.id, closed_issue.id]) expect_paginated_array_response([issue.id, closed_issue.id])
end end
...@@ -129,19 +129,19 @@ describe API::Issues do ...@@ -129,19 +129,19 @@ describe API::Issues do
it 'returns authentication error without any scope' do it 'returns authentication error without any scope' do
get api('/issues_statistics') get api('/issues_statistics')
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns authentication error when scope is assigned_to_me' do it 'returns authentication error when scope is assigned_to_me' do
get api('/issues_statistics'), params: { scope: 'assigned_to_me' } get api('/issues_statistics'), params: { scope: 'assigned_to_me' }
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns authentication error when scope is created_by_me' do it 'returns authentication error when scope is created_by_me' do
get api('/issues_statistics'), params: { scope: 'created_by_me' } get api('/issues_statistics'), params: { scope: 'created_by_me' }
expect(response).to have_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
context 'no state is treated as all state' do context 'no state is treated as all state' do
...@@ -642,14 +642,14 @@ describe API::Issues do ...@@ -642,14 +642,14 @@ describe API::Issues do
it 'accepts only predefined order by params' do it 'accepts only predefined order by params' do
API::Helpers::IssuesHelpers.sort_options.each do |sort_opt| API::Helpers::IssuesHelpers.sort_options.each do |sort_opt|
get api('/issues', user), params: { order_by: sort_opt, sort: 'asc' } get api('/issues', user), params: { order_by: sort_opt, sort: 'asc' }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
end end
it 'fails to sort with non predefined options' do it 'fails to sort with non predefined options' do
%w(milestone title abracadabra).each do |sort_opt| %w(milestone title abracadabra).each do |sort_opt|
get api('/issues', user), params: { order_by: sort_opt, sort: 'asc' } get api('/issues', user), params: { order_by: sort_opt, sort: 'asc' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
end end
...@@ -657,14 +657,14 @@ describe API::Issues do ...@@ -657,14 +657,14 @@ describe API::Issues do
it 'matches V4 response schema' do it 'matches V4 response schema' do
get api('/issues', user) get api('/issues', 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/issues') expect(response).to match_response_schema('public_api/v4/issues')
end end
it 'returns a related merge request count of 0 if there are no related merge requests' do it 'returns a related merge request count of 0 if there are no related merge requests' do
get api('/issues', user) get api('/issues', 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/issues') expect(response).to match_response_schema('public_api/v4/issues')
expect(json_response.first).to include('merge_requests_count' => 0) expect(json_response.first).to include('merge_requests_count' => 0)
end end
...@@ -674,7 +674,7 @@ describe API::Issues do ...@@ -674,7 +674,7 @@ describe API::Issues do
get api('/issues', user) get api('/issues', 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/issues') expect(response).to match_response_schema('public_api/v4/issues')
expect(json_response.first).to include('merge_requests_count' => 1) expect(json_response.first).to include('merge_requests_count' => 1)
end end
...@@ -767,14 +767,14 @@ describe API::Issues do ...@@ -767,14 +767,14 @@ describe API::Issues do
it 'returns error when multiple assignees are passed' do it 'returns error when multiple assignees are passed' do
get api("/issues", user), params: { assignee_username: [assignee.username, another_assignee.username], scope: 'all' } get api("/issues", user), params: { assignee_username: [assignee.username, another_assignee.username], scope: 'all' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response["error"]).to include("allows one value, but found 2") expect(json_response["error"]).to include("allows one value, but found 2")
end end
it 'returns error when assignee_username and assignee_id are passed together' do it 'returns error when assignee_username and assignee_id are passed together' do
get api("/issues", user), params: { assignee_username: [assignee.username], assignee_id: another_assignee.id, scope: 'all' } get api("/issues", user), params: { assignee_username: [assignee.username], assignee_id: another_assignee.id, scope: 'all' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response["error"]).to include("mutually exclusive") expect(json_response["error"]).to include("mutually exclusive")
end end
end end
...@@ -835,7 +835,7 @@ describe API::Issues do ...@@ -835,7 +835,7 @@ describe API::Issues do
it 'exposes full reference path' do it 'exposes full reference path' do
get api("/projects/#{project.id}/issues/#{issue.iid}", user) get api("/projects/#{project.id}/issues/#{issue.iid}", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['references']['short']).to eq("##{issue.iid}") expect(json_response['references']['short']).to eq("##{issue.iid}")
expect(json_response['references']['relative']).to eq("##{issue.iid}") expect(json_response['references']['relative']).to eq("##{issue.iid}")
expect(json_response['references']['full']).to eq("#{project.parent.path}/#{project.path}##{issue.iid}") expect(json_response['references']['full']).to eq("#{project.parent.path}/#{project.path}##{issue.iid}")
...@@ -845,12 +845,12 @@ describe API::Issues do ...@@ -845,12 +845,12 @@ describe API::Issues do
describe 'DELETE /projects/:id/issues/:issue_iid' do describe 'DELETE /projects/:id/issues/:issue_iid' do
it 'rejects a non member from deleting an issue' do it 'rejects a non member from deleting an issue' do
delete api("/projects/#{project.id}/issues/#{issue.iid}", non_member) delete api("/projects/#{project.id}/issues/#{issue.iid}", non_member)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
it 'rejects a developer from deleting an issue' do it 'rejects a developer from deleting an issue' do
delete api("/projects/#{project.id}/issues/#{issue.iid}", author) delete api("/projects/#{project.id}/issues/#{issue.iid}", author)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
context 'when the user is project owner' do context 'when the user is project owner' do
...@@ -860,7 +860,7 @@ describe API::Issues do ...@@ -860,7 +860,7 @@ describe API::Issues do
it 'deletes the issue if an admin requests it' do it 'deletes the issue if an admin requests it' do
delete api("/projects/#{project.id}/issues/#{issue.iid}", owner) delete api("/projects/#{project.id}/issues/#{issue.iid}", owner)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end end
it_behaves_like '412 response' do it_behaves_like '412 response' do
...@@ -872,14 +872,14 @@ describe API::Issues do ...@@ -872,14 +872,14 @@ describe API::Issues do
it 'returns 404 when trying to delete an issue' do it 'returns 404 when trying to delete an issue' do
delete api("/projects/#{project.id}/issues/123", user) delete api("/projects/#{project.id}/issues/123", user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
it 'returns 404 when using the issue ID instead of IID' do it 'returns 404 when using the issue ID instead of IID' do
delete api("/projects/#{project.id}/issues/#{issue.id}", user) delete api("/projects/#{project.id}/issues/#{issue.id}", user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
......
...@@ -32,7 +32,7 @@ describe API::Pages do ...@@ -32,7 +32,7 @@ describe API::Pages do
it 'returns 204' do it 'returns 204' do
delete api("/projects/#{project.id}/pages", admin) delete api("/projects/#{project.id}/pages", admin)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end end
it 'removes the pages' do it 'removes the pages' do
...@@ -53,7 +53,7 @@ describe API::Pages do ...@@ -53,7 +53,7 @@ describe API::Pages do
it 'returns 204' do it 'returns 204' do
delete api("/projects/#{project.id}/pages", admin) delete api("/projects/#{project.id}/pages", admin)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end end
end end
...@@ -63,7 +63,7 @@ describe API::Pages do ...@@ -63,7 +63,7 @@ describe API::Pages do
delete api("/projects/#{id}/pages", admin) delete api("/projects/#{id}/pages", admin)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment