مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-12-01 05:43:04 +00:00
This adds a comprehensive set of tests for the message unqueueing service. Additionally, it improves how message databases are used for testing environments.
42 أسطر
893 B
Ruby
42 أسطر
893 B
Ruby
# frozen_string_literal: true
|
|
|
|
module GlobalMessageDB
|
|
|
|
class << self
|
|
|
|
def find_or_create
|
|
return @db if @db
|
|
|
|
@db = Postal::MessageDB::Database.new(1, 1, database_name: "postal-test-message-db")
|
|
@db.provisioner.provision
|
|
end
|
|
|
|
def exists?
|
|
!@db.nil?
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
RSpec.configure do |config|
|
|
config.before(:example) do
|
|
@mocked_message_dbs = []
|
|
allow_any_instance_of(Server).to receive(:message_db).and_wrap_original do |m|
|
|
GlobalMessageDB.find_or_create
|
|
|
|
message_db = m.call
|
|
@mocked_message_dbs << message_db
|
|
allow(message_db).to receive(:database_name).and_return("postal-test-message-db")
|
|
message_db
|
|
end
|
|
end
|
|
|
|
config.after(:example) do
|
|
if GlobalMessageDB.exists? && @mocked_message_dbs.present?
|
|
GlobalMessageDB.find_or_create.provisioner.clean
|
|
@mocked_message_dbs = []
|
|
end
|
|
end
|
|
end
|