diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/connection_pool.py | 32 | ||||
-rw-r--r-- | tests/pipeline.py | 13 |
2 files changed, 19 insertions, 26 deletions
diff --git a/tests/connection_pool.py b/tests/connection_pool.py index 64e637c..56f5f43 100644 --- a/tests/connection_pool.py +++ b/tests/connection_pool.py @@ -5,49 +5,49 @@ import unittest class ConnectionPoolTestCase(unittest.TestCase): def test_multiple_connections(self): - # 2 clients to the same host/port/db should use the same connection - r1 = redis.Redis(host='localhost', port=6379, db=9) - r2 = redis.Redis(host='localhost', port=6379, db=9) + # 2 clients to the same host/port/db/pool should use the same connection + pool = redis.ConnectionPool() + r1 = redis.Redis(host='localhost', port=6379, db=9, connection_pool=pool) + r2 = redis.Redis(host='localhost', port=6379, db=9, connection_pool=pool) self.assertEquals(r1.connection, r2.connection) - - # if one o them switches, they should have + + # if one of them switches, they should have # separate conncetion objects r2.select(db=10, host='localhost', port=6379) self.assertNotEqual(r1.connection, r2.connection) - + conns = [r1.connection, r2.connection] conns.sort() - + # but returning to the original state shares the object again r2.select(db=9, host='localhost', port=6379) self.assertEquals(r1.connection, r2.connection) - + # the connection manager should still have just 2 connections - mgr_conns = redis.connection_manager.get_all_connections() + mgr_conns = pool.get_all_connections() mgr_conns.sort() self.assertEquals(conns, mgr_conns) - + def test_threaded_workers(self): r = redis.Redis(host='localhost', port=6379, db=9) r.set('a', 'foo') r.set('b', 'bar') - + def _info_worker(): for i in range(50): _ = r.info() time.sleep(0.01) - + def _keys_worker(): for i in range(50): _ = r.keys() time.sleep(0.01) - + t1 = threading.Thread(target=_info_worker) t2 = threading.Thread(target=_keys_worker) t1.start() t2.start() - + for i in [t1, t2]: i.join() - -
\ No newline at end of file + diff --git a/tests/pipeline.py b/tests/pipeline.py index f9c8dfa..dcbfb0a 100644 --- a/tests/pipeline.py +++ b/tests/pipeline.py @@ -24,20 +24,13 @@ class PipelineTestCase(unittest.TestCase): ] ) - def test_pipeline_with_fresh_connection(self): - redis.client.connection_manager.connections.clear() - self.client = redis.Redis(host='localhost', port=6379, db=9) - pipe = self.client.pipeline() - pipe.set('a', 'b') - self.assertEquals(pipe.execute(), [True]) - def test_invalid_command_in_pipeline(self): # all commands but the invalid one should be excuted correctly self.client['c'] = 'a' pipe = self.client.pipeline() pipe.set('a', 1).set('b', 2).lpush('c', 3).set('d', 4) result = pipe.execute() - + self.assertEquals(result[0], True) self.assertEquals(self.client['a'], '1') self.assertEquals(result[1], True) @@ -48,11 +41,11 @@ class PipelineTestCase(unittest.TestCase): self.assertEquals(self.client['c'], 'a') self.assertEquals(result[3], True) self.assertEquals(self.client['d'], '4') - + # make sure the pipe was restored to a working state self.assertEquals(pipe.set('z', 'zzz').execute(), [True]) self.assertEquals(self.client['z'], 'zzz') - + def test_pipeline_cannot_select(self): pipe = self.client.pipeline() self.assertRaises(redis.RedisError, |