DEV: Stablize the multisite tests.

SiteSettingExtension triggers message bus which re-establishes a
DB connection in `SiteSettingExtension#process_message`. That happens
concurrently and a test that requires a connection to the db will
fail when the reconnection is happening.
This commit is contained in:
Guo Xiang Tan
2019-01-16 10:25:42 +08:00
parent 037776881b
commit 51b19e945c
6 changed files with 22 additions and 35 deletions

View File

@ -301,22 +301,22 @@ module SiteSettingExtension
unless @subscribed
MessageBus.subscribe("/site_settings") do |message|
process_message(message)
if message.data["process"] != process_id
process_message(message)
end
end
@subscribed = true
end
end
def process_message(message)
data = message.data
if data["process"] != process_id
begin
@last_message_processed = message.global_id
MessageBus.on_connect.call(message.site_id)
refresh!
ensure
MessageBus.on_disconnect.call(message.site_id)
end
begin
@last_message_processed = message.global_id
MessageBus.on_connect.call(message.site_id)
refresh!
ensure
MessageBus.on_disconnect.call(message.site_id)
end
end