def test_next_with_new_conf(self): from relstorage.adapters.replica import ReplicaSelector rs = ReplicaSelector(self.fn, 600.0) self.assertEqual(rs.current(), 'example.com:1234') self.assertEqual(rs.next(), 'localhost:4321') # interrupt the iteration by changing the replica conf file with open(self.fn, 'w') as f: f.write('example.com:9999\n') rs._config_checked = 0 rs._config_modified = 0 self.assertEqual(rs.next(), 'example.com:9999') self.assertEqual(rs.next(), None)
def test_next_with_new_conf(self): from relstorage.adapters.replica import ReplicaSelector rs = ReplicaSelector(self.fn, 600.0) self.assertEqual(rs.current(), 'example.com:1234') self.assertEqual(rs.next(), 'localhost:4321') # interrupt the iteration by changing the replica conf file f = open(self.fn, 'w') f.write('example.com:9999\n') f.close() rs._config_checked = 0 rs._config_modified = 0 self.assertEqual(rs.next(), 'example.com:9999') self.assertEqual(rs.next(), None)
def test_next_only_one_server(self): from relstorage.adapters.replica import ReplicaSelector with open(self.fn, 'w') as f: f.write('localhost\n') rs = ReplicaSelector(self.fn, 600.0) self.assertEqual(rs.current(), 'localhost') self.assertEqual(rs.next(), None)
def test_next_only_one_server(self): from relstorage.adapters.replica import ReplicaSelector f = open(self.fn, 'w') f.write('localhost\n') f.close() rs = ReplicaSelector(self.fn, 600.0) self.assertEqual(rs.current(), 'localhost') self.assertEqual(rs.next(), None)
def test_next_only_one_server(self): from relstorage.adapters.replica import ReplicaSelector f = open(self.fn, 'w') f.write('localhost\n') f.close() rs = ReplicaSelector(self.options) self.assertEqual(rs.current(), 'localhost') self.assertEqual(rs.next(), None)
def test_next_iteration(self): from relstorage.adapters.replica import ReplicaSelector rs = ReplicaSelector(self.fn, 600.0) # test forward iteration self.assertEqual(rs.current(), 'example.com:1234') self.assertEqual(rs.next(), 'localhost:4321') self.assertEqual(rs.next(), 'localhost:9999') self.assertEqual(rs.next(), None) # test iteration that skips over the replica that failed self.assertEqual(rs.current(), 'example.com:1234') self.assertEqual(rs.next(), 'localhost:4321') self.assertEqual(rs.current(), 'localhost:4321') # next() after current() indicates the last replica failed self.assertEqual(rs.next(), 'example.com:1234') self.assertEqual(rs.next(), 'localhost:9999') self.assertEqual(rs.next(), None)
def test_next_iteration(self): from relstorage.adapters.replica import ReplicaSelector rs = ReplicaSelector(self.fn, 600.0) # test forward iteration self.assertEqual(rs.current(), 'example.com:1234') self.assertEqual(rs.next(), 'localhost:4321') self.assertEqual(rs.next(), 'localhost:9999') self.assertEqual(rs.next(), None) # test iteration that skips over the replica that failed self.assertEqual(rs.current(), 'example.com:1234') self.assertEqual(rs.next(), 'localhost:4321') self.assertEqual(rs.current(), 'localhost:4321') # next() after current() indicates the last replica failed self.assertEqual(rs.next(), 'example.com:1234') self.assertEqual(rs.next(), 'localhost:9999') self.assertEqual(rs.next(), None)