1
0
مراية لـ https://github.com/postalserver/postal.git تم المزامنة 2025-11-30 21:32:30 +00:00
الملفات
postal/spec/helpers/message_db_mocking.rb
Adam Cooke b4016f6b49 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.
2024-02-23 22:51:34 +00:00

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