mongo-ruby-driver/test/replica_sets/read_preference_test.rb

42 lines
963 B
Ruby
Raw Normal View History

$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require './test/replica_sets/rs_test_helper'
class ReadPreferenceTest < Test::Unit::TestCase
include Mongo
def setup
@conn = ReplSetConnection.new([RS.host, RS.ports[0], RS.host, RS.ports[1]], :read => :secondary, :pool_size => 50)
@db = @conn.db(MONGO_TEST_DB)
@db.drop_collection("test-sets")
end
def test_query_tagged
col = @db['mongo-test']
col.insert({:a => 1}, :safe => {:w => 3})
col.find_one({}, :read => {:db => "main"})
col.find_one({}, :read => {:dc => "ny"})
col.find_one({}, :read => {:dc => "sf"})
assert_raise Mongo::NodeWithTagsNotFound do
col.find_one({}, :read => {:foo => "bar"})
end
threads = []
100.times do
threads << Thread.new do
col.find_one({}, :read => {:dc => "sf"})
end
end
threads.each {|t| t.join }
col.remove
end
def teardown
RS.restart_killed_nodes
end
end