diff options
Diffstat (limited to 'spec/lib/gitlab/email')
8 files changed, 29 insertions, 34 deletions
diff --git a/spec/lib/gitlab/email/handler/create_issue_handler_spec.rb b/spec/lib/gitlab/email/handler/create_issue_handler_spec.rb index 75538baf07f..8ff8de2379a 100644 --- a/spec/lib/gitlab/email/handler/create_issue_handler_spec.rb +++ b/spec/lib/gitlab/email/handler/create_issue_handler_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::Email::Handler::CreateIssueHandler do - include_context :email_shared_context + include_context 'email shared context' let!(:user) do create( :user, @@ -16,13 +16,13 @@ RSpec.describe Gitlab::Email::Handler::CreateIssueHandler do let(:namespace) { create(:namespace, path: 'gitlabhq') } let(:email_raw) { email_fixture('emails/valid_new_issue.eml') } - it_behaves_like :reply_processing_shared_examples - before do stub_incoming_email_setting(enabled: true, address: "incoming+%{key}@appmail.adventuretime.ooo") stub_config_setting(host: 'localhost') end + it_behaves_like 'reply processing shared examples' + context "when email key" do let(:mail) { Mail::Message.new(email_raw) } diff --git a/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb b/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb index 37ee4591db0..f5b44d30c50 100644 --- a/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb +++ b/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::Email::Handler::CreateMergeRequestHandler do - include_context :email_shared_context + include_context 'email shared context' let!(:user) do create( :user, @@ -16,16 +16,16 @@ RSpec.describe Gitlab::Email::Handler::CreateMergeRequestHandler do let(:namespace) { create(:namespace, path: 'gitlabhq') } let(:email_raw) { email_fixture('emails/valid_new_merge_request.eml') } - it_behaves_like :reply_processing_shared_examples + after do + TestEnv.clean_test_path + end before do stub_incoming_email_setting(enabled: true, address: "incoming+%{key}@appmail.adventuretime.ooo") stub_config_setting(host: 'localhost') end - after do - TestEnv.clean_test_path - end + it_behaves_like 'reply processing shared examples' context "when email key" do let(:mail) { Mail::Message.new(email_raw) } diff --git a/spec/lib/gitlab/email/handler/create_note_handler_spec.rb b/spec/lib/gitlab/email/handler/create_note_handler_spec.rb index 585dce331ed..f70645a8272 100644 --- a/spec/lib/gitlab/email/handler/create_note_handler_spec.rb +++ b/spec/lib/gitlab/email/handler/create_note_handler_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::Email::Handler::CreateNoteHandler do - include_context :email_shared_context + include_context 'email shared context' let_it_be(:user) { create(:user, email: 'jake@adventuretime.ooo') } let_it_be(:project) { create(:project, :public, :repository) } @@ -15,9 +15,14 @@ RSpec.describe Gitlab::Email::Handler::CreateNoteHandler do SentNotification.record_note(note, user.id, mail_key) end - it_behaves_like :reply_processing_shared_examples + before do + stub_incoming_email_setting(enabled: true, address: "reply+%{key}@appmail.adventuretime.ooo") + stub_config_setting(host: 'localhost') + end + + it_behaves_like 'reply processing shared examples' - it_behaves_like :note_handler_shared_examples do + it_behaves_like 'note handler shared examples' do let(:recipient) { sent_notification.recipient } let(:update_commands_only) { fixture_file('emails/update_commands_only_reply.eml') } @@ -26,11 +31,6 @@ RSpec.describe Gitlab::Email::Handler::CreateNoteHandler do let(:with_quick_actions) { fixture_file('emails/valid_reply_with_quick_actions.eml') } end - before do - stub_incoming_email_setting(enabled: true, address: "reply+%{key}@appmail.adventuretime.ooo") - stub_config_setting(host: 'localhost') - end - context 'when the recipient address does not include a mail key' do let(:email_raw) { fixture_file('emails/valid_reply.eml').gsub(mail_key, '') } @@ -92,7 +92,7 @@ RSpec.describe Gitlab::Email::Handler::CreateNoteHandler do issue.update_attribute(:confidential, true) end - it_behaves_like :checks_permissions_on_noteable_examples + it_behaves_like 'checks permissions on noteable examples' end shared_examples 'a reply to existing comment' do diff --git a/spec/lib/gitlab/email/handler/create_note_on_issuable_handler_spec.rb b/spec/lib/gitlab/email/handler/create_note_on_issuable_handler_spec.rb index d3535fa9bd3..6e83c06c1b4 100644 --- a/spec/lib/gitlab/email/handler/create_note_on_issuable_handler_spec.rb +++ b/spec/lib/gitlab/email/handler/create_note_on_issuable_handler_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::Email::Handler::CreateNoteOnIssuableHandler do - include_context :email_shared_context + include_context 'email shared context' let_it_be(:user) { create(:user, email: 'jake@adventuretime.ooo', incoming_email_token: 'auth_token') } let_it_be(:namespace) { create(:namespace, path: 'gitlabhq') } @@ -17,9 +17,9 @@ RSpec.describe Gitlab::Email::Handler::CreateNoteOnIssuableHandler do stub_config_setting(host: 'localhost') end - it_behaves_like :reply_processing_shared_examples + it_behaves_like 'reply processing shared examples' - it_behaves_like :note_handler_shared_examples, true do + it_behaves_like 'note handler shared examples', true do let_it_be(:recipient) { user } let(:update_commands_only) { email_reply_fixture('emails/update_commands_only.eml') } @@ -42,7 +42,7 @@ RSpec.describe Gitlab::Email::Handler::CreateNoteOnIssuableHandler do noteable.update_attribute(:confidential, true) end - it_behaves_like :checks_permissions_on_noteable_examples + it_behaves_like 'checks permissions on noteable examples' end def email_fixture(path) diff --git a/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb b/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb index 08a7383700b..7bba0775668 100644 --- a/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb +++ b/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb @@ -3,7 +3,8 @@ require 'spec_helper' RSpec.describe Gitlab::Email::Handler::ServiceDeskHandler do - include_context :email_shared_context + include ServiceDeskHelper + include_context 'email shared context' before do stub_incoming_email_setting(enabled: true, address: "incoming+%{key}@appmail.adventuretime.ooo") @@ -184,12 +185,6 @@ RSpec.describe Gitlab::Email::Handler::ServiceDeskHandler do context 'and template is present' do let_it_be(:settings) { create(:service_desk_setting, project: project) } - def set_template_file(file_name, content) - file_path = ".gitlab/issue_templates/#{file_name}.md" - project.repository.create_file(user, file_path, content, message: 'message', branch_name: 'master') - settings.update!(issue_template_key: file_name) - end - it 'appends template text to issue description' do set_template_file('service_desk', 'text from template') diff --git a/spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb b/spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb index 2bc3cd81b48..f33e9eba5c6 100644 --- a/spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb +++ b/spec/lib/gitlab/email/handler/unsubscribe_handler_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::Email::Handler::UnsubscribeHandler do - include_context :email_shared_context + include_context 'email shared context' before do stub_incoming_email_setting(enabled: true, address: 'reply+%{key}@appmail.adventuretime.ooo') diff --git a/spec/lib/gitlab/email/hook/disable_email_interceptor_spec.rb b/spec/lib/gitlab/email/hook/disable_email_interceptor_spec.rb index 47f6015c6f8..b22c55208f0 100644 --- a/spec/lib/gitlab/email/hook/disable_email_interceptor_spec.rb +++ b/spec/lib/gitlab/email/hook/disable_email_interceptor_spec.rb @@ -7,15 +7,15 @@ RSpec.describe Gitlab::Email::Hook::DisableEmailInterceptor do Mail.register_interceptor(described_class) end + after do + Mail.unregister_interceptor(described_class) + end + it 'does not send emails' do allow(Gitlab.config.gitlab).to receive(:email_enabled).and_return(false) expect { deliver_mail }.not_to change(ActionMailer::Base.deliveries, :count) end - after do - Mail.unregister_interceptor(described_class) - end - def deliver_mail key = create :personal_key Notify.new_ssh_key_email(key.id) diff --git a/spec/lib/gitlab/email/receiver_spec.rb b/spec/lib/gitlab/email/receiver_spec.rb index 9240d07fd59..865e40d4ecb 100644 --- a/spec/lib/gitlab/email/receiver_spec.rb +++ b/spec/lib/gitlab/email/receiver_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::Email::Receiver do - include_context :email_shared_context + include_context 'email shared context' let_it_be(:project) { create(:project) } let(:metric_transaction) { instance_double(Gitlab::Metrics::WebTransaction) } |