Commit 27a1829
Changed files (1)
spec
minbox
spec/minbox/server_spec.rb
@@ -104,6 +104,29 @@ RSpec.describe Minbox::Server do
specify { expect(result).to end_with("DONE\n") }
specify { expect(result).to include('250 OK') }
end
+
+ context "when sending multiple emails from multiple threads" do
+ let!(:email) { Faker::Internet.email }
+ let!(:mail) { create_mail }
+ let!(:mail_string) { mail.to_s }
+
+ specify do
+ threads = []
+ 10.times do |n|
+ threads << Thread.new do
+ i = rand(10)
+ result = Net::SMTP.start(host, port) do |smtp|
+ i.times do
+ smtp.send_message(mail_string, email, email)
+ end
+ end
+ expect(result).to eql(i)
+ end
+
+ threads.map(&:join)
+ end
+ end
+ end
end
end
end