Ensure we clean up state in PostgreSQL failover specs.
This commit is contained in:
parent
a173511681
commit
94782152c6
|
@ -89,23 +89,25 @@ describe ActiveRecord::ConnectionHandling do
|
|||
expect(Sidekiq.paused?).to eq(true)
|
||||
|
||||
with_multisite_db(multisite_db) do
|
||||
expect(postgresql_fallback_handler.master_down?).to eq(nil)
|
||||
begin
|
||||
expect(postgresql_fallback_handler.master_down?).to eq(nil)
|
||||
|
||||
message = MessageBus.track_publish(PostgreSQLFallbackHandler::DATABASE_DOWN_CHANNEL) do
|
||||
expect { ActiveRecord::Base.postgresql_fallback_connection(multisite_config) }
|
||||
.to raise_error(PG::ConnectionBad)
|
||||
end.first
|
||||
|
||||
expect(message.data[:db]).to eq(multisite_db)
|
||||
|
||||
message = MessageBus.track_publish(PostgreSQLFallbackHandler::DATABASE_DOWN_CHANNEL) do
|
||||
expect { ActiveRecord::Base.postgresql_fallback_connection(multisite_config) }
|
||||
.to raise_error(PG::ConnectionBad)
|
||||
end.first
|
||||
.to change { Discourse.readonly_mode? }.from(false).to(true)
|
||||
|
||||
expect(message.data[:db]).to eq(multisite_db)
|
||||
|
||||
expect { ActiveRecord::Base.postgresql_fallback_connection(multisite_config) }
|
||||
.to change { Discourse.readonly_mode? }.from(false).to(true)
|
||||
|
||||
expect(postgresql_fallback_handler.master_down?).to eq(true)
|
||||
expect(postgresql_fallback_handler.master_down?).to eq(true)
|
||||
ensure
|
||||
postgresql_fallback_handler.master_up(multisite_db)
|
||||
end
|
||||
end
|
||||
|
||||
postgresql_fallback_handler.master_up(multisite_db)
|
||||
|
||||
ActiveRecord::Base.unstub(:postgresql_connection)
|
||||
|
||||
postgresql_fallback_handler.initiate_fallback_to_master
|
||||
|
|
Loading…
Reference in New Issue