def test_release_acquire(self): pool = Pool("ws://localhost:8182/", maxsize=2, username="******", password="******") c1 = yield pool.acquire() yield pool.release(c1) c2 = yield pool.acquire() self.assertEqual(c1, c2)
def test_release(self): pool = Pool("ws://localhost:8182/", maxsize=2, username="******", password="******") self.assertEqual(len(pool.pool), 0) c1 = yield pool.acquire() self.assertEqual(len(pool._acquired), 1) yield pool.release(c1) self.assertEqual(len(pool.pool), 1) self.assertEqual(len(pool._acquired), 0)
def test_close(self): pool = Pool("ws://localhost:8182/", maxsize=2, username="******", password="******") c1 = yield pool.acquire() c2 = yield pool.acquire() yield pool.release(c2) pool.close() self.assertTrue(c2.conn.closed) self.assertFalse(c1.conn.closed) c1.close() self.assertTrue(pool.closed)
def test_release_closed(self): pool = Pool("ws://localhost:8182/", maxsize=2, username="******", password="******", log_level=LOG_LEVEL) self.assertEqual(len(pool.pool), 0) c1 = yield pool.acquire() self.assertEqual(len(pool._acquired), 1) c1.close() yield pool.release(c1) self.assertEqual(len(pool.pool), 0) self.assertEqual(len(pool._acquired), 0)
def go(): pool1 = Pool( url="ws://localhost:8182/", maxsize=2, username="******", password="******", future_class=Future ) pool2 = Pool(url="ws://localhost:8182/", username="******", password="******", future_class=Future) conn1 = yield From(pool1.acquire()) conn2 = yield From(pool2.acquire()) conn3 = yield From(pool2.acquire()) conn4 = yield From(pool2.acquire()) pool1.pool.append(conn2) pool1.pool.append(conn3) pool1.pool.append(conn4) yield From(pool1.release(conn1)) self.assertTrue(conn1.closed)
def test_maxsize_release(self): pool = Pool("ws://localhost:8182/", maxsize=2, username="******", password="******") c1 = yield pool.acquire() c2 = yield pool.acquire() c3 = pool.acquire() self.assertIsInstance(c3, Future) with self.assertRaises(tornado.gen.TimeoutError): yield gen.with_timeout(timedelta(seconds=0.1), c3) yield pool.release(c2) c3 = yield c3 self.assertEqual(c2, c3) c1.conn.close() c2.conn.close() c3.conn.close()
def test_pool_too_big(self): pool1 = Pool("ws://localhost:8182/", maxsize=2, username="******", password="******") pool2 = Pool("ws://localhost:8182/", username="******", password="******") conn1 = yield pool1.acquire() conn2 = yield pool2.acquire() conn3 = yield pool2.acquire() conn4 = yield pool2.acquire() pool1.pool.append(conn2) pool1.pool.append(conn3) pool1.pool.append(conn4) yield pool1.release(conn1) self.assertTrue(conn1.closed)
def go(): pool1 = Pool(url="ws://localhost:8182/", maxsize=2, username="******", password="******", future_class=Future) pool2 = Pool(url="ws://localhost:8182/", username="******", password="******", future_class=Future) conn1 = yield From(pool1.acquire()) conn2 = yield From(pool2.acquire()) conn3 = yield From(pool2.acquire()) conn4 = yield From(pool2.acquire()) pool1.pool.append(conn2) pool1.pool.append(conn3) pool1.pool.append(conn4) yield From(pool1.release(conn1)) self.assertTrue(conn1.closed)