Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-05-18 21:08:05 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-05-18 21:08:05 +0300
commit6b5d8b17e28741bccf31029633cc5af7ceab1486 (patch)
tree38732dffc21a5084b5c3d49b56b81aa11b4e657e /spec/services/members
parenta84995f457d775bb73598d4393c3bc99805d9b58 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services/members')
-rw-r--r--spec/services/members/mailgun/process_webhook_service_spec.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/services/members/mailgun/process_webhook_service_spec.rb b/spec/services/members/mailgun/process_webhook_service_spec.rb
index d6a21183395..3b657c05bd8 100644
--- a/spec/services/members/mailgun/process_webhook_service_spec.rb
+++ b/spec/services/members/mailgun/process_webhook_service_spec.rb
@@ -39,4 +39,34 @@ RSpec.describe Members::Mailgun::ProcessWebhookService do
end
end
end
+
+ describe '#should_process?' do
+ it 'processes permanent failures for member invite emails' do
+ payload = { 'event' => 'failed', 'severity' => 'permanent', 'tags' => [Members::Mailgun::INVITE_EMAIL_TAG] }
+ service = described_class.new(payload)
+
+ expect(service.should_process?).to eq(true)
+ end
+
+ it 'does not process temporary failures' do
+ payload = { 'event' => 'failed', 'severity' => 'temporary', 'tags' => [Members::Mailgun::INVITE_EMAIL_TAG] }
+ service = described_class.new(payload)
+
+ expect(service.should_process?).to eq(false)
+ end
+
+ it 'does not process non member invite emails' do
+ payload = { 'event' => 'failed', 'severity' => 'permanent', 'tags' => [] }
+ service = described_class.new(payload)
+
+ expect(service.should_process?).to eq(false)
+ end
+
+ it 'does not process other types of events' do
+ payload = { 'event' => 'delivered', 'tags' => [Members::Mailgun::INVITE_EMAIL_TAG] }
+ service = described_class.new(payload)
+
+ expect(service.should_process?).to eq(false)
+ end
+ end
end