1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe API::SystemHooks, feature_category: :webhooks do
let_it_be(:non_admin) { create(:user) }
let_it_be(:admin) { create(:admin) }
let_it_be_with_refind(:hook) { create(:system_hook, url: "http://example.com") }
it_behaves_like 'web-hook API endpoints', '' do
let(:user) { admin }
let(:unauthorized_user) { non_admin }
def scope
SystemHook
end
def collection_uri
"/hooks"
end
def match_collection_schema
match_response_schema('public_api/v4/system_hooks')
end
def hook_uri(hook_id = hook.id)
"/hooks/#{hook_id}"
end
def match_hook_schema
match_response_schema('public_api/v4/system_hook')
end
def event_names
%i[
push_events
tag_push_events
merge_requests_events
repository_update_events
]
end
def hook_param_overrides
{}
end
let(:update_params) do
{
push_events: false,
tag_push_events: true
}
end
let(:default_values) do
{ repository_update_events: true }
end
it_behaves_like 'POST webhook API endpoints with a branch filter', ''
it_behaves_like 'PUT webhook API endpoints with a branch filter', ''
end
end
|