adds test suite
This commit is contained in:
parent
cd51af1a99
commit
4b6e583ce0
|
@ -26,4 +26,6 @@ module ServicesHelper
|
|||
event = event.pluralize if %w[merge_request issue confidential_issue].include?(event)
|
||||
"#{event}_events"
|
||||
end
|
||||
|
||||
extend self
|
||||
end
|
||||
|
|
|
@ -48,10 +48,6 @@ http://app.asana.com/-/account_api'
|
|||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def client
|
||||
@_client ||= begin
|
||||
Asana::Client.new do |c|
|
||||
|
|
|
@ -27,10 +27,6 @@ class AssemblaService < Service
|
|||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
|
||||
|
|
|
@ -56,10 +56,6 @@ class BambooService < CiService
|
|||
]
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w(push)
|
||||
end
|
||||
|
||||
def build_page(sha, ref)
|
||||
with_reactive_cache(sha, ref) {|cached| cached[:build_page] }
|
||||
end
|
||||
|
|
|
@ -22,12 +22,4 @@ class BugzillaService < IssueTrackerService
|
|||
def self.to_param
|
||||
'bugzilla'
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w()
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -24,14 +24,6 @@ class BuildkiteService < CiService
|
|||
hook.save
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
|
||||
|
|
|
@ -27,10 +27,6 @@ class BuildsEmailService < Service
|
|||
%w(build)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(push_data)
|
||||
return unless supported_events.include?(push_data[:object_kind])
|
||||
return unless should_build_be_notified?(push_data)
|
||||
|
|
|
@ -28,10 +28,6 @@ class CampfireService < Service
|
|||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
|
||||
|
|
|
@ -12,9 +12,6 @@ class CiService < Service
|
|||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
# Return complete url to build page
|
||||
#
|
||||
# Ex.
|
||||
|
|
|
@ -36,12 +36,4 @@ class CustomIssueTrackerService < IssueTrackerService
|
|||
{ type: 'text', name: 'new_issue_url', placeholder: 'New Issue url' }
|
||||
]
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w()
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,10 +20,6 @@ class EmailsOnPushService < Service
|
|||
%w(push tag_push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(push_data)
|
||||
return unless supported_events.include?(push_data[:object_kind])
|
||||
|
||||
|
|
|
@ -33,8 +33,4 @@ class ExternalWikiService < Service
|
|||
def self.supported_events
|
||||
%w()
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -26,10 +26,6 @@ class FlowdockService < Service
|
|||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
|
||||
|
|
|
@ -27,10 +27,6 @@ class GemnasiumService < Service
|
|||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
|
||||
|
|
|
@ -49,10 +49,6 @@ class HipchatService < Service
|
|||
%w(push issue confidential_issue merge_request note tag_push build)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
message = create_message(data)
|
||||
|
|
|
@ -25,10 +25,6 @@ class IrkerService < Service
|
|||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
|
||||
|
|
|
@ -16,10 +16,6 @@ class JiraService < IssueTrackerService
|
|||
%w(commit merge_request)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
# {PROJECT-KEY}-{NUMBER} Examples: JIRA-1, PROJECT-1
|
||||
def reference_pattern
|
||||
@reference_pattern ||= %r{(?<issue>\b([A-Z][A-Z0-9_]+-)\d+)}
|
||||
|
|
|
@ -158,14 +158,6 @@ class KubernetesService < DeploymentService
|
|||
opts
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w()
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def kubeclient_auth_options
|
||||
{ bearer_token: token }
|
||||
end
|
||||
|
|
|
@ -38,12 +38,4 @@ class MattermostService < ChatNotificationService
|
|||
def default_channel_placeholder
|
||||
"#town-square"
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w()
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -48,12 +48,4 @@ class MattermostSlashCommandsService < ChatSlashCommandsService
|
|||
method: 'P',
|
||||
username: 'GitLab')
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w()
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,10 +23,6 @@ class PipelinesEmailService < Service
|
|||
%w[pipeline]
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data, force: false)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
return unless force || should_pipeline_be_notified?(data)
|
||||
|
|
|
@ -38,10 +38,6 @@ class PivotaltrackerService < Service
|
|||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
return unless allowed_branch?(data[:ref])
|
||||
|
|
|
@ -65,10 +65,6 @@ class PushoverService < Service
|
|||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
return unless supported_events.include?(data[:object_kind])
|
||||
|
||||
|
|
|
@ -22,12 +22,4 @@ class RedmineService < IssueTrackerService
|
|||
def self.to_param
|
||||
'redmine'
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w()
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -37,12 +37,4 @@ class SlackService < ChatNotificationService
|
|||
def default_channel_placeholder
|
||||
"#general"
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w()
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -25,12 +25,4 @@ class SlackSlashCommandsService < ChatSlashCommandsService
|
|||
def format(text)
|
||||
Slack::Notifier::LinkFormatter.format(text) if text
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w()
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -47,14 +47,6 @@ class TeamcityService < CiService
|
|||
'teamcity'
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w(push)
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def fields
|
||||
[
|
||||
{ type: 'text', name: 'teamcity_url',
|
||||
|
|
|
@ -79,6 +79,10 @@ class Service < ActiveRecord::Base
|
|||
self.class.to_param
|
||||
end
|
||||
|
||||
def self.to_param
|
||||
raise NotImplementedError
|
||||
end
|
||||
|
||||
def fields
|
||||
# implement inside child
|
||||
[]
|
||||
|
@ -93,10 +97,13 @@ class Service < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def event_names
|
||||
# implement inside child
|
||||
self.class.event_names
|
||||
end
|
||||
|
||||
def self.event_names
|
||||
self.supported_events.map { |event| "#{event}_events" }
|
||||
end
|
||||
|
||||
def event_field(event)
|
||||
nil
|
||||
end
|
||||
|
@ -109,6 +116,10 @@ class Service < ActiveRecord::Base
|
|||
self.class.supported_events
|
||||
end
|
||||
|
||||
def self.supported_events
|
||||
%w(push tag_push issue confidential_issue merge_request wiki_page)
|
||||
end
|
||||
|
||||
def execute(data)
|
||||
# implement inside child
|
||||
end
|
||||
|
|
|
@ -600,12 +600,11 @@ module API
|
|||
service_classes.each do |service|
|
||||
event_names = service.try(:event_names) || []
|
||||
event_names.each do |event_name|
|
||||
services[service.to_param.gsub("_", "-")] << {
|
||||
services[service.to_param.tr("_", "-")] << {
|
||||
required: false,
|
||||
name: event_name.to_sym,
|
||||
type: String,
|
||||
desc: ServicesHelper.instance_method(:service_event_description)
|
||||
.bind(self).call(event_name)
|
||||
desc: ServicesHelper.service_event_description(event_name)
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -54,6 +54,7 @@ describe Projects::ServicesController do
|
|||
context 'on successful update' do
|
||||
it 'sets the flash' do
|
||||
expect(service).to receive(:to_param).and_return('hipchat')
|
||||
expect(service).to receive(:event_names).and_return(HipchatService.event_names)
|
||||
|
||||
put :update,
|
||||
namespace_id: project.namespace.id,
|
||||
|
|
Loading…
Reference in New Issue