diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-10-19 15:57:54 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-10-19 15:57:54 +0300 |
commit | 419c53ec62de6e97a517abd5fdd4cbde3a942a34 (patch) | |
tree | 1f43a548b46bca8a5fb8fe0c31cef1883d49c5b6 /spec/lib/gitlab/email/service_desk_receiver_spec.rb | |
parent | 1da20d9135b3ad9e75e65b028bffc921aaf8deb7 (diff) |
Add latest changes from gitlab-org/gitlab@16-5-stable-eev16.5.0-rc42
Diffstat (limited to 'spec/lib/gitlab/email/service_desk_receiver_spec.rb')
-rw-r--r-- | spec/lib/gitlab/email/service_desk_receiver_spec.rb | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/spec/lib/gitlab/email/service_desk_receiver_spec.rb b/spec/lib/gitlab/email/service_desk_receiver_spec.rb index c249a5422ff..4b67020471a 100644 --- a/spec/lib/gitlab/email/service_desk_receiver_spec.rb +++ b/spec/lib/gitlab/email/service_desk_receiver_spec.rb @@ -7,6 +7,12 @@ RSpec.describe Gitlab::Email::ServiceDeskReceiver do let(:receiver) { described_class.new(email) } context 'when the email contains a valid email address' do + shared_examples 'received successfully' do + it 'finds the service desk key' do + expect { receiver.execute }.not_to raise_error + end + end + before do stub_service_desk_email_setting(enabled: true, address: 'support+%{key}@example.com') @@ -21,34 +27,41 @@ RSpec.describe Gitlab::Email::ServiceDeskReceiver do end context 'when in a To header' do - it 'finds the service desk key' do - receiver.execute - end + it_behaves_like 'received successfully' end context 'when the email contains a valid email address in a header' do context 'when in a Delivered-To header' do let(:email) { fixture_file('emails/service_desk_custom_address_reply.eml') } - it 'finds the service desk key' do - receiver.execute - end + it_behaves_like 'received successfully' end context 'when in a Envelope-To header' do let(:email) { fixture_file('emails/service_desk_custom_address_envelope_to.eml') } - it 'finds the service desk key' do - receiver.execute - end + it_behaves_like 'received successfully' end context 'when in a X-Envelope-To header' do let(:email) { fixture_file('emails/service_desk_custom_address_x_envelope_to.eml') } - it 'finds the service desk key' do - receiver.execute + it_behaves_like 'received successfully' + end + + context 'when in a Cc header' do + let(:email) do + <<~EMAIL + From: from@example.com + To: to@example.com + Cc: support+project_slug-project_key@example.com + Subject: Issue titile + + Issue description + EMAIL end + + it_behaves_like 'received successfully' end end end |