diff --git a/ee/app/models/hooks/group_hook.rb b/ee/app/models/hooks/group_hook.rb index 6a6e32acb6137f8ef95692aea101328fbcb9687c..25f6fbbf3ac31f32d0323fa07dd080eda242b0e8 100644 --- a/ee/app/models/hooks/group_hook.rb +++ b/ee/app/models/hooks/group_hook.rb @@ -31,6 +31,11 @@ class GroupHook < WebHook validates :url, presence: true, addressable_url: true + override :executable? + def executable? + true + end + def pluralized_name _('Group Hooks') end diff --git a/ee/spec/models/hooks/group_hook_spec.rb b/ee/spec/models/hooks/group_hook_spec.rb index 436f4b4b7622a545cca331b05fd9232550859c73..f807818d4a6a5e76507d42660224ec7b59da18b5 100644 --- a/ee/spec/models/hooks/group_hook_spec.rb +++ b/ee/spec/models/hooks/group_hook_spec.rb @@ -11,6 +11,32 @@ subject { build(:group_hook) } end + describe 'executable?' do + let!(:hooks) do + [ + [0, Time.current], + [0, 1.minute.from_now], + [1, 1.minute.from_now], + [3, 1.minute.from_now], + [4, nil], + [4, 1.day.ago], + [4, 1.minute.from_now], + [0, nil], + [0, 1.day.ago], + [1, nil], + [1, 1.day.ago], + [3, nil], + [3, 1.day.ago] + ].map do |(recent_failures, disabled_until)| + create(:service_hook, recent_failures: recent_failures, disabled_until: disabled_until) + end + end + + it 'is always true' do + expect(hooks).to all(be_executable) + end + end + describe '#parent' do it 'returns the associated group' do group = build(:group)