discourse/spec/integration/smtp_spec.rb
Alan Guo Xiang Tan 47f383d1ac
DEV: Attempt to fix a flaky spec (#29155)
We some times get the following failure on Github CI:

```
expected StandardError with message matching /some.host/, got #<Socket::ResolutionError: getaddrinfo: Temporary failure in name resolution> with backtrace:
```
2024-10-10 17:19:53 +08:00

27 lines
920 B
Ruby

# frozen_string_literal: true
RSpec.describe "SMTP Settings Integration" do
before do
@original_action_mailer_smtp_settings = ActionMailer::Base.smtp_settings
@original_action_mailer_delivery_method = ActionMailer::Base.delivery_method
ActionMailer::Base.delivery_method = :smtp
end
after do
ActionMailer::Base.smtp_settings = @original_action_mailer_smtp_settings
ActionMailer::Base.delivery_method = @original_action_mailer_delivery_method
end
it "should attempt to send out an email without raising any SMTP argument errors" do
global_setting :smtp_address, "1.2.3.4"
global_setting :smtp_port, 12_345
global_setting :smtp_open_timeout, 0.00001
ActionMailer::Base.smtp_settings = GlobalSetting.smtp_settings
message = TestMailer.send_test("some_email")
expect do Email::Sender.new(message, :test_message).send end.to raise_error(Net::OpenTimeout)
end
end