def test_create_pool(self, mock_r): mock_r.connect = MagicMock() mock_r.close = MagicMock() from repool.pool import ConnectionPool p = ConnectionPool(cleanup=1) self.assertFalse(p.empty()) p.release_pool()
def __init__(self, config): self.config = config print(self.config) self.name = self.config['name'] self.id = self.config['id'] self.db_name = self.config['db_name'] self.rdb = r.connect(host=self.config['db_host'], port=self.config['db_port']) try: r.db_create(self.db_name).run(self.rdb) r.db(self.db_name)\ .table_create('incidents', primary_key='slack_channel')\ .run(self.rdb) print('Database setup completed.') except RqlRuntimeError: print('App database already exists.') self.rdb.close() self.pool = ConnectionPool(host=self.config['db_host'], port=self.config['db_port'], db=self.db_name)
def test_acquire(self, mock_r): mock_r.connect = MagicMock() mock_r.close = MagicMock() from repool.pool import ConnectionPool p = ConnectionPool(cleanup=1) conn = p.acquire() self.assertIsInstance(conn, MagicMock) p.release(conn) p.release_pool()
def test_connect(self, mock_r): mock_r.connect = MagicMock() mock_r.close = MagicMock() from repool.pool import ConnectionPool p = ConnectionPool(pool_size=1) with p.connect() as conn: self.assertEqual(0, p._pool.qsize()) self.assertEqual(1, p._pool.qsize()) p.release_pool()
def test_release_pool(self, mock_r): mock_r.connect = MagicMock() mock_r.close = MagicMock() from repool.pool import ConnectionPool, PoolException p = ConnectionPool(cleanup=1) conn1 = p.acquire() conn2 = p.acquire() p.release(conn1) with self.assertRaises(PoolException): p.release_pool()
def test_acquire_one(self, mock_r): mock_r.connect = MagicMock() mock_r.close = MagicMock() from repool.pool import ConnectionPool p = ConnectionPool(cleanup=1) nb_init = p._pool.qsize() conn = p.acquire() nb_term = p._pool.qsize() self.assertEqual(nb_init-1, nb_term) p.release(conn) p.release_pool()