مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2026-01-18 05:49:47 +00:00
test: add tests for message unqueueing
This adds a comprehensive set of tests for the message unqueueing service. Additionally, it improves how message databases are used for testing environments.
هذا الالتزام موجود في:
8
spec/factories/address_endpoint_factory.rb
Normal file
8
spec/factories/address_endpoint_factory.rb
Normal file
@@ -0,0 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
FactoryBot.define do
|
||||
factory :address_endpoint do
|
||||
server
|
||||
sequence(:address) { |n| "test#{n}@example.com" }
|
||||
end
|
||||
end
|
||||
@@ -27,14 +27,33 @@
|
||||
#
|
||||
FactoryBot.define do
|
||||
factory :queued_message do
|
||||
server
|
||||
message_id { 1234 }
|
||||
domain { "example.com" }
|
||||
batch_key { nil }
|
||||
|
||||
transient do
|
||||
message { nil }
|
||||
end
|
||||
|
||||
after(:build) do |message, evaluator|
|
||||
if evaluator.message
|
||||
message.server = evaluator.message.server
|
||||
message.message_id = evaluator.message.id
|
||||
message.batch_key = evaluator.message.batch_key
|
||||
message.domain = evaluator.message.recipient_domain
|
||||
message.route_id = evaluator.message.route_id
|
||||
else
|
||||
message.server ||= create(:server)
|
||||
message.message_id ||= 0
|
||||
end
|
||||
end
|
||||
|
||||
trait :locked do
|
||||
locked_by { "worker1" }
|
||||
locked_at { 5.minutes.ago }
|
||||
end
|
||||
|
||||
trait :retry_in_future do
|
||||
attempts { 2 }
|
||||
retry_after { 1.hour.from_now }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -53,5 +53,10 @@ FactoryBot.define do
|
||||
trait :suspended do
|
||||
suspended_at { Time.current }
|
||||
end
|
||||
|
||||
trait :exceeded_send_limit do
|
||||
send_limit_approaching_at { 5.minutes.ago }
|
||||
send_limit_exceeded_at { 1.minute.ago }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
11
spec/factories/smtp_endpoint_factory.rb
Normal file
11
spec/factories/smtp_endpoint_factory.rb
Normal file
@@ -0,0 +1,11 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
FactoryBot.define do
|
||||
factory :smtp_endpoint do
|
||||
server
|
||||
name { "Example SMTP Endpoint" }
|
||||
hostname { "example.com" }
|
||||
ssl_mode { "None" }
|
||||
port { 25 }
|
||||
end
|
||||
end
|
||||
المرجع في مشكلة جديدة
حظر مستخدم