Sha256: 32d468f450e34a9cb0b7a7db718f6d92de53a0cc1248dff57300a4011bb9333e
Contents?: true
Size: 1.87 KB
Versions: 5
Compression:
Stored size: 1.87 KB
Contents
require 'test_helper' class SplitActiveRecordCheckTest < ActiveSupport::TestCase test "#run sets success conditions on successful run" do master = ActiveRecord::Base.connection Easymon::Base.establish_connection slave = Easymon::Base.connection check = Easymon::SplitActiveRecordCheck.new { [master, slave] } results = check.check assert_equal("Master: Up - Slave: Up", results[1]) assert_equal(true, results[0]) end test "#run sets failed conditions when slave is down" do master = ActiveRecord::Base.connection Easymon::Base.establish_connection slave = Easymon::Base.connection slave.stubs(:active?).raises("boom") check = Easymon::SplitActiveRecordCheck.new { [master, slave] } results = check.check assert_equal("Master: Up - Slave: Down", results[1]) assert_equal(false, results[0]) end test "#run sets failed conditions when master is down" do master = ActiveRecord::Base.connection Easymon::Base.establish_connection slave = Easymon::Base.connection master.stubs(:active?).raises("boom") check = Easymon::SplitActiveRecordCheck.new { [master, slave] } results = check.check assert_equal("Master: Down - Slave: Up", results[1]) assert_equal(false, results[0]) end test "given nil as a config" do check = Easymon::SplitActiveRecordCheck.new { } results = check.check assert_equal("Master: Down - Slave: Down", results[1]) assert_equal(false, results[0]) end end # This would be done in the host app module Easymon class Base < ActiveRecord::Base def establish_connection(spec = nil) if spec super elsif config = Easymon.database_configuration super config end end def database_configuration env = "#{Rails.env}_slave" config = YAML.load_file(Rails.root.join('config/database.yml'))[env] end end end
Version data entries
5 entries across 5 versions & 1 rubygems