Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)