Commit 2a040e26 authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent a53d2c37
...@@ -349,6 +349,8 @@ RSpec/HaveGitlabHttpStatus: ...@@ -349,6 +349,8 @@ RSpec/HaveGitlabHttpStatus:
- 'ee/spec/requests/{groups,projects,repositories}/**/*' - 'ee/spec/requests/{groups,projects,repositories}/**/*'
- 'spec/requests/api/*/**/*.rb' - 'spec/requests/api/*/**/*.rb'
- 'ee/spec/requests/api/*/**/*.rb' - 'ee/spec/requests/api/*/**/*.rb'
- 'spec/requests/api/[a-f]*.rb'
- 'ee/spec/requests/api/[a-f]*.rb'
Style/MultilineWhenThen: Style/MultilineWhenThen:
Enabled: false Enabled: false
......
<script> <script>
import _ from 'underscore'; import { throttle } from 'lodash';
import { mapActions, mapState, mapGetters } from 'vuex'; import { mapActions, mapState, mapGetters } from 'vuex';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon } from '@gitlab/ui';
import LoadingButton from '~/vue_shared/components/loading_button.vue'; import LoadingButton from '~/vue_shared/components/loading_button.vue';
...@@ -67,7 +67,7 @@ export default { ...@@ -67,7 +67,7 @@ export default {
this.setFilter(target.value); this.setFilter(target.value);
}, },
throttledFetchRepos: _.throttle(function fetch() { throttledFetchRepos: throttle(function fetch() {
eventHub.$off('importAll'); eventHub.$off('importAll');
this.fetchRepos(); this.fetchRepos();
}, reposFetchThrottleDelay), }, reposFetchThrottleDelay),
......
...@@ -1808,11 +1808,7 @@ export default class Notes { ...@@ -1808,11 +1808,7 @@ export default class Notes {
$editingNote.removeClass('is-editing fade-in-full').addClass('being-posted fade-in-half'); $editingNote.removeClass('is-editing fade-in-full').addClass('being-posted fade-in-half');
$editingNote $editingNote
.find('.note-headline-meta a') .find('.note-headline-meta a')
.html( .html('<span class="spinner align-text-bottom"></span>');
`<i class="fa fa-spinner fa-spin" aria-label="${__(
'Comment is being updated',
)}" aria-hidden="true"></i>`,
);
// Make request to update comment on server // Make request to update comment on server
axios axios
...@@ -1825,7 +1821,7 @@ export default class Notes { ...@@ -1825,7 +1821,7 @@ export default class Notes {
// Submission failed, revert back to original note // Submission failed, revert back to original note
$noteBodyText.html(escape(cachedNoteBodyText)); $noteBodyText.html(escape(cachedNoteBodyText));
$editingNote.removeClass('being-posted fade-in'); $editingNote.removeClass('being-posted fade-in');
$editingNote.find('.fa.fa-spinner').remove(); $editingNote.find('.spinner').remove();
// Show Flash message about failure // Show Flash message about failure
this.updateNoteError(); this.updateNoteError();
......
...@@ -6,6 +6,7 @@ module Projects ...@@ -6,6 +6,7 @@ module Projects
RESERVED_ANNOTATIONS = %w(gitlab_incident_markdown title).freeze RESERVED_ANNOTATIONS = %w(gitlab_incident_markdown title).freeze
GENERIC_ALERT_SUMMARY_ANNOTATIONS = %w(monitoring_tool service hosts).freeze GENERIC_ALERT_SUMMARY_ANNOTATIONS = %w(monitoring_tool service hosts).freeze
MARKDOWN_LINE_BREAK = " \n".freeze MARKDOWN_LINE_BREAK = " \n".freeze
INCIDENT_LABEL_NAME = IncidentManagement::CreateIssueService::INCIDENT_LABEL[:title].freeze
def full_title def full_title
[environment_name, alert_title].compact.join(': ') [environment_name, alert_title].compact.join(': ')
...@@ -31,6 +32,18 @@ module Projects ...@@ -31,6 +32,18 @@ module Projects
end end
end end
def show_performance_dashboard_link?
gitlab_alert.present?
end
def show_incident_issues_link?
project.incident_management_setting&.create_issue?
end
def incident_issues_link
project_issues_url(project, label_name: INCIDENT_LABEL_NAME)
end
def starts_at def starts_at
super&.rfc3339 super&.rfc3339
end end
......
# frozen_string_literal: true
module IncidentManagement
module Settings
def incident_management_setting
strong_memoize(:incident_management_setting) do
project.incident_management_setting ||
project.build_incident_management_setting
end
end
def process_issues?
incident_management_setting.create_issue?
end
end
end
...@@ -36,6 +36,8 @@ module Issues ...@@ -36,6 +36,8 @@ module Issues
execute_hooks(issue, 'close') execute_hooks(issue, 'close')
invalidate_cache_counts(issue, users: issue.assignees) invalidate_cache_counts(issue, users: issue.assignees)
issue.update_project_counter_caches issue.update_project_counter_caches
store_first_mentioned_in_commit_at(issue, closed_via) if closed_via.is_a?(MergeRequest)
end end
issue issue
...@@ -46,5 +48,17 @@ module Issues ...@@ -46,5 +48,17 @@ module Issues
def create_note(issue, current_commit) def create_note(issue, current_commit)
SystemNoteService.change_status(issue, issue.project, current_user, issue.state, current_commit) SystemNoteService.change_status(issue, issue.project, current_user, issue.state, current_commit)
end end
def store_first_mentioned_in_commit_at(issue, merge_request)
return unless Feature.enabled?(:store_first_mentioned_in_commit_on_issue_close, issue.project)
metrics = issue.metrics
return if metrics.nil? || metrics.first_mentioned_in_commit_at
first_commit_timestamp = merge_request.commits(limit: 1).first&.date
return unless first_commit_timestamp
metrics.update!(first_mentioned_in_commit_at: first_commit_timestamp)
end
end end
end end
...@@ -4,12 +4,14 @@ module Projects ...@@ -4,12 +4,14 @@ module Projects
module Alerting module Alerting
class NotifyService < BaseService class NotifyService < BaseService
include Gitlab::Utils::StrongMemoize include Gitlab::Utils::StrongMemoize
include IncidentManagement::Settings
def execute(token) def execute(token)
return forbidden unless alerts_service_activated? return forbidden unless alerts_service_activated?
return unauthorized unless valid_token?(token) return unauthorized unless valid_token?(token)
process_incident_issues process_incident_issues if process_issues?
send_alert_email if send_email?
ServiceResponse.success ServiceResponse.success
rescue Gitlab::Alerting::NotificationPayloadParser::BadPayloadError rescue Gitlab::Alerting::NotificationPayloadParser::BadPayloadError
...@@ -20,11 +22,21 @@ module Projects ...@@ -20,11 +22,21 @@ module Projects
delegate :alerts_service, :alerts_service_activated?, to: :project delegate :alerts_service, :alerts_service_activated?, to: :project
def send_email?
incident_management_setting.send_email?
end
def process_incident_issues def process_incident_issues
IncidentManagement::ProcessAlertWorker IncidentManagement::ProcessAlertWorker
.perform_async(project.id, parsed_payload) .perform_async(project.id, parsed_payload)
end end
def send_alert_email
notification_service
.async
.prometheus_alerts_fired(project, [parsed_payload])
end
def parsed_payload def parsed_payload
Gitlab::Alerting::NotificationPayloadParser.call(params.to_h) Gitlab::Alerting::NotificationPayloadParser.call(params.to_h)
end end
......
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
= render_dashboard_gold_trial(current_user) = render_dashboard_gold_trial(current_user)
.page-title-holder.d-flex.align-items-center .page-title-holder.d-flex.align-items-start.flex-column.flex-sm-row.align-items-sm-center
%h1.page-title= _('Merge Requests') %h1.page-title= _('Merge Requests')
- if current_user - if current_user
.page-title-controls .page-title-controls.ml-0.mb-3.ml-sm-auto.mb-sm-0
= render 'shared/new_project_item_select', path: 'merge_requests/new', label: "New merge request", with_feature_enabled: 'merge_requests', type: :merge_requests = render 'shared/new_project_item_select', path: 'merge_requests/new', label: "New merge request", with_feature_enabled: 'merge_requests', type: :merge_requests
.top-area .top-area
......
---
title: Send alert emails for generic incident alerts
merge_request: 24414
author:
type: added
---
title: Prevent "Select project to create merge request" button from overflowing out
of the viewport on mobile
merge_request: 25195
author:
type: fixed
---
title: Migrated from .fa-spinner to .spinner in 'app/assets/javascripts/notes.js
merge_request: 24916
author: Raihan Kabir (gitlab/rk4bir)
type: changed
...@@ -424,16 +424,10 @@ Take the following migration as an example: ...@@ -424,16 +424,10 @@ Take the following migration as an example:
```ruby ```ruby
class DefaultRequestAccessGroups < ActiveRecord::Migration[5.2] class DefaultRequestAccessGroups < ActiveRecord::Migration[5.2]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false DOWNTIME = false
def up def change
change_column_default :namespaces, :request_access_enabled, true change_column_default(:namespaces, :request_access_enabled, from: false, to: true)
end
def down
change_column_default :namespaces, :request_access_enabled, false
end end
end end
``` ```
......
# frozen_string_literal: true # frozen_string_literal: true
# See http://doc.gitlab.com/ce/development/migration_style_guide.html # See https://docs.gitlab.com/ee/development/migration_style_guide.html
# for more information on how to write migrations for GitLab. # for more information on how to write migrations for GitLab.
class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>] class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>]
......
# frozen_string_literal: true # frozen_string_literal: true
# See http://doc.gitlab.com/ce/development/migration_style_guide.html # See https://docs.gitlab.com/ee/development/migration_style_guide.html
# for more information on how to write migrations for GitLab. # for more information on how to write migrations for GitLab.
class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>] class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>]
......
# frozen_string_literal: true # frozen_string_literal: true
# See http://doc.gitlab.com/ce/development/migration_style_guide.html # See https://docs.gitlab.com/ee/development/migration_style_guide.html
# for more information on how to write migrations for GitLab. # for more information on how to write migrations for GitLab.
class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>] class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>]
......
...@@ -1674,6 +1674,9 @@ msgstr "" ...@@ -1674,6 +1674,9 @@ msgstr ""
msgid "Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication" msgid "Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication"
msgstr "" msgstr ""
msgid "An alert has been triggered in %{project_path}."
msgstr ""
msgid "An application called %{link_to_client} is requesting access to your GitLab account." msgid "An application called %{link_to_client} is requesting access to your GitLab account."
msgstr "" msgstr ""
...@@ -12164,6 +12167,9 @@ msgstr "" ...@@ -12164,6 +12167,9 @@ msgstr ""
msgid "Metric was successfully updated." msgid "Metric was successfully updated."
msgstr "" msgstr ""
msgid "Metric:"
msgstr ""
msgid "MetricChart|Please select a metric" msgid "MetricChart|Please select a metric"
msgstr "" msgstr ""
...@@ -21508,6 +21514,9 @@ msgstr "" ...@@ -21508,6 +21514,9 @@ msgstr ""
msgid "View group labels" msgid "View group labels"
msgstr "" msgstr ""
msgid "View incident issues."
msgstr ""
msgid "View issue" msgid "View issue"
msgstr "" msgstr ""
...@@ -21532,6 +21541,9 @@ msgstr "" ...@@ -21532,6 +21541,9 @@ msgstr ""
msgid "View open merge request" msgid "View open merge request"
msgstr "" msgstr ""
msgid "View performance dashboard."
msgstr ""
msgid "View project" msgid "View project"
msgstr "" msgstr ""
...@@ -21550,6 +21562,9 @@ msgstr "" ...@@ -21550,6 +21562,9 @@ msgstr ""
msgid "View the latest successful deployment to this environment" msgid "View the latest successful deployment to this environment"
msgstr "" msgstr ""
msgid "View the performance dashboard at"
msgstr ""
msgid "Viewing commit" msgid "Viewing commit"
msgstr "" msgstr ""
......
import _ from 'underscore'; import { escape } from 'lodash';
import { shallowMount, createLocalVue } from '@vue/test-utils'; import { shallowMount, createLocalVue } from '@vue/test-utils';
import createStore from '~/notes/stores'; import createStore from '~/notes/stores';
import issueNote from '~/notes/components/noteable_note.vue'; import issueNote from '~/notes/components/noteable_note.vue';
...@@ -98,7 +98,7 @@ describe('issue_note', () => { ...@@ -98,7 +98,7 @@ describe('issue_note', () => {
setTimeout(() => { setTimeout(() => {
expect(alertSpy).not.toHaveBeenCalled(); expect(alertSpy).not.toHaveBeenCalled();
expect(wrapper.vm.note.note_html).toEqual(_.escape(noteBody)); expect(wrapper.vm.note.note_html).toEqual(escape(noteBody));
done(); done();
}, 0); }, 0);
}); });
......
...@@ -17,6 +17,12 @@ describe Gitlab::Alerting::Alert do ...@@ -17,6 +17,12 @@ describe Gitlab::Alerting::Alert do
end end
end end
shared_context 'full query' do
before do
payload['generatorURL'] = 'http://localhost:9090/graph?g0.expr=vector%281%29'
end
end
shared_examples 'invalid alert' do shared_examples 'invalid alert' do
it 'is invalid' do it 'is invalid' do
expect(alert).not_to be_valid expect(alert).not_to be_valid
...@@ -180,10 +186,7 @@ describe Gitlab::Alerting::Alert do ...@@ -180,10 +186,7 @@ describe Gitlab::Alerting::Alert do
context 'with gitlab alert' do context 'with gitlab alert' do
include_context 'gitlab alert' include_context 'gitlab alert'
include_context 'full query'
before do
payload['generatorURL'] = 'http://localhost:9090/graph?g0.expr=vector%281%29'
end
it { is_expected.to eq(gitlab_alert.full_query) } it { is_expected.to eq(gitlab_alert.full_query) }
end end
......
...@@ -9,6 +9,15 @@ describe Projects::Prometheus::AlertPresenter do ...@@ -9,6 +9,15 @@ describe Projects::Prometheus::AlertPresenter do
let(:payload) { {} } let(:payload) { {} }
let(:alert) { create(:alerting_alert, project: project, payload: payload) } let(:alert) { create(:alerting_alert, project: project, payload: payload) }
shared_context 'gitlab alert' do
let(:gitlab_alert) { create(:prometheus_alert, project: project) }
let(:metric_id) { gitlab_alert.prometheus_metric_id }
let(:alert) do
create(:alerting_alert, project: project, metric_id: metric_id)
end
end
describe '#project_full_path' do describe '#project_full_path' do
subject { presenter.project_full_path } subject { presenter.project_full_path }
...@@ -145,14 +154,36 @@ describe Projects::Prometheus::AlertPresenter do ...@@ -145,14 +154,36 @@ describe Projects::Prometheus::AlertPresenter do
end end
end end
describe '#show_performance_dashboard_link?' do
subject { presenter.show_performance_dashboard_link? }
it { is_expected.to be_falsey }
context 'with gitlab alert' do context 'with gitlab alert' do
let(:gitlab_alert) { create(:prometheus_alert, project: project) } include_context 'gitlab alert'
let(:metric_id) { gitlab_alert.prometheus_metric_id }
let(:alert) do it { is_expected.to eq(true) }
create(:alerting_alert, project: project, metric_id: metric_id) end
end end
describe '#show_incident_issues_link?' do
subject { presenter.show_incident_issues_link? }
it { is_expected.to be_falsey }
context 'create issue setting enabled' do
before do
create(:project_incident_management_setting, project: project, create_issue: true)
project.reload
end
it { is_expected.to eq(true) }
end
end
context 'with gitlab alert' do
include_context 'gitlab alert'
describe '#full_title' do describe '#full_title' do
let(:query_title) do let(:query_title) do
"#{gitlab_alert.title} #{gitlab_alert.computed_operator} #{gitlab_alert.threshold} for 5 minutes" "#{gitlab_alert.title} #{gitlab_alert.computed_operator} #{gitlab_alert.threshold} for 5 minutes"
...@@ -189,6 +220,17 @@ describe Projects::Prometheus::AlertPresenter do ...@@ -189,6 +220,17 @@ describe Projects::Prometheus::AlertPresenter do
it { is_expected.to eq(expected_link) } it { is_expected.to eq(expected_link) }
end end
describe '#incident_issues_link' do
let(:expected_link) do
Gitlab::Routing.url_helpers
.project_issues_url(project, label_name: described_class::INCIDENT_LABEL_NAME)
end
subject { presenter.incident_issues_link }
it { is_expected.to eq(expected_link) }
end
end end
context 'without gitlab alert' do context 'without gitlab alert' do
......
...@@ -37,7 +37,7 @@ describe API::AccessRequests do ...@@ -37,7 +37,7 @@ describe API::AccessRequests do
user = public_send(type) user = public_send(type)
get api("/#{source_type.pluralize}/#{source.id}/access_requests", user) get api("/#{source_type.pluralize}/#{source.id}/access_requests", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
...@@ -47,7 +47,7 @@ describe API::AccessRequests do ...@@ -47,7 +47,7 @@ describe API::AccessRequests do
it 'returns access requesters' do it 'returns access requesters' do
get api("/#{source_type.pluralize}/#{source.id}/access_requests", maintainer) get api("/#{source_type.pluralize}/#{source.id}/access_requests", maintainer)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(1) expect(json_response.size).to eq(1)
...@@ -70,7 +70,7 @@ describe API::AccessRequests do ...@@ -70,7 +70,7 @@ describe API::AccessRequests do
user = public_send(type) user = public_send(type)
post api("/#{source_type.pluralize}/#{source.id}/access_requests", user) post api("/#{source_type.pluralize}/#{source.id}/access_requests", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end.not_to change { source.requesters.count } end.not_to change { source.requesters.count }
end end
end end
...@@ -82,7 +82,7 @@ describe API::AccessRequests do ...@@ -82,7 +82,7 @@ describe API::AccessRequests do
expect do expect do
post api("/#{source_type.pluralize}/#{source.id}/access_requests", access_requester) post api("/#{source_type.pluralize}/#{source.id}/access_requests", access_requester)
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end.not_to change { source.requesters.count } end.not_to change { source.requesters.count }
end end
end end
...@@ -97,7 +97,7 @@ describe API::AccessRequests do ...@@ -97,7 +97,7 @@ describe API::AccessRequests do
expect do expect do
post api("/#{source_type.pluralize}/#{source.id}/access_requests", stranger) post api("/#{source_type.pluralize}/#{source.id}/access_requests", stranger)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end.not_to change { source.requesters.count } end.not_to change { source.requesters.count }
end end
end end
...@@ -106,7 +106,7 @@ describe API::AccessRequests do ...@@ -106,7 +106,7 @@ describe API::AccessRequests do
expect do expect do
post api("/#{source_type.pluralize}/#{source.id}/access_requests", stranger) post api("/#{source_type.pluralize}/#{source.id}/access_requests", stranger)
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
end.to change { source.requesters.count }.by(1) end.to change { source.requesters.count }.by(1)
# User attributes # User attributes
...@@ -137,7 +137,7 @@ describe API::AccessRequests do ...@@ -137,7 +137,7 @@ describe API::AccessRequests do
user = public_send(type) user = public_send(type)
put api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}/approve", user) put api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}/approve", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
...@@ -149,7 +149,7 @@ describe API::AccessRequests do ...@@ -149,7 +149,7 @@ describe API::AccessRequests do
put api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}/approve", maintainer), put api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}/approve", maintainer),
params: { access_level: Member::MAINTAINER } params: { access_level: Member::MAINTAINER }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
end.to change { source.members.count }.by(1) end.to change { source.members.count }.by(1)
# User attributes # User attributes
expect(json_response['id']).to eq(access_requester.id) expect(json_response['id']).to eq(access_requester.id)
...@@ -168,7 +168,7 @@ describe API::AccessRequests do ...@@ -168,7 +168,7 @@ describe API::AccessRequests do
expect do expect do
put api("/#{source_type.pluralize}/#{source.id}/access_requests/#{stranger.id}/approve", maintainer) put api("/#{source_type.pluralize}/#{source.id}/access_requests/#{stranger.id}/approve", maintainer)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end.not_to change { source.members.count } end.not_to change { source.members.count }
end end
end end
...@@ -189,7 +189,7 @@ describe API::AccessRequests do ...@@ -189,7 +189,7 @@ describe API::AccessRequests do
user = public_send(type) user = public_send(type)
delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}", user) delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
...@@ -200,7 +200,7 @@ describe API::AccessRequests do ...@@ -200,7 +200,7 @@ describe API::AccessRequests do
expect do expect do
delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}", access_requester) delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}", access_requester)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end.to change { source.requesters.count }.by(-1) end.to change { source.requesters.count }.by(-1)
end end
end end
...@@ -210,7 +210,7 @@ describe API::AccessRequests do ...@@ -210,7 +210,7 @@ describe API::AccessRequests do
expect do expect do
delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}", maintainer) delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{access_requester.id}", maintainer)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end.to change { source.requesters.count }.by(-1) end.to change { source.requesters.count }.by(-1)
end end
...@@ -219,7 +219,7 @@ describe API::AccessRequests do ...@@ -219,7 +219,7 @@ describe API::AccessRequests do
expect do expect do
delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{developer.id}", maintainer) delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{developer.id}", maintainer)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end.not_to change { source.requesters.count } end.not_to change { source.requesters.count }
end end
end end
...@@ -229,7 +229,7 @@ describe API::AccessRequests do ...@@ -229,7 +229,7 @@ describe API::AccessRequests do
expect do expect do
delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{stranger.id}", maintainer) delete api("/#{source_type.pluralize}/#{source.id}/access_requests/#{stranger.id}", maintainer)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end.not_to change { source.requesters.count } end.not_to change { source.requesters.count }
end end
end end
......
...@@ -11,7 +11,7 @@ describe API::Appearance, 'Appearance' do ...@@ -11,7 +11,7 @@ describe API::Appearance, 'Appearance' do
it "returns 403" do it "returns 403" do
get api("/application/appearance", user) get api("/application/appearance", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -19,7 +19,7 @@ describe API::Appearance, 'Appearance' do ...@@ -19,7 +19,7 @@ describe API::Appearance, 'Appearance' do
it "returns appearance" do it "returns appearance" do
get api("/application/appearance", admin) get api("/application/appearance", admin)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to be_an Hash expect(json_response).to be_an Hash
expect(json_response['description']).to eq('') expect(json_response['description']).to eq('')
expect(json_response['email_header_and_footer_enabled']).to be(false) expect(json_response['email_header_and_footer_enabled']).to be(false)
...@@ -41,7 +41,7 @@ describe API::Appearance, 'Appearance' do ...@@ -41,7 +41,7 @@ describe API::Appearance, 'Appearance' do
it "returns 403" do it "returns 403" do
put api("/application/appearance", user), params: { title: "Test" } put api("/application/appearance", user), params: { title: "Test" }
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -54,7 +54,7 @@ describe API::Appearance, 'Appearance' do ...@@ -54,7 +54,7 @@ describe API::Appearance, 'Appearance' do
new_project_guidelines: "Please read the FAQs for help." new_project_guidelines: "Please read the FAQs for help."
} }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to be_an Hash expect(json_response).to be_an Hash
expect(json_response['description']).to eq('gitlab-test.example.com') expect(json_response['description']).to eq('gitlab-test.example.com')
expect(json_response['email_header_and_footer_enabled']).to be(false) expect(json_response['email_header_and_footer_enabled']).to be(false)
...@@ -82,7 +82,7 @@ describe API::Appearance, 'Appearance' do ...@@ -82,7 +82,7 @@ describe API::Appearance, 'Appearance' do
put api("/application/appearance", admin), params: settings put api("/application/appearance", admin), params: settings
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
settings.each do |attribute, value| settings.each do |attribute, value|
expect(Appearance.current.public_send(attribute)).to eq(value) expect(Appearance.current.public_send(attribute)).to eq(value)
end end
...@@ -92,14 +92,14 @@ describe API::Appearance, 'Appearance' do ...@@ -92,14 +92,14 @@ describe API::Appearance, 'Appearance' do
it "with message_font_color" do it "with message_font_color" do
put api("/application/appearance", admin), params: { message_font_color: "No Color" } put api("/application/appearance", admin), params: { message_font_color: "No Color" }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']['message_font_color']).to contain_exactly('must be a valid color code') expect(json_response['message']['message_font_color']).to contain_exactly('must be a valid color code')
end end
it "with message_background_color" do it "with message_background_color" do
put api("/application/appearance", admin), params: { message_background_color: "#1" } put api("/application/appearance", admin), params: { message_background_color: "#1" }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']['message_background_color']).to contain_exactly('must be a valid color code') expect(json_response['message']['message_background_color']).to contain_exactly('must be a valid color code')
end end
end end
...@@ -115,7 +115,7 @@ describe API::Appearance, 'Appearance' do ...@@ -115,7 +115,7 @@ describe API::Appearance, 'Appearance' do
favicon: fixture_file_upload("spec/fixtures/dk.png", "image/png") favicon: fixture_file_upload("spec/fixtures/dk.png", "image/png")
} }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['logo']).to eq("/uploads/-/system/appearance/logo/#{appearance.id}/dk.png") expect(json_response['logo']).to eq("/uploads/-/system/appearance/logo/#{appearance.id}/dk.png")
expect(json_response['header_logo']).to eq("/uploads/-/system/appearance/header_logo/#{appearance.id}/dk.png") expect(json_response['header_logo']).to eq("/uploads/-/system/appearance/header_logo/#{appearance.id}/dk.png")
expect(json_response['favicon']).to eq("/uploads/-/system/appearance/favicon/#{appearance.id}/dk.png") expect(json_response['favicon']).to eq("/uploads/-/system/appearance/favicon/#{appearance.id}/dk.png")
...@@ -125,14 +125,14 @@ describe API::Appearance, 'Appearance' do ...@@ -125,14 +125,14 @@ describe API::Appearance, 'Appearance' do
it "with string instead of file" do it "with string instead of file" do
put api("/application/appearance", admin), params: { logo: 'not-a-file.png' } put api("/application/appearance", admin), params: { logo: 'not-a-file.png' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['error']).to eq("logo is invalid") expect(json_response['error']).to eq("logo is invalid")
end end
it "with .svg file instead of .png" do it "with .svg file instead of .png" do
put api("/application/appearance", admin), params: { favicon: fixture_file_upload("spec/fixtures/logo_sample.svg", "image/svg") } put api("/application/appearance", admin), params: { favicon: fixture_file_upload("spec/fixtures/logo_sample.svg", "image/svg") }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']['favicon']).to contain_exactly("You are not allowed to upload \"svg\" files, allowed types: png, ico") expect(json_response['message']['favicon']).to contain_exactly("You are not allowed to upload \"svg\" files, allowed types: png, ico")
end end
end end
......
...@@ -16,7 +16,7 @@ describe API::Applications, :api do ...@@ -16,7 +16,7 @@ describe API::Applications, :api do
application = Doorkeeper::Application.find_by(name: 'application_name', redirect_uri: 'http://application.url') application = Doorkeeper::Application.find_by(name: 'application_name', redirect_uri: 'http://application.url')
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).to be_a Hash
expect(json_response['application_id']).to eq application.uid expect(json_response['application_id']).to eq application.uid
expect(json_response['secret']).to eq application.secret expect(json_response['secret']).to eq application.secret
...@@ -29,7 +29,7 @@ describe API::Applications, :api do ...@@ -29,7 +29,7 @@ describe API::Applications, :api do
post api('/applications', admin_user), params: { name: 'application_name', redirect_uri: 'http://', scopes: '' } post api('/applications', admin_user), params: { name: 'application_name', redirect_uri: 'http://', scopes: '' }
end.not_to change { Doorkeeper::Application.count } end.not_to change { Doorkeeper::Application.count }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response).to be_a Hash expect(json_response).to be_a Hash
expect(json_response['message']['redirect_uri'][0]).to eq('must be an absolute URI.') expect(json_response['message']['redirect_uri'][0]).to eq('must be an absolute URI.')
end end
...@@ -39,7 +39,7 @@ describe API::Applications, :api do ...@@ -39,7 +39,7 @@ describe API::Applications, :api do
post api('/applications', admin_user), params: { name: 'application_name', redirect_uri: 'javascript://alert()', scopes: '' } post api('/applications', admin_user), params: { name: 'application_name', redirect_uri: 'javascript://alert()', scopes: '' }
end.not_to change { Doorkeeper::Application.count } end.not_to change { Doorkeeper::Application.count }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response).to be_a Hash expect(json_response).to be_a Hash
expect(json_response['message']['redirect_uri'][0]).to eq('is forbidden by the server.') expect(json_response['message']['redirect_uri'][0]).to eq('is forbidden by the server.')
end end
...@@ -49,7 +49,7 @@ describe API::Applications, :api do ...@@ -49,7 +49,7 @@ describe API::Applications, :api do
post api('/applications', admin_user), params: { redirect_uri: 'http://application.url', scopes: '' } post api('/applications', admin_user), params: { redirect_uri: 'http://application.url', scopes: '' }
end.not_to change { Doorkeeper::Application.count } end.not_to change { Doorkeeper::Application.count }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response).to be_a Hash expect(json_response).to be_a Hash
expect(json_response['error']).to eq('name is missing') expect(json_response['error']).to eq('name is missing')
end end
...@@ -59,7 +59,7 @@ describe API::Applications, :api do ...@@ -59,7 +59,7 @@ describe API::Applications, :api do
post api('/applications', admin_user), params: { name: 'application_name', scopes: '' } post api('/applications', admin_user), params: { name: 'application_name', scopes: '' }
end.not_to change { Doorkeeper::Application.count } end.not_to change { Doorkeeper::Application.count }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response).to be_a Hash expect(json_response).to be_a Hash
expect(json_response['error']).to eq('redirect_uri is missing') expect(json_response['error']).to eq('redirect_uri is missing')
end end
...@@ -69,7 +69,7 @@ describe API::Applications, :api do ...@@ -69,7 +69,7 @@ describe API::Applications, :api do
post api('/applications', admin_user), params: { name: 'application_name', redirect_uri: 'http://application.url' } post api('/applications', admin_user), params: { name: 'application_name', redirect_uri: 'http://application.url' }
end.not_to change { Doorkeeper::Application.count } end.not_to change { Doorkeeper::Application.count }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response).to be_a Hash expect(json_response).to be_a Hash
expect(json_response['error']).to eq('scopes is missing') expect(json_response['error']).to eq('scopes is missing')
end end
...@@ -79,7 +79,7 @@ describe API::Applications, :api do ...@@ -79,7 +79,7 @@ describe API::Applications, :api do
post api('/applications', admin_user), params: { name: 'application_name', redirect_uri: 'http://application.url', scopes: '', confidential: nil } post api('/applications', admin_user), params: { name: 'application_name', redirect_uri: 'http://application.url', scopes: '', confidential: nil }
end.not_to change { Doorkeeper::Application.count } end.not_to change { Doorkeeper::Application.count }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response).to be_a Hash expect(json_response).to be_a Hash
expect(json_response['message']['confidential'].first).to eq('is not included in the list') expect(json_response['message']['confidential'].first).to eq('is not included in the list')
end end
...@@ -91,7 +91,7 @@ describe API::Applications, :api do ...@@ -91,7 +91,7 @@ describe API::Applications, :api do
post api('/applications', user), params: { name: 'application_name', redirect_uri: 'http://application.url', scopes: '' } post api('/applications', user), params: { name: 'application_name', redirect_uri: 'http://application.url', scopes: '' }
end.not_to change { Doorkeeper::Application.count } end.not_to change { Doorkeeper::Application.count }
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -101,7 +101,7 @@ describe API::Applications, :api do ...@@ -101,7 +101,7 @@ describe API::Applications, :api do
post api('/applications'), params: { name: 'application_name', redirect_uri: 'http://application.url' } post api('/applications'), params: { name: 'application_name', redirect_uri: 'http://application.url' }
end.not_to change { Doorkeeper::Application.count } end.not_to change { Doorkeeper::Application.count }
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
end end
...@@ -111,7 +111,7 @@ describe API::Applications, :api do ...@@ -111,7 +111,7 @@ describe API::Applications, :api do
it 'can list application' do it 'can list application' do
get api('/applications', admin_user) get api('/applications', admin_user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to be_a(Array) expect(json_response).to be_a(Array)
end end
end end
...@@ -120,7 +120,7 @@ describe API::Applications, :api do ...@@ -120,7 +120,7 @@ describe API::Applications, :api do
it 'cannot list application' do it 'cannot list application' do
get api('/applications', user) get api('/applications', user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -128,7 +128,7 @@ describe API::Applications, :api do ...@@ -128,7 +128,7 @@ describe API::Applications, :api do
it 'cannot list application' do it 'cannot list application' do
get api('/applications') get api('/applications')
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
end end
...@@ -140,7 +140,7 @@ describe API::Applications, :api do ...@@ -140,7 +140,7 @@ describe API::Applications, :api do
delete api("/applications/#{application.id}", admin_user) delete api("/applications/#{application.id}", admin_user)
end.to change { Doorkeeper::Application.count }.by(-1) end.to change { Doorkeeper::Application.count }.by(-1)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end end
end end
...@@ -148,7 +148,7 @@ describe API::Applications, :api do ...@@ -148,7 +148,7 @@ describe API::Applications, :api do
it 'cannot delete an application' do it 'cannot delete an application' do
delete api("/applications/#{application.id}", user) delete api("/applications/#{application.id}", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -156,7 +156,7 @@ describe API::Applications, :api do ...@@ -156,7 +156,7 @@ describe API::Applications, :api do
it 'cannot delete an application' do it 'cannot delete an application' do
delete api("/applications/#{application.id}") delete api("/applications/#{application.id}")
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
end end
......
This diff is collapsed.
...@@ -35,7 +35,7 @@ describe API::Badges do ...@@ -35,7 +35,7 @@ describe API::Badges do
get api("/#{source_type.pluralize}/#{source.id}/badges", user) get api("/#{source_type.pluralize}/#{source.id}/badges", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(badges_count) expect(json_response.size).to eq(badges_count)
...@@ -80,7 +80,7 @@ describe API::Badges do ...@@ -80,7 +80,7 @@ describe API::Badges do
get api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", user) get api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['name']).to eq(badge.name) expect(json_response['name']).to eq(badge.name)
expect(json_response['id']).to eq(badge.id) expect(json_response['id']).to eq(badge.id)
expect(json_response['link_url']).to eq(badge.link_url) expect(json_response['link_url']).to eq(badge.link_url)
...@@ -120,7 +120,7 @@ describe API::Badges do ...@@ -120,7 +120,7 @@ describe API::Badges do
post api("/#{source_type.pluralize}/#{source.id}/badges", user), post api("/#{source_type.pluralize}/#{source.id}/badges", user),
params: { link_url: example_url, image_url: example_url2 } params: { link_url: example_url, image_url: example_url2 }
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
...@@ -132,7 +132,7 @@ describe API::Badges do ...@@ -132,7 +132,7 @@ describe API::Badges do
post api("/#{source_type.pluralize}/#{source.id}/badges", maintainer), post api("/#{source_type.pluralize}/#{source.id}/badges", maintainer),
params: { name: example_name, link_url: example_url, image_url: example_url2 } params: { name: example_name, link_url: example_url, image_url: example_url2 }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
end.to change { source.badges.count }.by(1) end.to change { source.badges.count }.by(1)
expect(json_response['name']).to eq(example_name) expect(json_response['name']).to eq(example_name)
...@@ -146,21 +146,21 @@ describe API::Badges do ...@@ -146,21 +146,21 @@ describe API::Badges do
post api("/#{source_type.pluralize}/#{source.id}/badges", maintainer), post api("/#{source_type.pluralize}/#{source.id}/badges", maintainer),
params: { link_url: example_url } params: { link_url: example_url }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
it 'returns 400 when image_url is not given' do it 'returns 400 when image_url is not given' do
post api("/#{source_type.pluralize}/#{source.id}/badges", maintainer), post api("/#{source_type.pluralize}/#{source.id}/badges", maintainer),
params: { image_url: example_url2 } params: { image_url: example_url2 }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
it 'returns 400 when link_url or image_url is not valid' do it 'returns 400 when link_url or image_url is not valid' do
post api("/#{source_type.pluralize}/#{source.id}/badges", maintainer), post api("/#{source_type.pluralize}/#{source.id}/badges", maintainer),
params: { link_url: 'whatever', image_url: 'whatever' } params: { link_url: 'whatever', image_url: 'whatever' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
end end
...@@ -192,7 +192,7 @@ describe API::Badges do ...@@ -192,7 +192,7 @@ describe API::Badges do
put api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", user), put api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", user),
params: { link_url: example_url } params: { link_url: example_url }
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
...@@ -203,7 +203,7 @@ describe API::Badges do ...@@ -203,7 +203,7 @@ describe API::Badges do
put api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", maintainer), put api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", maintainer),
params: { name: example_name, link_url: example_url, image_url: example_url2 } params: { name: example_name, link_url: example_url, image_url: example_url2 }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['name']).to eq(example_name) expect(json_response['name']).to eq(example_name)
expect(json_response['link_url']).to eq(example_url) expect(json_response['link_url']).to eq(example_url)
expect(json_response['image_url']).to eq(example_url2) expect(json_response['image_url']).to eq(example_url2)
...@@ -215,7 +215,7 @@ describe API::Badges do ...@@ -215,7 +215,7 @@ describe API::Badges do
put api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", maintainer), put api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", maintainer),
params: { link_url: 'whatever', image_url: 'whatever' } params: { link_url: 'whatever', image_url: 'whatever' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
end end
...@@ -240,7 +240,7 @@ describe API::Badges do ...@@ -240,7 +240,7 @@ describe API::Badges do
delete api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", user) delete api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
...@@ -251,7 +251,7 @@ describe API::Badges do ...@@ -251,7 +251,7 @@ describe API::Badges do
expect do expect do
delete api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", maintainer) delete api("/#{source_type.pluralize}/#{source.id}/badges/#{badge.id}", maintainer)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end.to change { source.badges.count }.by(-1) end.to change { source.badges.count }.by(-1)
end end
...@@ -263,7 +263,7 @@ describe API::Badges do ...@@ -263,7 +263,7 @@ describe API::Badges do
it 'returns 404 if badge does not exist' do it 'returns 404 if badge does not exist' do
delete api("/#{source_type.pluralize}/#{source.id}/badges/123", maintainer) delete api("/#{source_type.pluralize}/#{source.id}/badges/123", maintainer)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
end end
...@@ -290,7 +290,7 @@ describe API::Badges do ...@@ -290,7 +290,7 @@ describe API::Badges do
get api("/#{source_type.pluralize}/#{source.id}/badges/render?link_url=#{example_url}&image_url=#{example_url2}", user) get api("/#{source_type.pluralize}/#{source.id}/badges/render?link_url=#{example_url}&image_url=#{example_url2}", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
...@@ -300,7 +300,7 @@ describe API::Badges do ...@@ -300,7 +300,7 @@ describe API::Badges do
it 'gets the rendered badge values' do it 'gets the rendered badge values' do
get api("/#{source_type.pluralize}/#{source.id}/badges/render?link_url=#{example_url}&image_url=#{example_url2}", maintainer) get api("/#{source_type.pluralize}/#{source.id}/badges/render?link_url=#{example_url}&image_url=#{example_url2}", maintainer)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response.keys).to contain_exactly('name', 'link_url', 'rendered_link_url', 'image_url', 'rendered_image_url') expect(json_response.keys).to contain_exactly('name', 'link_url', 'rendered_link_url', 'image_url', 'rendered_image_url')
expect(json_response['link_url']).to eq(example_url) expect(json_response['link_url']).to eq(example_url)
...@@ -313,19 +313,19 @@ describe API::Badges do ...@@ -313,19 +313,19 @@ describe API::Badges do
it 'returns 400 when link_url is not given' do it 'returns 400 when link_url is not given' do
get api("/#{source_type.pluralize}/#{source.id}/badges/render?link_url=#{example_url}", maintainer) get api("/#{source_type.pluralize}/#{source.id}/badges/render?link_url=#{example_url}", maintainer)
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
it 'returns 400 when image_url is not given' do it 'returns 400 when image_url is not given' do
get api("/#{source_type.pluralize}/#{source.id}/badges/render?image_url=#{example_url}", maintainer) get api("/#{source_type.pluralize}/#{source.id}/badges/render?image_url=#{example_url}", maintainer)
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
it 'returns 400 when link_url or image_url is not valid' do it 'returns 400 when link_url or image_url is not valid' do
get api("/#{source_type.pluralize}/#{source.id}/badges/render?link_url=whatever&image_url=whatever", maintainer) get api("/#{source_type.pluralize}/#{source.id}/badges/render?link_url=whatever&image_url=whatever", maintainer)
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
end end
...@@ -335,7 +335,7 @@ describe API::Badges do ...@@ -335,7 +335,7 @@ describe API::Badges do
it 'cannot delete badges owned by the project group' do it 'cannot delete badges owned by the project group' do
delete api("/projects/#{project.id}/badges/#{project_group.badges.first.id}", maintainer) delete api("/projects/#{project.id}/badges/#{project_group.badges.first.id}", maintainer)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
......
...@@ -45,7 +45,7 @@ describe API::Boards do ...@@ -45,7 +45,7 @@ describe API::Boards do
post api(url, user), params: { label_id: group_label.id } post api(url, user), params: { label_id: group_label.id }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['label']['name']).to eq(group_label.title) expect(json_response['label']['name']).to eq(group_label.title)
expect(json_response['position']).to eq(3) expect(json_response['position']).to eq(3)
end end
...@@ -60,7 +60,7 @@ describe API::Boards do ...@@ -60,7 +60,7 @@ describe API::Boards do
post api(url, user), params: { label_id: group_label.id } post api(url, user), params: { label_id: group_label.id }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['label']['name']).to eq(group_label.title) expect(json_response['label']['name']).to eq(group_label.title)
end end
end end
...@@ -78,7 +78,7 @@ describe API::Boards do ...@@ -78,7 +78,7 @@ describe API::Boards do
post api(url, user), params: { label_id: group_label.id } post api(url, user), params: { label_id: group_label.id }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['label']['name']).to eq(group_label.title) expect(json_response['label']['name']).to eq(group_label.title)
end end
end end
......
...@@ -31,7 +31,7 @@ describe API::Branches do ...@@ -31,7 +31,7 @@ describe API::Branches do
it 'returns the repository branches' do it 'returns the repository branches' do
get api(route, current_user), params: { per_page: 100 } get api(route, current_user), params: { per_page: 100 }
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/branches') expect(response).to match_response_schema('public_api/v4/branches')
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
branch_names = json_response.map { |x| x['name'] } branch_names = json_response.map { |x| x['name'] }
...@@ -51,7 +51,7 @@ describe API::Branches do ...@@ -51,7 +51,7 @@ describe API::Branches do
get api(route, current_user), params: { per_page: 2 } get api(route, current_user), params: { per_page: 2 }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
check_merge_status(json_response) check_merge_status(json_response)
end end
...@@ -59,7 +59,7 @@ describe API::Branches do ...@@ -59,7 +59,7 @@ describe API::Branches do
it 'merge status matches reality on paginated input' do it 'merge status matches reality on paginated input' do
get api(route, current_user), params: { per_page: 20, page: 2 } get api(route, current_user), params: { per_page: 20, page: 2 }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
check_merge_status(json_response) check_merge_status(json_response)
end end
...@@ -155,14 +155,14 @@ describe API::Branches do ...@@ -155,14 +155,14 @@ describe API::Branches do
it 'returns 204 No Content' do it 'returns 204 No Content' do
head api(route, user) head api(route, user)
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
it 'returns 404 Not Found' do it 'returns 404 Not Found' do
head api("/projects/#{project_id}/repository/branches/unknown", user) head api("/projects/#{project_id}/repository/branches/unknown", user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
expect(response.body).to be_empty expect(response.body).to be_empty
end end
end end
...@@ -170,7 +170,7 @@ describe API::Branches do ...@@ -170,7 +170,7 @@ describe API::Branches do
it 'returns the repository branch' do it 'returns the repository branch' do
get api(route, current_user) get api(route, current_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/branch') expect(response).to match_response_schema('public_api/v4/branch')
expect(json_response['name']).to eq(CGI.unescape(branch_name)) expect(json_response['name']).to eq(CGI.unescape(branch_name))
end end
...@@ -298,7 +298,7 @@ describe API::Branches do ...@@ -298,7 +298,7 @@ describe API::Branches do
it 'protects a single branch' do it 'protects a single branch' do
put api(route, current_user) put api(route, current_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/branch') expect(response).to match_response_schema('public_api/v4/branch')
expect(json_response['name']).to eq(CGI.unescape(branch_name)) expect(json_response['name']).to eq(CGI.unescape(branch_name))
expect(json_response['protected']).to eq(true) expect(json_response['protected']).to eq(true)
...@@ -307,7 +307,7 @@ describe API::Branches do ...@@ -307,7 +307,7 @@ describe API::Branches do
it 'protects a single branch and developers can push' do it 'protects a single branch and developers can push' do
put api(route, current_user), params: { developers_can_push: true } put api(route, current_user), params: { developers_can_push: true }
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/branch') expect(response).to match_response_schema('public_api/v4/branch')
expect(json_response['name']).to eq(CGI.unescape(branch_name)) expect(json_response['name']).to eq(CGI.unescape(branch_name))
expect(json_response['protected']).to eq(true) expect(json_response['protected']).to eq(true)
...@@ -318,7 +318,7 @@ describe API::Branches do ...@@ -318,7 +318,7 @@ describe API::Branches do
it 'protects a single branch and developers can merge' do it 'protects a single branch and developers can merge' do
put api(route, current_user), params: { developers_can_merge: true } put api(route, current_user), params: { developers_can_merge: true }
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/branch') expect(response).to match_response_schema('public_api/v4/branch')
expect(json_response['name']).to eq(CGI.unescape(branch_name)) expect(json_response['name']).to eq(CGI.unescape(branch_name))
expect(json_response['protected']).to eq(true) expect(json_response['protected']).to eq(true)
...@@ -329,7 +329,7 @@ describe API::Branches do ...@@ -329,7 +329,7 @@ describe API::Branches do
it 'protects a single branch and developers can push and merge' do it 'protects a single branch and developers can push and merge' do
put api(route, current_user), params: { developers_can_push: true, developers_can_merge: true } put api(route, current_user), params: { developers_can_push: true, developers_can_merge: true }
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/branch') expect(response).to match_response_schema('public_api/v4/branch')
expect(json_response['name']).to eq(CGI.unescape(branch_name)) expect(json_response['name']).to eq(CGI.unescape(branch_name))
expect(json_response['protected']).to eq(true) expect(json_response['protected']).to eq(true)
...@@ -428,7 +428,7 @@ describe API::Branches do ...@@ -428,7 +428,7 @@ describe API::Branches do
put api("/projects/#{project.id}/repository/branches/#{protected_branch.name}/protect", user), put api("/projects/#{project.id}/repository/branches/#{protected_branch.name}/protect", user),
params: { developers_can_push: false, developers_can_merge: false } params: { developers_can_push: false, developers_can_merge: false }
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/branch') expect(response).to match_response_schema('public_api/v4/branch')
expect(json_response['name']).to eq(protected_branch.name) expect(json_response['name']).to eq(protected_branch.name)
expect(json_response['protected']).to eq(true) expect(json_response['protected']).to eq(true)
...@@ -446,7 +446,7 @@ describe API::Branches do ...@@ -446,7 +446,7 @@ describe API::Branches do
put api("/projects/#{project.id}/repository/branches/#{protected_branch.name}/protect", user), put api("/projects/#{project.id}/repository/branches/#{protected_branch.name}/protect", user),
params: { developers_can_push: true, developers_can_merge: true } params: { developers_can_push: true, developers_can_merge: true }
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/branch') expect(response).to match_response_schema('public_api/v4/branch')
expect(json_response['name']).to eq(protected_branch.name) expect(json_response['name']).to eq(protected_branch.name)
expect(json_response['protected']).to eq(true) expect(json_response['protected']).to eq(true)
...@@ -465,7 +465,7 @@ describe API::Branches do ...@@ -465,7 +465,7 @@ describe API::Branches do
it 'unprotects a single branch' do it 'unprotects a single branch' do
put api(route, current_user) put api(route, current_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/branch') expect(response).to match_response_schema('public_api/v4/branch')
expect(json_response['name']).to eq(CGI.unescape(branch_name)) expect(json_response['name']).to eq(CGI.unescape(branch_name))
expect(json_response['protected']).to eq(false) expect(json_response['protected']).to eq(false)
...@@ -559,7 +559,7 @@ describe API::Branches do ...@@ -559,7 +559,7 @@ describe API::Branches do
it 'creates a new branch' do it 'creates a new branch' do
post api(route, current_user), params: { branch: 'feature1', ref: branch_sha } post api(route, current_user), params: { branch: 'feature1', ref: branch_sha }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(response).to match_response_schema('public_api/v4/branch') expect(response).to match_response_schema('public_api/v4/branch')
expect(json_response['name']).to eq('feature1') expect(json_response['name']).to eq('feature1')
expect(json_response['commit']['id']).to eq(branch_sha) expect(json_response['commit']['id']).to eq(branch_sha)
...@@ -604,25 +604,25 @@ describe API::Branches do ...@@ -604,25 +604,25 @@ describe API::Branches do
it 'returns 400 if branch name is invalid' do it 'returns 400 if branch name is invalid' do
post api(route, user), params: { branch: 'new design', ref: branch_sha } post api(route, user), params: { branch: 'new design', ref: branch_sha }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']).to eq('Branch name is invalid') expect(json_response['message']).to eq('Branch name is invalid')
end end
it 'returns 400 if branch already exists', :clean_gitlab_redis_cache do it 'returns 400 if branch already exists', :clean_gitlab_redis_cache do
post api(route, user), params: { branch: 'new_design1', ref: branch_sha } post api(route, user), params: { branch: 'new_design1', ref: branch_sha }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
post api(route, user), params: { branch: 'new_design1', ref: branch_sha } post api(route, user), params: { branch: 'new_design1', ref: branch_sha }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']).to eq('Branch already exists') expect(json_response['message']).to eq('Branch already exists')
end end
it 'returns 400 if ref name is invalid' do it 'returns 400 if ref name is invalid' do
post api(route, user), params: { branch: 'new_design3', ref: 'foo' } post api(route, user), params: { branch: 'new_design3', ref: 'foo' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']).to eq('Invalid reference name: new_design3') expect(json_response['message']).to eq('Invalid reference name: new_design3')
end end
end end
...@@ -637,19 +637,19 @@ describe API::Branches do ...@@ -637,19 +637,19 @@ describe API::Branches do
it 'removes branch' do it 'removes branch' do
delete api("/projects/#{project.id}/repository/branches/#{branch_name}", user) delete api("/projects/#{project.id}/repository/branches/#{branch_name}", user)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end end
it 'removes a branch with dots in the branch name' do it 'removes a branch with dots in the branch name' do
delete api("/projects/#{project.id}/repository/branches/#{branch_with_dot.name}", user) delete api("/projects/#{project.id}/repository/branches/#{branch_with_dot.name}", user)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end end
it 'returns 404 if branch not exists' do it 'returns 404 if branch not exists' do
delete api("/projects/#{project.id}/repository/branches/foobar", user) delete api("/projects/#{project.id}/repository/branches/foobar", user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
context 'when the branch refname is invalid' do context 'when the branch refname is invalid' do
...@@ -676,14 +676,14 @@ describe API::Branches do ...@@ -676,14 +676,14 @@ describe API::Branches do
it 'returns 202 with json body' do it 'returns 202 with json body' do
delete api("/projects/#{project.id}/repository/merged_branches", user) delete api("/projects/#{project.id}/repository/merged_branches", user)
expect(response).to have_gitlab_http_status(202) expect(response).to have_gitlab_http_status(:accepted)
expect(json_response['message']).to eql('202 Accepted') expect(json_response['message']).to eql('202 Accepted')
end end
it 'returns a 403 error if guest' do it 'returns a 403 error if guest' do
delete api("/projects/#{project.id}/repository/merged_branches", guest) delete api("/projects/#{project.id}/repository/merged_branches", guest)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
...@@ -13,7 +13,7 @@ describe API::BroadcastMessages do ...@@ -13,7 +13,7 @@ describe API::BroadcastMessages do
get api('/broadcast_messages') get api('/broadcast_messages')
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_kind_of(Array) expect(json_response).to be_kind_of(Array)
expect(json_response.first.keys) expect(json_response.first.keys)
...@@ -25,7 +25,7 @@ describe API::BroadcastMessages do ...@@ -25,7 +25,7 @@ describe API::BroadcastMessages do
it 'returns the specified message' do it 'returns the specified message' do
get api("/broadcast_messages/#{message.id}") get api("/broadcast_messages/#{message.id}")
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['id']).to eq message.id expect(json_response['id']).to eq message.id
expect(json_response.keys) expect(json_response.keys)
.to match_array(%w(id message starts_at ends_at color font active target_path broadcast_type)) .to match_array(%w(id message starts_at ends_at color font active target_path broadcast_type))
...@@ -36,13 +36,13 @@ describe API::BroadcastMessages do ...@@ -36,13 +36,13 @@ describe API::BroadcastMessages do
it 'returns a 401 for anonymous users' do it 'returns a 401 for anonymous users' do
post api('/broadcast_messages'), params: attributes_for(:broadcast_message) post api('/broadcast_messages'), params: attributes_for(:broadcast_message)
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns a 403 for users' do it 'returns a 403 for users' do
post api('/broadcast_messages', user), params: attributes_for(:broadcast_message) post api('/broadcast_messages', user), params: attributes_for(:broadcast_message)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
context 'as an admin' do context 'as an admin' do
...@@ -52,7 +52,7 @@ describe API::BroadcastMessages do ...@@ -52,7 +52,7 @@ describe API::BroadcastMessages do
post api('/broadcast_messages', admin), params: attrs post api('/broadcast_messages', admin), params: attrs
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['error']).to eq 'message is missing' expect(json_response['error']).to eq 'message is missing'
end end
...@@ -61,7 +61,7 @@ describe API::BroadcastMessages do ...@@ -61,7 +61,7 @@ describe API::BroadcastMessages do
travel_to(time) do travel_to(time) do
post api('/broadcast_messages', admin), params: { message: 'Test message' } post api('/broadcast_messages', admin), params: { message: 'Test message' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['starts_at']).to eq '2016-07-02T10:11:12.000Z' expect(json_response['starts_at']).to eq '2016-07-02T10:11:12.000Z'
expect(json_response['ends_at']).to eq '2016-07-02T11:11:12.000Z' expect(json_response['ends_at']).to eq '2016-07-02T11:11:12.000Z'
end end
...@@ -72,7 +72,7 @@ describe API::BroadcastMessages do ...@@ -72,7 +72,7 @@ describe API::BroadcastMessages do
post api('/broadcast_messages', admin), params: attrs post api('/broadcast_messages', admin), params: attrs
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['color']).to eq attrs[:color] expect(json_response['color']).to eq attrs[:color]
expect(json_response['font']).to eq attrs[:font] expect(json_response['font']).to eq attrs[:font]
end end
...@@ -82,7 +82,7 @@ describe API::BroadcastMessages do ...@@ -82,7 +82,7 @@ describe API::BroadcastMessages do
post api('/broadcast_messages', admin), params: attrs post api('/broadcast_messages', admin), params: attrs
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['target_path']).to eq attrs[:target_path] expect(json_response['target_path']).to eq attrs[:target_path]
end end
...@@ -91,7 +91,7 @@ describe API::BroadcastMessages do ...@@ -91,7 +91,7 @@ describe API::BroadcastMessages do
post api('/broadcast_messages', admin), params: attrs post api('/broadcast_messages', admin), params: attrs
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['broadcast_type']).to eq attrs[:broadcast_type] expect(json_response['broadcast_type']).to eq attrs[:broadcast_type]
end end
...@@ -100,7 +100,7 @@ describe API::BroadcastMessages do ...@@ -100,7 +100,7 @@ describe API::BroadcastMessages do
post api('/broadcast_messages', admin), params: attrs post api('/broadcast_messages', admin), params: attrs
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['broadcast_type']).to eq 'banner' expect(json_response['broadcast_type']).to eq 'banner'
end end
...@@ -109,7 +109,7 @@ describe API::BroadcastMessages do ...@@ -109,7 +109,7 @@ describe API::BroadcastMessages do
post api('/broadcast_messages', admin), params: attrs post api('/broadcast_messages', admin), params: attrs
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
end end
...@@ -119,14 +119,14 @@ describe API::BroadcastMessages do ...@@ -119,14 +119,14 @@ describe API::BroadcastMessages do
put api("/broadcast_messages/#{message.id}"), put api("/broadcast_messages/#{message.id}"),
params: attributes_for(:broadcast_message) params: attributes_for(:broadcast_message)
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns a 403 for users' do it 'returns a 403 for users' do
put api("/broadcast_messages/#{message.id}", user), put api("/broadcast_messages/#{message.id}", user),
params: attributes_for(:broadcast_message) params: attributes_for(:broadcast_message)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
context 'as an admin' do context 'as an admin' do
...@@ -135,7 +135,7 @@ describe API::BroadcastMessages do ...@@ -135,7 +135,7 @@ describe API::BroadcastMessages do
put api("/broadcast_messages/#{message.id}", admin), params: attrs put api("/broadcast_messages/#{message.id}", admin), params: attrs
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['color']).to eq attrs[:color] expect(json_response['color']).to eq attrs[:color]
expect(json_response['font']).to eq attrs[:font] expect(json_response['font']).to eq attrs[:font]
end end
...@@ -147,7 +147,7 @@ describe API::BroadcastMessages do ...@@ -147,7 +147,7 @@ describe API::BroadcastMessages do
put api("/broadcast_messages/#{message.id}", admin), params: attrs put api("/broadcast_messages/#{message.id}", admin), params: attrs
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['starts_at']).to eq '2016-07-02T10:11:12.000Z' expect(json_response['starts_at']).to eq '2016-07-02T10:11:12.000Z'
expect(json_response['ends_at']).to eq '2016-07-02T13:11:12.000Z' expect(json_response['ends_at']).to eq '2016-07-02T13:11:12.000Z'
end end
...@@ -158,7 +158,7 @@ describe API::BroadcastMessages do ...@@ -158,7 +158,7 @@ describe API::BroadcastMessages do
put api("/broadcast_messages/#{message.id}", admin), params: attrs put api("/broadcast_messages/#{message.id}", admin), params: attrs
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect { message.reload }.to change { message.message }.to('new message') expect { message.reload }.to change { message.message }.to('new message')
end end
...@@ -167,7 +167,7 @@ describe API::BroadcastMessages do ...@@ -167,7 +167,7 @@ describe API::BroadcastMessages do
put api("/broadcast_messages/#{message.id}", admin), params: attrs put api("/broadcast_messages/#{message.id}", admin), params: attrs
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['target_path']).to eq attrs[:target_path] expect(json_response['target_path']).to eq attrs[:target_path]
end end
...@@ -176,7 +176,7 @@ describe API::BroadcastMessages do ...@@ -176,7 +176,7 @@ describe API::BroadcastMessages do
put api("/broadcast_messages/#{message.id}", admin), params: attrs put api("/broadcast_messages/#{message.id}", admin), params: attrs
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['broadcast_type']).to eq attrs[:broadcast_type] expect(json_response['broadcast_type']).to eq attrs[:broadcast_type]
end end
...@@ -185,7 +185,7 @@ describe API::BroadcastMessages do ...@@ -185,7 +185,7 @@ describe API::BroadcastMessages do
put api("/broadcast_messages/#{message.id}", admin), params: attrs put api("/broadcast_messages/#{message.id}", admin), params: attrs
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
end end
...@@ -195,14 +195,14 @@ describe API::BroadcastMessages do ...@@ -195,14 +195,14 @@ describe API::BroadcastMessages do
delete api("/broadcast_messages/#{message.id}"), delete api("/broadcast_messages/#{message.id}"),
params: attributes_for(:broadcast_message) params: attributes_for(:broadcast_message)
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns a 403 for users' do it 'returns a 403 for users' do
delete api("/broadcast_messages/#{message.id}", user), delete api("/broadcast_messages/#{message.id}", user),
params: attributes_for(:broadcast_message) params: attributes_for(:broadcast_message)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
it_behaves_like '412 response' do it_behaves_like '412 response' do
...@@ -213,7 +213,7 @@ describe API::BroadcastMessages do ...@@ -213,7 +213,7 @@ describe API::BroadcastMessages do
expect do expect do
delete api("/broadcast_messages/#{message.id}", admin) delete api("/broadcast_messages/#{message.id}", admin)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end.to change { BroadcastMessage.count }.by(-1) end.to change { BroadcastMessage.count }.by(-1)
end end
end end
......
...@@ -37,7 +37,7 @@ describe API::CommitStatuses do ...@@ -37,7 +37,7 @@ describe API::CommitStatuses do
end end
it 'returns latest commit statuses' do it 'returns latest commit statuses' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
...@@ -53,7 +53,7 @@ describe API::CommitStatuses do ...@@ -53,7 +53,7 @@ describe API::CommitStatuses do
end end
it 'returns all commit statuses' do it 'returns all commit statuses' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(statuses_id).to contain_exactly(status1.id, status2.id, expect(statuses_id).to contain_exactly(status1.id, status2.id,
...@@ -68,7 +68,7 @@ describe API::CommitStatuses do ...@@ -68,7 +68,7 @@ describe API::CommitStatuses do
end end
it 'returns latest commit statuses for specific ref' do it 'returns latest commit statuses for specific ref' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(statuses_id).to contain_exactly(status3.id, status5.id) expect(statuses_id).to contain_exactly(status3.id, status5.id)
...@@ -81,7 +81,7 @@ describe API::CommitStatuses do ...@@ -81,7 +81,7 @@ describe API::CommitStatuses do
end end
it 'return latest commit statuses for specific name' do it 'return latest commit statuses for specific name' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(statuses_id).to contain_exactly(status4.id, status5.id) expect(statuses_id).to contain_exactly(status4.id, status5.id)
...@@ -108,7 +108,7 @@ describe API::CommitStatuses do ...@@ -108,7 +108,7 @@ describe API::CommitStatuses do
end end
it "does not return project commits" do it "does not return project commits" do
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -118,7 +118,7 @@ describe API::CommitStatuses do ...@@ -118,7 +118,7 @@ describe API::CommitStatuses do
end end
it "does not return project commits" do it "does not return project commits" do
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
end end
...@@ -134,7 +134,7 @@ describe API::CommitStatuses do ...@@ -134,7 +134,7 @@ describe API::CommitStatuses do
it 'creates commit status' do it 'creates commit status' do
post api(post_url, developer), params: { state: status } post api(post_url, developer), params: { state: status }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['sha']).to eq(commit.id) expect(json_response['sha']).to eq(commit.id)
expect(json_response['status']).to eq(status) expect(json_response['status']).to eq(status)
expect(json_response['name']).to eq('default') expect(json_response['name']).to eq('default')
...@@ -162,7 +162,7 @@ describe API::CommitStatuses do ...@@ -162,7 +162,7 @@ describe API::CommitStatuses do
job = pipeline.statuses.find_by_name(json_response['name']) job = pipeline.statuses.find_by_name(json_response['name'])
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(job.status).to eq('pending') expect(job.status).to eq('pending')
expect(job.stage_idx).to eq(GenericCommitStatus::EXTERNAL_STAGE_IDX) expect(job.stage_idx).to eq(GenericCommitStatus::EXTERNAL_STAGE_IDX)
end end
...@@ -189,7 +189,7 @@ describe API::CommitStatuses do ...@@ -189,7 +189,7 @@ describe API::CommitStatuses do
it "to #{status}" do it "to #{status}" do
expect { post api(post_url, developer), params: { state: status } }.not_to change { CommitStatus.count } expect { post api(post_url, developer), params: { state: status } }.not_to change { CommitStatus.count }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['status']).to eq(status) expect(json_response['status']).to eq(status)
end end
end end
...@@ -211,7 +211,7 @@ describe API::CommitStatuses do ...@@ -211,7 +211,7 @@ describe API::CommitStatuses do
it 'creates commit status' do it 'creates commit status' do
subject subject
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['sha']).to eq(commit.id) expect(json_response['sha']).to eq(commit.id)
expect(json_response['status']).to eq('success') expect(json_response['status']).to eq('success')
expect(json_response['name']).to eq('coverage') expect(json_response['name']).to eq('coverage')
...@@ -227,7 +227,7 @@ describe API::CommitStatuses do ...@@ -227,7 +227,7 @@ describe API::CommitStatuses do
it 'sets head pipeline' do it 'sets head pipeline' do
subject subject
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(merge_request.reload.head_pipeline).not_to be_nil expect(merge_request.reload.head_pipeline).not_to be_nil
end end
end end
...@@ -254,7 +254,7 @@ describe API::CommitStatuses do ...@@ -254,7 +254,7 @@ describe API::CommitStatuses do
end end
it 'updates a commit status' do it 'updates a commit status' do
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['sha']).to eq(commit.id) expect(json_response['sha']).to eq(commit.id)
expect(json_response['status']).to eq('success') expect(json_response['status']).to eq('success')
expect(json_response['name']).to eq('coverage') expect(json_response['name']).to eq('coverage')
...@@ -300,7 +300,7 @@ describe API::CommitStatuses do ...@@ -300,7 +300,7 @@ describe API::CommitStatuses do
end end
it 'correctly posts a new commit status' do it 'correctly posts a new commit status' do
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['sha']).to eq(commit.id) expect(json_response['sha']).to eq(commit.id)
expect(json_response['status']).to eq('success') expect(json_response['status']).to eq('success')
end end
...@@ -318,7 +318,7 @@ describe API::CommitStatuses do ...@@ -318,7 +318,7 @@ describe API::CommitStatuses do
end end
it 'does not create commit status' do it 'does not create commit status' do
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
...@@ -328,7 +328,7 @@ describe API::CommitStatuses do ...@@ -328,7 +328,7 @@ describe API::CommitStatuses do
end end
it 'does not create commit status' do it 'does not create commit status' do
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
...@@ -342,7 +342,7 @@ describe API::CommitStatuses do ...@@ -342,7 +342,7 @@ describe API::CommitStatuses do
let(:user) { developer } let(:user) { developer }
it 'does not create commit status' do it 'does not create commit status' do
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -350,7 +350,7 @@ describe API::CommitStatuses do ...@@ -350,7 +350,7 @@ describe API::CommitStatuses do
let(:user) { create_user(:maintainer) } let(:user) { create_user(:maintainer) }
it 'creates commit status' do it 'creates commit status' do
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
end end
end end
end end
...@@ -363,7 +363,7 @@ describe API::CommitStatuses do ...@@ -363,7 +363,7 @@ describe API::CommitStatuses do
end end
it 'returns not found error' do it 'returns not found error' do
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
...@@ -376,7 +376,7 @@ describe API::CommitStatuses do ...@@ -376,7 +376,7 @@ describe API::CommitStatuses do
end end
it 'responds with bad request status and validation errors' do it 'responds with bad request status and validation errors' do
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']['target_url']) expect(json_response['message']['target_url'])
.to include 'is blocked: Only allowed schemes are http, https' .to include 'is blocked: Only allowed schemes are http, https'
end end
...@@ -391,7 +391,7 @@ describe API::CommitStatuses do ...@@ -391,7 +391,7 @@ describe API::CommitStatuses do
end end
it 'responds with bad request status and validation errors' do it 'responds with bad request status and validation errors' do
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']['target_url']) expect(json_response['message']['target_url'])
.to include 'is blocked: Only allowed schemes are http, https' .to include 'is blocked: Only allowed schemes are http, https'
end end
...@@ -407,7 +407,7 @@ describe API::CommitStatuses do ...@@ -407,7 +407,7 @@ describe API::CommitStatuses do
end end
it 'responds with bad request status and validation errors' do it 'responds with bad request status and validation errors' do
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['message']['name']) expect(json_response['message']['name'])
.to include 'has already been taken' .to include 'has already been taken'
end end
...@@ -420,7 +420,7 @@ describe API::CommitStatuses do ...@@ -420,7 +420,7 @@ describe API::CommitStatuses do
end end
it 'does not create commit status' do it 'does not create commit status' do
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -430,7 +430,7 @@ describe API::CommitStatuses do ...@@ -430,7 +430,7 @@ describe API::CommitStatuses do
end end
it 'does not create commit status' do it 'does not create commit status' do
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -440,7 +440,7 @@ describe API::CommitStatuses do ...@@ -440,7 +440,7 @@ describe API::CommitStatuses do
end end
it 'does not create commit status' do it 'does not create commit status' do
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
end end
......
This diff is collapsed.
...@@ -51,7 +51,7 @@ describe API::DeployKeys do ...@@ -51,7 +51,7 @@ describe API::DeployKeys do
it 'returns array of ssh keys' do it 'returns array of ssh keys' do
get api("/projects/#{project.id}/deploy_keys", admin) get api("/projects/#{project.id}/deploy_keys", admin)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.first['title']).to eq(deploy_key.title) expect(json_response.first['title']).to eq(deploy_key.title)
...@@ -62,14 +62,14 @@ describe API::DeployKeys do ...@@ -62,14 +62,14 @@ describe API::DeployKeys do
it 'returns a single key' do it 'returns a single key' do
get api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin) get api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['title']).to eq(deploy_key.title) expect(json_response['title']).to eq(deploy_key.title)
end end
it 'returns 404 Not Found with invalid ID' do it 'returns 404 Not Found with invalid ID' do
get api("/projects/#{project.id}/deploy_keys/404", admin) get api("/projects/#{project.id}/deploy_keys/404", admin)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
...@@ -77,14 +77,14 @@ describe API::DeployKeys do ...@@ -77,14 +77,14 @@ describe API::DeployKeys do
it 'does not create an invalid ssh key' do it 'does not create an invalid ssh key' do
post api("/projects/#{project.id}/deploy_keys", admin), params: { title: 'invalid key' } post api("/projects/#{project.id}/deploy_keys", admin), params: { title: 'invalid key' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['error']).to eq('key is missing') expect(json_response['error']).to eq('key is missing')
end end
it 'does not create a key without title' do it 'does not create a key without title' do
post api("/projects/#{project.id}/deploy_keys", admin), params: { key: 'some key' } post api("/projects/#{project.id}/deploy_keys", admin), params: { key: 'some key' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response['error']).to eq('title is missing') expect(json_response['error']).to eq('title is missing')
end end
...@@ -105,7 +105,7 @@ describe API::DeployKeys do ...@@ -105,7 +105,7 @@ describe API::DeployKeys do
post api("/projects/#{project.id}/deploy_keys", admin), params: { key: deploy_key.key, title: deploy_key.title } post api("/projects/#{project.id}/deploy_keys", admin), params: { key: deploy_key.key, title: deploy_key.title }
end.not_to change { project.deploy_keys.count } end.not_to change { project.deploy_keys.count }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
end end
it 'joins an existing ssh key to a new project' do it 'joins an existing ssh key to a new project' do
...@@ -113,7 +113,7 @@ describe API::DeployKeys do ...@@ -113,7 +113,7 @@ describe API::DeployKeys do
post api("/projects/#{project2.id}/deploy_keys", admin), params: { key: deploy_key.key, title: deploy_key.title } post api("/projects/#{project2.id}/deploy_keys", admin), params: { key: deploy_key.key, title: deploy_key.title }
end.to change { project2.deploy_keys.count }.by(1) end.to change { project2.deploy_keys.count }.by(1)
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
end end
it 'accepts can_push parameter' do it 'accepts can_push parameter' do
...@@ -121,7 +121,7 @@ describe API::DeployKeys do ...@@ -121,7 +121,7 @@ describe API::DeployKeys do
post api("/projects/#{project.id}/deploy_keys", admin), params: key_attrs post api("/projects/#{project.id}/deploy_keys", admin), params: key_attrs
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['can_push']).to eq(true) expect(json_response['can_push']).to eq(true)
end end
end end
...@@ -139,7 +139,7 @@ describe API::DeployKeys do ...@@ -139,7 +139,7 @@ describe API::DeployKeys do
it 'does not update a public deploy key' do it 'does not update a public deploy key' do
expect { subject }.not_to change(deploy_key, :title) expect { subject }.not_to change(deploy_key, :title)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
...@@ -151,12 +151,12 @@ describe API::DeployKeys do ...@@ -151,12 +151,12 @@ describe API::DeployKeys do
it 'updates the title of the deploy key' do it 'updates the title of the deploy key' do
expect { subject }.to change { deploy_key.reload.title }.to 'new title' expect { subject }.to change { deploy_key.reload.title }.to 'new title'
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
it 'updates can_push of deploy_keys_project' do it 'updates can_push of deploy_keys_project' do
expect { subject }.to change { deploy_keys_project.reload.can_push }.from(false).to(true) expect { subject }.to change { deploy_keys_project.reload.can_push }.from(false).to(true)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
end end
...@@ -169,12 +169,12 @@ describe API::DeployKeys do ...@@ -169,12 +169,12 @@ describe API::DeployKeys do
it 'updates the title of the deploy key' do it 'updates the title of the deploy key' do
expect { subject }.to change { deploy_key.reload.title }.to 'new title' expect { subject }.to change { deploy_key.reload.title }.to 'new title'
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
it 'updates can_push of deploy_keys_project' do it 'updates can_push of deploy_keys_project' do
expect { subject }.to change { deploy_keys_project.reload.can_push }.from(false).to(true) expect { subject }.to change { deploy_keys_project.reload.can_push }.from(false).to(true)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
context 'invalid title' do context 'invalid title' do
...@@ -182,7 +182,7 @@ describe API::DeployKeys do ...@@ -182,7 +182,7 @@ describe API::DeployKeys do
it 'does not update the title of the deploy key' do it 'does not update the title of the deploy key' do
expect { subject }.not_to change { deploy_key.reload.title } expect { subject }.not_to change { deploy_key.reload.title }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
end end
...@@ -200,12 +200,12 @@ describe API::DeployKeys do ...@@ -200,12 +200,12 @@ describe API::DeployKeys do
it 'updates the title of the deploy key' do it 'updates the title of the deploy key' do
expect { subject }.to change { deploy_key.reload.title }.to 'new title' expect { subject }.to change { deploy_key.reload.title }.to 'new title'
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
it 'updates can_push of deploy_keys_project' do it 'updates can_push of deploy_keys_project' do
expect { subject }.to change { deploy_keys_project.reload.can_push }.from(false).to(true) expect { subject }.to change { deploy_keys_project.reload.can_push }.from(false).to(true)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
end end
end end
...@@ -222,12 +222,12 @@ describe API::DeployKeys do ...@@ -222,12 +222,12 @@ describe API::DeployKeys do
it 'does not update the title of the deploy key' do it 'does not update the title of the deploy key' do
expect { subject }.not_to change { deploy_key.reload.title } expect { subject }.not_to change { deploy_key.reload.title }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
it 'updates can_push of deploy_keys_project' do it 'updates can_push of deploy_keys_project' do
expect { subject }.to change { deploy_keys_project.reload.can_push }.from(false).to(true) expect { subject }.to change { deploy_keys_project.reload.can_push }.from(false).to(true)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
end end
end end
...@@ -242,7 +242,7 @@ describe API::DeployKeys do ...@@ -242,7 +242,7 @@ describe API::DeployKeys do
expect do expect do
delete api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin) delete api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end.to change { project.deploy_keys.count }.by(-1) end.to change { project.deploy_keys.count }.by(-1)
end end
...@@ -251,7 +251,7 @@ describe API::DeployKeys do ...@@ -251,7 +251,7 @@ describe API::DeployKeys do
expect do expect do
delete api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin) delete api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end.not_to change { DeployKey.count } end.not_to change { DeployKey.count }
end end
end end
...@@ -264,7 +264,7 @@ describe API::DeployKeys do ...@@ -264,7 +264,7 @@ describe API::DeployKeys do
expect do expect do
delete api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin) delete api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end.to change { DeployKey.count }.by(-1) end.to change { DeployKey.count }.by(-1)
end end
end end
...@@ -278,7 +278,7 @@ describe API::DeployKeys do ...@@ -278,7 +278,7 @@ describe API::DeployKeys do
expect do expect do
delete api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin) delete api("/projects/#{project.id}/deploy_keys/#{deploy_key.id}", admin)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end.not_to change { DeployKey.count } end.not_to change { DeployKey.count }
end end
end end
...@@ -287,7 +287,7 @@ describe API::DeployKeys do ...@@ -287,7 +287,7 @@ describe API::DeployKeys do
it 'returns 404 Not Found with invalid ID' do it 'returns 404 Not Found with invalid ID' do
delete api("/projects/#{project.id}/deploy_keys/404", admin) delete api("/projects/#{project.id}/deploy_keys/404", admin)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
it_behaves_like '412 response' do it_behaves_like '412 response' do
...@@ -304,7 +304,7 @@ describe API::DeployKeys do ...@@ -304,7 +304,7 @@ describe API::DeployKeys do
post api("/projects/#{project2.id}/deploy_keys/#{deploy_key.id}/enable", admin) post api("/projects/#{project2.id}/deploy_keys/#{deploy_key.id}/enable", admin)
end.to change { project2.deploy_keys.count }.from(0).to(1) end.to change { project2.deploy_keys.count }.from(0).to(1)
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['id']).to eq(deploy_key.id) expect(json_response['id']).to eq(deploy_key.id)
end end
end end
...@@ -313,7 +313,7 @@ describe API::DeployKeys do ...@@ -313,7 +313,7 @@ describe API::DeployKeys do
it 'returns a 404 error' do it 'returns a 404 error' do
post api("/projects/#{project2.id}/deploy_keys/#{deploy_key.id}/enable", user) post api("/projects/#{project2.id}/deploy_keys/#{deploy_key.id}/enable", user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
end end
......
...@@ -20,7 +20,7 @@ describe API::Deployments do ...@@ -20,7 +20,7 @@ describe API::Deployments do
it 'returns projects deployments sorted by id asc' do it 'returns projects deployments sorted by id asc' do
get api("/projects/#{project.id}/deployments", user) get api("/projects/#{project.id}/deployments", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(3) expect(json_response.size).to eq(3)
...@@ -74,7 +74,7 @@ describe API::Deployments do ...@@ -74,7 +74,7 @@ describe API::Deployments do
let(:order_by) { 'wrong_sorting_value' } let(:order_by) { 'wrong_sorting_value' }
it 'returns error' do it 'returns error' do
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
...@@ -82,7 +82,7 @@ describe API::Deployments do ...@@ -82,7 +82,7 @@ describe API::Deployments do
let(:sort) { 'wrong_sorting_direction' } let(:sort) { 'wrong_sorting_direction' }
it 'returns error' do it 'returns error' do
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
end end
...@@ -92,7 +92,7 @@ describe API::Deployments do ...@@ -92,7 +92,7 @@ describe API::Deployments do
it 'returns a 404 status code' do it 'returns a 404 status code' do
get api("/projects/#{project.id}/deployments", non_member) get api("/projects/#{project.id}/deployments", 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
...@@ -105,7 +105,7 @@ describe API::Deployments do ...@@ -105,7 +105,7 @@ describe API::Deployments do
it 'returns the projects deployment' do it 'returns the projects deployment' do
get api("/projects/#{project.id}/deployments/#{deployment.id}", user) get api("/projects/#{project.id}/deployments/#{deployment.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/ expect(json_response['sha']).to match /\A\h{40}\z/
expect(json_response['id']).to eq(deployment.id) expect(json_response['id']).to eq(deployment.id)
end end
...@@ -115,7 +115,7 @@ describe API::Deployments do ...@@ -115,7 +115,7 @@ describe API::Deployments do
it 'returns a 404 status code' do it 'returns a 404 status code' do
get api("/projects/#{project.id}/deployments/#{deployment.id}", non_member) get api("/projects/#{project.id}/deployments/#{deployment.id}", 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
...@@ -159,7 +159,7 @@ describe API::Deployments do ...@@ -159,7 +159,7 @@ describe API::Deployments do
} }
) )
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['sha']).to eq(sha) expect(json_response['sha']).to eq(sha)
expect(json_response['ref']).to eq('master') expect(json_response['ref']).to eq('master')
...@@ -178,7 +178,7 @@ describe API::Deployments do ...@@ -178,7 +178,7 @@ describe API::Deployments do
} }
) )
expect(response).to have_gitlab_http_status(500) expect(response).to have_gitlab_http_status(:internal_server_error)
end end
it 'links any merged merge requests to the deployment', :sidekiq_inline do it 'links any merged merge requests to the deployment', :sidekiq_inline do
...@@ -228,7 +228,7 @@ describe API::Deployments do ...@@ -228,7 +228,7 @@ describe API::Deployments do
} }
) )
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['sha']).to eq(sha) expect(json_response['sha']).to eq(sha)
expect(json_response['ref']).to eq('master') expect(json_response['ref']).to eq('master')
...@@ -312,7 +312,7 @@ describe API::Deployments do ...@@ -312,7 +312,7 @@ describe API::Deployments do
} }
) )
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
end end
...@@ -341,7 +341,7 @@ describe API::Deployments do ...@@ -341,7 +341,7 @@ describe API::Deployments do
params: { status: 'success' } params: { status: 'success' }
) )
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
it 'updates a deployment without an associated build' do it 'updates a deployment without an associated build' do
...@@ -350,7 +350,7 @@ describe API::Deployments do ...@@ -350,7 +350,7 @@ describe API::Deployments do
params: { status: 'success' } params: { status: 'success' }
) )
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['status']).to eq('success') expect(json_response['status']).to eq('success')
end end
...@@ -390,7 +390,7 @@ describe API::Deployments do ...@@ -390,7 +390,7 @@ describe API::Deployments do
params: { status: 'success' } params: { status: 'success' }
) )
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
it 'updates a deployment without an associated build' do it 'updates a deployment without an associated build' do
...@@ -399,7 +399,7 @@ describe API::Deployments do ...@@ -399,7 +399,7 @@ describe API::Deployments do
params: { status: 'success' } params: { status: 'success' }
) )
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['status']).to eq('success') expect(json_response['status']).to eq('success')
end end
end end
...@@ -411,7 +411,7 @@ describe API::Deployments do ...@@ -411,7 +411,7 @@ describe API::Deployments do
params: { status: 'success' } params: { status: 'success' }
) )
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
end end
...@@ -428,7 +428,7 @@ describe API::Deployments do ...@@ -428,7 +428,7 @@ describe API::Deployments do
it 'returns a 404 status code' do it 'returns a 404 status code' do
subject subject
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
...@@ -443,7 +443,7 @@ describe API::Deployments do ...@@ -443,7 +443,7 @@ describe API::Deployments do
subject subject
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response.map { |d| d['id'] }).to contain_exactly(merge_request1.id, merge_request2.id) expect(json_response.map { |d| d['id'] }).to contain_exactly(merge_request1.id, merge_request2.id)
end end
...@@ -451,7 +451,7 @@ describe API::Deployments do ...@@ -451,7 +451,7 @@ describe API::Deployments do
it 'returns an empty array' do it 'returns an empty array' do
subject subject
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to eq([]) expect(json_response).to eq([])
end end
end end
...@@ -468,7 +468,7 @@ describe API::Deployments do ...@@ -468,7 +468,7 @@ describe API::Deployments do
it 'succeeds', :aggregate_failures do it 'succeeds', :aggregate_failures do
subject subject
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response.size).to eq(1) expect(json_response.size).to eq(1)
end end
......
...@@ -58,7 +58,7 @@ describe API::Discussions do ...@@ -58,7 +58,7 @@ describe API::Discussions do
post api("/projects/#{project.id}/merge_requests/#{noteable['iid']}/discussions", user), post api("/projects/#{project.id}/merge_requests/#{noteable['iid']}/discussions", user),
params: { body: 'hi!', position: position } params: { body: 'hi!', position: position }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
end end
end end
......
...@@ -10,7 +10,7 @@ describe 'doorkeeper access' do ...@@ -10,7 +10,7 @@ describe 'doorkeeper access' do
describe "unauthenticated" do describe "unauthenticated" do
it "returns authentication success" do it "returns authentication success" do
get api("/user"), params: { access_token: token.token } get api("/user"), params: { access_token: token.token }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
include_examples 'user login request with unique ip limit' do include_examples 'user login request with unique ip limit' do
...@@ -23,14 +23,14 @@ describe 'doorkeeper access' do ...@@ -23,14 +23,14 @@ describe 'doorkeeper access' do
describe "when token invalid" do describe "when token invalid" do
it "returns authentication error" do it "returns authentication error" do
get api("/user"), params: { access_token: "123a" } get api("/user"), params: { access_token: "123a" }
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
describe "authorization by OAuth token" do describe "authorization by OAuth token" do
it "returns authentication success" do it "returns authentication success" do
get api("/user", user) get api("/user", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
include_examples 'user login request with unique ip limit' do include_examples 'user login request with unique ip limit' do
...@@ -44,7 +44,7 @@ describe 'doorkeeper access' do ...@@ -44,7 +44,7 @@ describe 'doorkeeper access' do
it 'returns 403 response' do it 'returns 403 response' do
get api("/user"), params: { access_token: token.token } get api("/user"), params: { access_token: token.token }
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
......
...@@ -27,7 +27,7 @@ describe API::Environments do ...@@ -27,7 +27,7 @@ describe API::Environments do
get api("/projects/#{project.id}/environments", user) get api("/projects/#{project.id}/environments", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(1) expect(json_response.size).to eq(1)
...@@ -43,7 +43,7 @@ describe API::Environments do ...@@ -43,7 +43,7 @@ describe API::Environments do
it 'returns environment by name' do it 'returns environment by name' do
get api("/projects/#{project.id}/environments?name=#{environment.name}", user) get api("/projects/#{project.id}/environments?name=#{environment.name}", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(1) expect(json_response.size).to eq(1)
...@@ -53,7 +53,7 @@ describe API::Environments do ...@@ -53,7 +53,7 @@ describe API::Environments do
it 'returns no environment by non-existent name' do it 'returns no environment by non-existent name' do
get api("/projects/#{project.id}/environments?name=test", user) get api("/projects/#{project.id}/environments?name=test", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(0) expect(json_response.size).to eq(0)
...@@ -62,7 +62,7 @@ describe API::Environments do ...@@ -62,7 +62,7 @@ describe API::Environments do
it 'returns environments by name_like' do it 'returns environments by name_like' do
get api("/projects/#{project.id}/environments?search=envir", user) get api("/projects/#{project.id}/environments?search=envir", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(2) expect(json_response.size).to eq(2)
...@@ -71,7 +71,7 @@ describe API::Environments do ...@@ -71,7 +71,7 @@ describe API::Environments do
it 'returns no environment by non-existent name_like' do it 'returns no environment by non-existent name_like' do
get api("/projects/#{project.id}/environments?search=test", user) get api("/projects/#{project.id}/environments?search=test", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(0) expect(json_response.size).to eq(0)
...@@ -83,7 +83,7 @@ describe API::Environments do ...@@ -83,7 +83,7 @@ describe API::Environments do
it 'returns a 404 status code' do it 'returns a 404 status code' do
get api("/projects/#{project.id}/environments", non_member) get api("/projects/#{project.id}/environments", 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
...@@ -93,7 +93,7 @@ describe API::Environments do ...@@ -93,7 +93,7 @@ describe API::Environments do
it 'creates a environment with valid params' do it 'creates a environment with valid params' do
post api("/projects/#{project.id}/environments", user), params: { name: "mepmep" } post api("/projects/#{project.id}/environments", user), params: { name: "mepmep" }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['name']).to eq('mepmep') expect(json_response['name']).to eq('mepmep')
expect(json_response['slug']).to eq('mepmep') expect(json_response['slug']).to eq('mepmep')
expect(json_response['external']).to be nil expect(json_response['external']).to be nil
...@@ -102,19 +102,19 @@ describe API::Environments do ...@@ -102,19 +102,19 @@ describe API::Environments do
it 'requires name to be passed' do it 'requires name to be passed' do
post api("/projects/#{project.id}/environments", user), params: { external_url: 'test.gitlab.com' } post api("/projects/#{project.id}/environments", user), params: { external_url: 'test.gitlab.com' }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
it 'returns a 400 if environment already exists' do it 'returns a 400 if environment already exists' do
post api("/projects/#{project.id}/environments", user), params: { name: environment.name } post api("/projects/#{project.id}/environments", user), params: { name: environment.name }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
end end
it 'returns a 400 if slug is specified' do it 'returns a 400 if slug is specified' do
post api("/projects/#{project.id}/environments", user), params: { name: "foo", slug: "foo" } post api("/projects/#{project.id}/environments", user), params: { name: "foo", slug: "foo" }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response["error"]).to eq("slug is automatically generated and cannot be changed") expect(json_response["error"]).to eq("slug is automatically generated and cannot be changed")
end end
end end
...@@ -123,7 +123,7 @@ describe API::Environments do ...@@ -123,7 +123,7 @@ describe API::Environments do
it 'rejects the request' do it 'rejects the request' do
post api("/projects/#{project.id}/environments", non_member), params: { name: 'gitlab.com' } post api("/projects/#{project.id}/environments", non_member), params: { name: 'gitlab.com' }
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
it 'returns a 400 when the required params are missing' do it 'returns a 400 when the required params are missing' do
...@@ -138,7 +138,7 @@ describe API::Environments do ...@@ -138,7 +138,7 @@ describe API::Environments do
put api("/projects/#{project.id}/environments/#{environment.id}", user), put api("/projects/#{project.id}/environments/#{environment.id}", user),
params: { name: 'Mepmep', external_url: url } params: { name: 'Mepmep', external_url: url }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['name']).to eq('Mepmep') expect(json_response['name']).to eq('Mepmep')
expect(json_response['external_url']).to eq(url) expect(json_response['external_url']).to eq(url)
end end
...@@ -148,7 +148,7 @@ describe API::Environments do ...@@ -148,7 +148,7 @@ describe API::Environments do
api_url = api("/projects/#{project.id}/environments/#{environment.id}", user) api_url = api("/projects/#{project.id}/environments/#{environment.id}", user)
put api_url, params: { slug: slug + "-foo" } put api_url, params: { slug: slug + "-foo" }
expect(response).to have_gitlab_http_status(400) expect(response).to have_gitlab_http_status(:bad_request)
expect(json_response["error"]).to eq("slug is automatically generated and cannot be changed") expect(json_response["error"]).to eq("slug is automatically generated and cannot be changed")
end end
...@@ -157,7 +157,7 @@ describe API::Environments do ...@@ -157,7 +157,7 @@ describe API::Environments do
put api("/projects/#{project.id}/environments/#{environment.id}", user), put api("/projects/#{project.id}/environments/#{environment.id}", user),
params: { name: 'Mepmep' } params: { name: 'Mepmep' }
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response['name']).to eq('Mepmep') expect(json_response['name']).to eq('Mepmep')
expect(json_response['external_url']).to eq(url) expect(json_response['external_url']).to eq(url)
end end
...@@ -165,7 +165,7 @@ describe API::Environments do ...@@ -165,7 +165,7 @@ describe API::Environments do
it 'returns a 404 if the environment does not exist' do it 'returns a 404 if the environment does not exist' do
put api("/projects/#{project.id}/environments/12345", user) put api("/projects/#{project.id}/environments/12345", user)
expect(response).to have_gitlab_http_status(404) expect(response).to have_gitlab_http_status(:not_found)
end end
end end
...@@ -174,13 +174,13 @@ describe API::Environments do ...@@ -174,13 +174,13 @@ describe API::Environments do
it 'returns a 200 for an existing environment' do it 'returns a 200 for an existing environment' do
delete api("/projects/#{project.id}/environments/#{environment.id}", user) delete api("/projects/#{project.id}/environments/#{environment.id}", user)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end end
it 'returns a 404 for non existing id' do it 'returns a 404 for non existing id' do
delete api("/projects/#{project.id}/environments/12345", user) delete api("/projects/#{project.id}/environments/12345", 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['message']).to eq('404 Not found')
end end
...@@ -193,7 +193,7 @@ describe API::Environments do ...@@ -193,7 +193,7 @@ describe API::Environments do
it 'rejects the request' do it 'rejects the request' do
delete api("/projects/#{project.id}/environments/#{environment.id}", non_member) delete api("/projects/#{project.id}/environments/#{environment.id}", 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
...@@ -208,7 +208,7 @@ describe API::Environments do ...@@ -208,7 +208,7 @@ describe API::Environments do
end end
it 'returns a 200' do it 'returns a 200' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
it 'actually stops the environment' do it 'actually stops the environment' do
...@@ -219,7 +219,7 @@ describe API::Environments do ...@@ -219,7 +219,7 @@ describe API::Environments do
it 'returns a 404 for non existing id' do it 'returns a 404 for non existing id' do
post api("/projects/#{project.id}/environments/12345/stop", user) post api("/projects/#{project.id}/environments/12345/stop", 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['message']).to eq('404 Not found')
end end
end end
...@@ -228,7 +228,7 @@ describe API::Environments do ...@@ -228,7 +228,7 @@ describe API::Environments do
it 'rejects the request' do it 'rejects the request' do
post api("/projects/#{project.id}/environments/#{environment.id}/stop", non_member) post api("/projects/#{project.id}/environments/#{environment.id}/stop", 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
...@@ -240,7 +240,7 @@ describe API::Environments do ...@@ -240,7 +240,7 @@ describe API::Environments do
get api("/projects/#{project.id}/environments/#{environment.id}", user) get api("/projects/#{project.id}/environments/#{environment.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/environment') expect(response).to match_response_schema('public_api/v4/environment')
end end
end end
...@@ -249,7 +249,7 @@ describe API::Environments do ...@@ -249,7 +249,7 @@ describe API::Environments do
it 'returns a 404 status code' do it 'returns a 404 status code' do
get api("/projects/#{project.id}/environments/#{environment.id}", non_member) get api("/projects/#{project.id}/environments/#{environment.id}", 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
......
...@@ -16,7 +16,7 @@ describe API::Events do ...@@ -16,7 +16,7 @@ describe API::Events do
it 'returns authentication error' do it 'returns authentication error' do
get api('/events') get api('/events')
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
end end
...@@ -24,7 +24,7 @@ describe API::Events do ...@@ -24,7 +24,7 @@ describe API::Events do
it 'returns users events' do it 'returns users events' do
get api('/events?action=closed&target_type=issue&after=2016-12-1&before=2016-12-31', user) get api('/events?action=closed&target_type=issue&after=2016-12-1&before=2016-12-31', user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(1) expect(json_response.size).to eq(1)
...@@ -36,7 +36,7 @@ describe API::Events do ...@@ -36,7 +36,7 @@ describe API::Events do
get api('/events?action=closed&target_type=issue&after=2016-12-1&before=2016-12-31&scope=all', user) get api('/events?action=closed&target_type=issue&after=2016-12-1&before=2016-12-31&scope=all', user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(2) expect(json_response.size).to eq(2)
...@@ -50,7 +50,7 @@ describe API::Events do ...@@ -50,7 +50,7 @@ describe API::Events do
it 'returns users events' do it 'returns users events' do
get api('/events?action=closed&target_type=issue&after=2016-12-1&before=2016-12-31', personal_access_token: token) get api('/events?action=closed&target_type=issue&after=2016-12-1&before=2016-12-31', personal_access_token: token)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(1) expect(json_response.size).to eq(1)
...@@ -63,7 +63,7 @@ describe API::Events do ...@@ -63,7 +63,7 @@ describe API::Events do
it 'returns a "403" response' do it 'returns a "403" response' do
get api('/events', personal_access_token: token_without_scopes) get api('/events', personal_access_token: token_without_scopes)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
end end
...@@ -76,7 +76,7 @@ describe API::Events do ...@@ -76,7 +76,7 @@ describe API::Events do
get api("/users/#{user.id}/events", non_member) get api("/users/#{user.id}/events", non_member)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to be_empty expect(json_response).to be_empty
end end
end end
...@@ -90,7 +90,7 @@ describe API::Events do ...@@ -90,7 +90,7 @@ describe API::Events do
get api("/users/#{user.id}/events", personal_access_token: non_member_token) get api("/users/#{user.id}/events", personal_access_token: non_member_token)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to be_empty expect(json_response).to be_empty
end end
end end
...@@ -99,7 +99,7 @@ describe API::Events do ...@@ -99,7 +99,7 @@ describe API::Events do
it 'accepts a username' do it 'accepts a username' do
get api("/users/#{user.username}/events", user) get api("/users/#{user.username}/events", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(1) expect(json_response.size).to eq(1)
...@@ -108,7 +108,7 @@ describe API::Events do ...@@ -108,7 +108,7 @@ describe API::Events do
it 'returns the events' do it 'returns the events' do
get api("/users/#{user.id}/events", user) get api("/users/#{user.id}/events", user)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(response).to include_pagination_headers expect(response).to include_pagination_headers
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.size).to eq(1) expect(json_response.size).to eq(1)
...@@ -127,7 +127,7 @@ describe API::Events do ...@@ -127,7 +127,7 @@ describe API::Events do
end end
it 'responds with HTTP 200 OK' do it 'responds with HTTP 200 OK' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
end end
it 'includes the push payload as a Hash' do it 'includes the push payload as a Hash' do
...@@ -177,7 +177,7 @@ describe API::Events do ...@@ -177,7 +177,7 @@ describe API::Events do
it 'returns no user events' do it 'returns no user events' do
get api("/users/#{user.username}/events?scope=all") get api("/users/#{user.username}/events?scope=all")
expect(response).to have_gitlab_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
expect(json_response.size).to eq(0) expect(json_response.size).to eq(0)
end end
...@@ -188,7 +188,7 @@ describe API::Events do ...@@ -188,7 +188,7 @@ describe API::Events do
it 'returns a 404 error if not found' do it 'returns a 404 error if not found' do
get api('/users/42/events', user) get api('/users/42/events', 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 User Not Found') expect(json_response['message']).to eq('404 User Not Found')
end end
end end
......
...@@ -46,19 +46,19 @@ describe API::Features do ...@@ -46,19 +46,19 @@ describe API::Features do
it 'returns a 401 for anonymous users' do it 'returns a 401 for anonymous users' do
get api('/features') get api('/features')
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns a 403 for users' do it 'returns a 403 for users' do
get api('/features', user) get api('/features', user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
it 'returns the feature list for admins' do it 'returns the feature list for admins' do
get api('/features', admin) get api('/features', admin)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to match_array(expected_features) expect(json_response).to match_array(expected_features)
end end
end end
...@@ -70,20 +70,20 @@ describe API::Features do ...@@ -70,20 +70,20 @@ describe API::Features do
it 'returns a 401 for anonymous users' do it 'returns a 401 for anonymous users' do
post api("/features/#{feature_name}") post api("/features/#{feature_name}")
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns a 403 for users' do it 'returns a 403 for users' do
post api("/features/#{feature_name}", user) post api("/features/#{feature_name}", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
context 'when passed value=true' do context 'when passed value=true' do
it 'creates an enabled feature' do it 'creates an enabled feature' do
post api("/features/#{feature_name}", admin), params: { value: 'true' } post api("/features/#{feature_name}", admin), params: { value: 'true' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'on', 'state' => 'on',
...@@ -93,7 +93,7 @@ describe API::Features do ...@@ -93,7 +93,7 @@ describe API::Features do
it 'creates an enabled feature for the given Flipper group when passed feature_group=perf_team' do it 'creates an enabled feature for the given Flipper group when passed feature_group=perf_team' do
post api("/features/#{feature_name}", admin), params: { value: 'true', feature_group: 'perf_team' } post api("/features/#{feature_name}", admin), params: { value: 'true', feature_group: 'perf_team' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'conditional', 'state' => 'conditional',
...@@ -106,7 +106,7 @@ describe API::Features do ...@@ -106,7 +106,7 @@ describe API::Features do
it 'creates an enabled feature for the given user when passed user=username' do it 'creates an enabled feature for the given user when passed user=username' do
post api("/features/#{feature_name}", admin), params: { value: 'true', user: user.username } post api("/features/#{feature_name}", admin), params: { value: 'true', user: user.username }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'conditional', 'state' => 'conditional',
...@@ -119,7 +119,7 @@ describe API::Features do ...@@ -119,7 +119,7 @@ describe API::Features do
it 'creates an enabled feature for the given user and feature group when passed user=username and feature_group=perf_team' do it 'creates an enabled feature for the given user and feature group when passed user=username and feature_group=perf_team' do
post api("/features/#{feature_name}", admin), params: { value: 'true', user: user.username, feature_group: 'perf_team' } post api("/features/#{feature_name}", admin), params: { value: 'true', user: user.username, feature_group: 'perf_team' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response['name']).to eq('my_feature') expect(json_response['name']).to eq('my_feature')
expect(json_response['state']).to eq('conditional') expect(json_response['state']).to eq('conditional')
expect(json_response['gates']).to contain_exactly( expect(json_response['gates']).to contain_exactly(
...@@ -137,7 +137,7 @@ describe API::Features do ...@@ -137,7 +137,7 @@ describe API::Features do
it 'sets the feature gate' do it 'sets the feature gate' do
post api("/features/#{feature_name}", admin), params: { value: 'true', project: project.full_path } post api("/features/#{feature_name}", admin), params: { value: 'true', project: project.full_path }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'conditional', 'state' => 'conditional',
...@@ -152,7 +152,7 @@ describe API::Features do ...@@ -152,7 +152,7 @@ describe API::Features do
it 'sets no new values' do it 'sets no new values' do
post api("/features/#{feature_name}", admin), params: { value: 'true', project: 'mep/to/the/mep/mep' } post api("/features/#{feature_name}", admin), params: { value: 'true', project: 'mep/to/the/mep/mep' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
"name" => "my_feature", "name" => "my_feature",
"state" => "off", "state" => "off",
...@@ -171,7 +171,7 @@ describe API::Features do ...@@ -171,7 +171,7 @@ describe API::Features do
post api("/features/#{feature_name}", admin), params: { value: 'true', group: group.full_path } post api("/features/#{feature_name}", admin), params: { value: 'true', group: group.full_path }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'conditional', 'state' => 'conditional',
...@@ -186,7 +186,7 @@ describe API::Features do ...@@ -186,7 +186,7 @@ describe API::Features do
it 'sets no new values and keeps the feature disabled' do it 'sets no new values and keeps the feature disabled' do
post api("/features/#{feature_name}", admin), params: { value: 'true', group: 'not/a/group' } post api("/features/#{feature_name}", admin), params: { value: 'true', group: 'not/a/group' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
"name" => "my_feature", "name" => "my_feature",
"state" => "off", "state" => "off",
...@@ -201,7 +201,7 @@ describe API::Features do ...@@ -201,7 +201,7 @@ describe API::Features do
it 'creates a feature with the given percentage if passed an integer' do it 'creates a feature with the given percentage if passed an integer' do
post api("/features/#{feature_name}", admin), params: { value: '50' } post api("/features/#{feature_name}", admin), params: { value: '50' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'conditional', 'state' => 'conditional',
...@@ -223,7 +223,7 @@ describe API::Features do ...@@ -223,7 +223,7 @@ describe API::Features do
it 'enables the feature' do it 'enables the feature' do
post api("/features/#{feature_name}", admin), params: { value: 'true' } post api("/features/#{feature_name}", admin), params: { value: 'true' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'on', 'state' => 'on',
...@@ -233,7 +233,7 @@ describe API::Features do ...@@ -233,7 +233,7 @@ describe API::Features do
it 'enables the feature for the given Flipper group when passed feature_group=perf_team' do it 'enables the feature for the given Flipper group when passed feature_group=perf_team' do
post api("/features/#{feature_name}", admin), params: { value: 'true', feature_group: 'perf_team' } post api("/features/#{feature_name}", admin), params: { value: 'true', feature_group: 'perf_team' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'conditional', 'state' => 'conditional',
...@@ -246,7 +246,7 @@ describe API::Features do ...@@ -246,7 +246,7 @@ describe API::Features do
it 'enables the feature for the given user when passed user=username' do it 'enables the feature for the given user when passed user=username' do
post api("/features/#{feature_name}", admin), params: { value: 'true', user: user.username } post api("/features/#{feature_name}", admin), params: { value: 'true', user: user.username }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'conditional', 'state' => 'conditional',
...@@ -264,7 +264,7 @@ describe API::Features do ...@@ -264,7 +264,7 @@ describe API::Features do
post api("/features/#{feature_name}", admin), params: { value: 'false' } post api("/features/#{feature_name}", admin), params: { value: 'false' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'off', 'state' => 'off',
...@@ -277,7 +277,7 @@ describe API::Features do ...@@ -277,7 +277,7 @@ describe API::Features do
post api("/features/#{feature_name}", admin), params: { value: 'false', feature_group: 'perf_team' } post api("/features/#{feature_name}", admin), params: { value: 'false', feature_group: 'perf_team' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'off', 'state' => 'off',
...@@ -290,7 +290,7 @@ describe API::Features do ...@@ -290,7 +290,7 @@ describe API::Features do
post api("/features/#{feature_name}", admin), params: { value: 'false', user: user.username } post api("/features/#{feature_name}", admin), params: { value: 'false', user: user.username }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'off', 'state' => 'off',
...@@ -306,7 +306,7 @@ describe API::Features do ...@@ -306,7 +306,7 @@ describe API::Features do
it 'updates the percentage of time if passed an integer' do it 'updates the percentage of time if passed an integer' do
post api("/features/#{feature_name}", admin), params: { value: '30' } post api("/features/#{feature_name}", admin), params: { value: '30' }
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(:created)
expect(json_response).to eq( expect(json_response).to eq(
'name' => 'my_feature', 'name' => 'my_feature',
'state' => 'conditional', 'state' => 'conditional',
...@@ -326,13 +326,13 @@ describe API::Features do ...@@ -326,13 +326,13 @@ describe API::Features do
it 'returns a 401 for anonymous users' do it 'returns a 401 for anonymous users' do
delete api("/features/#{feature_name}") delete api("/features/#{feature_name}")
expect(response).to have_gitlab_http_status(401) expect(response).to have_gitlab_http_status(:unauthorized)
end end
it 'returns a 403 for users' do it 'returns a 403 for users' do
delete api("/features/#{feature_name}", user) delete api("/features/#{feature_name}", user)
expect(response).to have_gitlab_http_status(403) expect(response).to have_gitlab_http_status(:forbidden)
end end
end end
...@@ -340,7 +340,7 @@ describe API::Features do ...@@ -340,7 +340,7 @@ describe API::Features do
it 'returns 204 when the value is not set' do it 'returns 204 when the value is not set' do
delete api("/features/#{feature_name}", admin) delete api("/features/#{feature_name}", admin)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
end end
context 'when the gate value was set' do context 'when the gate value was set' do
...@@ -351,7 +351,7 @@ describe API::Features do ...@@ -351,7 +351,7 @@ describe API::Features do
it 'deletes an enabled feature' do it 'deletes an enabled feature' do
delete api("/features/#{feature_name}", admin) delete api("/features/#{feature_name}", admin)
expect(response).to have_gitlab_http_status(204) expect(response).to have_gitlab_http_status(:no_content)
expect(Feature.get(feature_name)).not_to be_enabled expect(Feature.get(feature_name)).not_to be_enabled
end end
end end
......
This diff is collapsed.
...@@ -98,6 +98,53 @@ describe Issues::CloseService do ...@@ -98,6 +98,53 @@ describe Issues::CloseService do
expect(body_text).not_to include(closing_merge_request.to_reference) expect(body_text).not_to include(closing_merge_request.to_reference)
end end
end end
context 'updating `metrics.first_mentioned_in_commit_at`' do
subject { described_class.new(project, user).close_issue(issue, closed_via: closing_merge_request) }
context 'when `metrics.first_mentioned_in_commit_at` is not set' do
it 'uses the first commit timestamp' do
expected = closing_merge_request.commits.first.date
subject
expect(issue.metrics.first_mentioned_in_commit_at).to eq(expected)
end
end
context 'when `metrics.first_mentioned_in_commit_at` is already set' do
before do
issue.metrics.update!(first_mentioned_in_commit_at: Time.now)
end
it 'does not update the metrics' do
expect { subject }.not_to change { issue.metrics.first_mentioned_in_commit_at }
end
end
context 'when merge request has no commits' do
let(:closing_merge_request) { create(:merge_request, :without_diffs, source_project: project) }
it 'does not update the metrics' do
subject
expect(issue.metrics.first_mentioned_in_commit_at).to be_nil
end
end
context 'when `store_first_mentioned_in_commit_on_issue_close` feature flag is off' do
before do
stub_feature_flags(store_first_mentioned_in_commit_on_issue_close: { enabled: false, thing: issue.project })
end
it 'does not update the metrics' do
subject
expect(described_class).not_to receive(:store_first_mentioned_in_commit_at)
expect(issue.metrics.first_mentioned_in_commit_at).to be_nil
end
end
end
end end
context "closed by a commit", :sidekiq_might_not_need_inline do context "closed by a commit", :sidekiq_might_not_need_inline do
......
...@@ -118,7 +118,7 @@ describe MergeRequests::MergeService do ...@@ -118,7 +118,7 @@ describe MergeRequests::MergeService do
it 'closes GitLab issue tracker issues' do it 'closes GitLab issue tracker issues' do
issue = create :issue, project: project issue = create :issue, project: project
commit = double('commit', safe_message: "Fixes #{issue.to_reference}") commit = double('commit', safe_message: "Fixes #{issue.to_reference}", date: Time.now)
allow(merge_request).to receive(:commits).and_return([commit]) allow(merge_request).to receive(:commits).and_return([commit])
merge_request.cache_merge_request_closes_issues! merge_request.cache_merge_request_closes_issues!
......
...@@ -25,7 +25,31 @@ describe Projects::Alerting::NotifyService do ...@@ -25,7 +25,31 @@ describe Projects::Alerting::NotifyService do
end end
end end
shared_examples 'does not process incident issues' do |http_status:| shared_examples 'sends notification email' do
let(:notification_service) { spy }
it 'sends a notification for firing alerts only' do
expect(NotificationService)
.to receive(:new)
.and_return(notification_service)
expect(notification_service)
.to receive_message_chain(:async, :prometheus_alerts_fired)
expect(subject.status).to eq(:success)
end
end
shared_examples 'does not process incident issues' do
it 'does not process issues' do
expect(IncidentManagement::ProcessAlertWorker)
.not_to receive(:perform_async)
expect(subject.status).to eq(:success)
end
end
shared_examples 'does not process incident issues due to error' do |http_status:|
it 'does not process issues' do it 'does not process issues' do
expect(IncidentManagement::ProcessAlertWorker) expect(IncidentManagement::ProcessAlertWorker)
.not_to receive(:perform_async) .not_to receive(:perform_async)
...@@ -54,11 +78,23 @@ describe Projects::Alerting::NotifyService do ...@@ -54,11 +78,23 @@ describe Projects::Alerting::NotifyService do
context 'with valid token' do context 'with valid token' do
let(:token) { alerts_service.token } let(:token) { alerts_service.token }
let(:incident_management_setting) { double(send_email?: email_enabled, create_issue?: issue_enabled) }
let(:email_enabled) { false }
let(:issue_enabled) { false }
context 'with a valid payload' do before do
it_behaves_like 'processes incident issues', 1 allow(service)
.to receive(:incident_management_setting)
.and_return(incident_management_setting)
end end
it_behaves_like 'does not process incident issues'
context 'issue enabled' do
let(:issue_enabled) { true }
it_behaves_like 'processes incident issues', 1
context 'with an invalid payload' do context 'with an invalid payload' do
before do before do
allow(Gitlab::Alerting::NotificationPayloadParser) allow(Gitlab::Alerting::NotificationPayloadParser)
...@@ -66,19 +102,26 @@ describe Projects::Alerting::NotifyService do ...@@ -66,19 +102,26 @@ describe Projects::Alerting::NotifyService do
.and_raise(Gitlab::Alerting::NotificationPayloadParser::BadPayloadError) .and_raise(Gitlab::Alerting::NotificationPayloadParser::BadPayloadError)
end end
it_behaves_like 'does not process incident issues', http_status: 400 it_behaves_like 'does not process incident issues due to error', http_status: 400
end end
end end
context 'with invalid token' do context 'with emails turned on' do
it_behaves_like 'does not process incident issues', http_status: 401 let(:email_enabled) { true }
it_behaves_like 'sends notification email'
end
end end
context 'with invalid token' do
it_behaves_like 'does not process incident issues due to error', http_status: 401
end end
context 'with deactivated Alerts Service' do context 'with deactivated Alerts Service' do
let!(:alerts_service) { create(:alerts_service, :inactive, project: project) } let!(:alerts_service) { create(:alerts_service, :inactive, project: project) }
it_behaves_like 'does not process incident issues', http_status: 403 it_behaves_like 'does not process incident issues due to error', http_status: 403
end
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