27 lines
737 B
Ruby
27 lines
737 B
Ruby
module PoolArchiveTestHelper
|
|
def mock_pool_archive_service!
|
|
mock_sqs_service = Class.new do
|
|
def send_message(msg)
|
|
_, json = msg.split(/\n/)
|
|
json = JSON.parse(json)
|
|
prev = PoolArchive.where(pool_id: json["pool_id"]).order("id desc").first
|
|
if prev && prev.updater_ip_addr.to_s == json["updater_ip_addr"]
|
|
prev.update_columns(json)
|
|
else
|
|
PoolArchive.create(json)
|
|
end
|
|
end
|
|
end
|
|
|
|
PoolArchive.stubs(:sqs_service).returns(mock_sqs_service.new)
|
|
end
|
|
|
|
def start_pool_archive_transaction
|
|
PoolArchive.connection.begin_transaction joinable: false
|
|
end
|
|
|
|
def rollback_pool_archive_transaction
|
|
PoolArchive.connection.rollback_transaction
|
|
end
|
|
end
|