DEV: Apply syntax_tree formatting to spec/*

This commit is contained in:
David Taylor
2023-01-09 11:18:21 +00:00
parent 0cf6421716
commit cb932d6ee1
907 changed files with 58693 additions and 45909 deletions

View File

@ -3,22 +3,21 @@
require "email/processor"
RSpec.describe Email::Processor do
after do
Discourse.redis.flushdb
end
after { Discourse.redis.flushdb }
let(:from) { "foo@bar.com" }
context "when reply via email is too short" do
let(:mail) { file_from_fixtures("chinese_reply.eml", "emails").read }
fab!(:post) { Fabricate(:post) }
fab!(:user) { Fabricate(:user, email: 'discourse@bar.com') }
fab!(:user) { Fabricate(:user, email: "discourse@bar.com") }
fab!(:post_reply_key) do
Fabricate(:post_reply_key,
Fabricate(
:post_reply_key,
user: user,
post: post,
reply_key: '4f97315cc828096c9cb34c6f1a0d6fe8'
reply_key: "4f97315cc828096c9cb34c6f1a0d6fe8",
)
end
@ -39,11 +38,12 @@ RSpec.describe Email::Processor do
former_title = processor.receiver.mail.subject
expect(rejection_raw.gsub(/\r/, "")).to eq(
I18n.t("system_messages.email_reject_post_too_short.text_body_template",
I18n.t(
"system_messages.email_reject_post_too_short.text_body_template",
count: count,
destination: destination,
former_title: former_title
).gsub(/\r/, "")
former_title: former_title,
).gsub(/\r/, ""),
)
end
end
@ -52,9 +52,7 @@ RSpec.describe Email::Processor do
let(:mail) { "From: #{from}\nTo: bar@foo.com\nSubject: FOO BAR\n\nFoo foo bar bar?" }
let(:limit_exceeded) { RateLimiter::LimitExceeded.new(10) }
before do
Email::Receiver.any_instance.expects(:process!).raises(limit_exceeded)
end
before { Email::Receiver.any_instance.expects(:process!).raises(limit_exceeded) }
it "enqueues a background job by default" do
expect_enqueued_with(job: :process_email, args: { mail: mail }) do
@ -64,7 +62,9 @@ RSpec.describe Email::Processor do
it "doesn't enqueue a background job when retry is disabled" do
expect_not_enqueued_with(job: :process_email, args: { mail: mail }) do
expect { Email::Processor.process!(mail, retry_on_rate_limit: false) }.to raise_error(limit_exceeded)
expect { Email::Processor.process!(mail, retry_on_rate_limit: false) }.to raise_error(
limit_exceeded,
)
end
end
end
@ -78,28 +78,26 @@ RSpec.describe Email::Processor do
key = "rejection_email:#{[from]}:email_reject_empty:#{Date.today}"
Discourse.redis.expire(key, 0)
expect {
Email::Processor.process!(mail)
}.to change { EmailLog.count }.by(1)
expect { Email::Processor.process!(mail) }.to change { EmailLog.count }.by(1)
expect {
Email::Processor.process!(mail2)
}.not_to change { EmailLog.count }
expect { Email::Processor.process!(mail2) }.not_to change { EmailLog.count }
freeze_time(Date.today + 1)
key = "rejection_email:#{[from]}:email_reject_empty:#{Date.today}"
Discourse.redis.expire(key, 0)
expect {
Email::Processor.process!(mail3)
}.to change { EmailLog.count }.by(1)
expect { Email::Processor.process!(mail3) }.to change { EmailLog.count }.by(1)
end
end
describe "unrecognized error" do
let(:mail) { "Date: Fri, 15 Jan 2016 00:12:43 +0100\nFrom: #{from}\nTo: bar@foo.com\nSubject: FOO BAR\n\nFoo foo bar bar?" }
let(:mail2) { "Date: Fri, 15 Jan 2016 00:12:43 +0100\nFrom: #{from}\nTo: foo@foo.com\nSubject: BAR BAR\n\nBar bar bar bar?" }
let(:mail) do
"Date: Fri, 15 Jan 2016 00:12:43 +0100\nFrom: #{from}\nTo: bar@foo.com\nSubject: FOO BAR\n\nFoo foo bar bar?"
end
let(:mail2) do
"Date: Fri, 15 Jan 2016 00:12:43 +0100\nFrom: #{from}\nTo: foo@foo.com\nSubject: BAR BAR\n\nBar bar bar bar?"
end
it "sends a rejection email on an unrecognized error" do
begin
@ -130,25 +128,24 @@ RSpec.describe Email::Processor do
key = "rejection_email:#{[from]}:email_reject_unrecognized_error:#{Date.today}"
Discourse.redis.expire(key, 0)
expect {
Email::Processor.process!(mail)
}.to change { EmailLog.count }.by(1)
expect { Email::Processor.process!(mail) }.to change { EmailLog.count }.by(1)
expect {
Email::Processor.process!(mail2)
}.to change { EmailLog.count }.by(1)
expect { Email::Processor.process!(mail2) }.to change { EmailLog.count }.by(1)
end
end
describe "from reply to email address" do
let(:mail) { "Date: Fri, 15 Jan 2016 00:12:43 +0100\nFrom: reply@bar.com\nTo: reply@bar.com\nSubject: FOO BAR\n\nFoo foo bar bar?" }
let(:mail) do
"Date: Fri, 15 Jan 2016 00:12:43 +0100\nFrom: reply@bar.com\nTo: reply@bar.com\nSubject: FOO BAR\n\nFoo foo bar bar?"
end
it "ignores the email" do
Email::Receiver.any_instance.stubs(:process_internal).raises(Email::Receiver::FromReplyByAddressError.new)
Email::Receiver
.any_instance
.stubs(:process_internal)
.raises(Email::Receiver::FromReplyByAddressError.new)
expect {
Email::Processor.process!(mail)
}.not_to change { EmailLog.count }
expect { Email::Processor.process!(mail) }.not_to change { EmailLog.count }
end
end
@ -171,32 +168,40 @@ RSpec.describe Email::Processor do
end
end
describe 'when replying to a post that is too old' do
describe "when replying to a post that is too old" do
fab!(:user) { Fabricate(:user, email: "discourse@bar.com") }
fab!(:topic) { Fabricate(:topic) }
fab!(:post) { Fabricate(:post, topic: topic, created_at: 3.days.ago) }
let(:mail) { file_from_fixtures("old_destination.eml", "emails").read.gsub("424242", topic.id.to_s).gsub("123456", post.id.to_s) }
let(:mail) do
file_from_fixtures("old_destination.eml", "emails")
.read
.gsub("424242", topic.id.to_s)
.gsub("123456", post.id.to_s)
end
it 'rejects the email with the right response' do
it "rejects the email with the right response" do
SiteSetting.disallow_reply_by_email_after_days = 2
processor = Email::Processor.new(mail)
processor.process!
rejection_raw = ActionMailer::Base.deliveries.first.body.to_s
expect(rejection_raw).to eq(I18n.t("system_messages.email_reject_old_destination.text_body_template",
destination: '["reply+4f97315cc828096c9cb34c6f1a0d6fe8@bar.com"]',
former_title: 'Some Old Post',
short_url: "#{Discourse.base_url}/p/#{post.id}",
number_of_days: 2
))
expect(rejection_raw).to eq(
I18n.t(
"system_messages.email_reject_old_destination.text_body_template",
destination: '["reply+4f97315cc828096c9cb34c6f1a0d6fe8@bar.com"]',
former_title: "Some Old Post",
short_url: "#{Discourse.base_url}/p/#{post.id}",
number_of_days: 2,
),
)
end
end
describe 'when group email recipients exceeds maximum_recipients_per_new_group_email site setting' do
describe "when group email recipients exceeds maximum_recipients_per_new_group_email site setting" do
let(:mail) { file_from_fixtures("cc.eml", "emails").read }
it 'rejects the email with the right response' do
it "rejects the email with the right response" do
SiteSetting.maximum_recipients_per_new_group_email = 3
processor = Email::Processor.new(mail)
@ -205,12 +210,13 @@ RSpec.describe Email::Processor do
rejection_raw = ActionMailer::Base.deliveries.first.body.to_s
expect(rejection_raw).to eq(
I18n.t("system_messages.email_reject_too_many_recipients.text_body_template",
I18n.t(
"system_messages.email_reject_too_many_recipients.text_body_template",
destination: '["someone@else.com"]',
former_title: 'The more, the merrier',
former_title: "The more, the merrier",
max_recipients_count: 3,
base_url: Discourse.base_url,
)
),
)
end
end