Example #1
0
 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)
Example #2
0
 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)
Example #3
0
 def test_maxsize(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)
     c1.conn.close()
     c2.conn.close()
Example #4
0
 def test_cancelled(self):
     pool = Pool("ws://localhost:8182/",
                 maxsize=2,
                 username="******",
                 password="******")
     c1 = yield pool.acquire()
     c2 = yield pool.acquire()
     c3 = pool.acquire()
     pool.close()
     # Tornado futures do not support cancellation!
     # self.assertTrue(c3.cancelled())
     c1.close()
     c2.close()
Example #5
0
 def test_cancelled(self):
     pool = Pool("ws://localhost:8182/",
                 maxsize=2,
                 username="******",
                 password="******")
     c1 = yield pool.acquire()
     c2 = yield pool.acquire()
     c3 = pool.acquire()
     pool.close()
     # Tornado futures do not support cancellation!
     # self.assertTrue(c3.cancelled())
     c1.close()
     c2.close()
Example #6
0
 def test_maxsize(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)
     c1.conn.close()
     c2.conn.close()
Example #7
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)
Example #8
0
 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)
Example #9
0
 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)
Example #10
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)
Example #11
0
 def test_acquire(self):
     pool = Pool("ws://localhost:8182/",
                 maxsize=2,
                 username="******",
                 password="******")
     connection = yield pool.acquire()
     conn = connection.conn
     self.assertFalse(conn.closed)
     self.assertIsInstance(conn, Response)
     self.assertEqual(pool.size, 1)
     self.assertTrue(connection in pool._acquired)
     connection2 = yield pool.acquire()
     conn2 = connection2.conn
     self.assertFalse(conn2.closed)
     self.assertIsInstance(conn2, Response)
     self.assertEqual(pool.size, 2)
     self.assertTrue(connection2 in pool._acquired)
     self.assertNotEqual(conn, conn2)
     conn.close()
     conn2.close()
Example #12
0
 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)
Example #13
0
 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)
Example #14
0
 def test_acquire(self):
     pool = Pool("ws://localhost:8182/",
                 maxsize=2,
                 username="******",
                 password="******")
     connection = yield pool.acquire()
     conn = connection.conn
     self.assertFalse(conn.closed)
     self.assertIsInstance(conn, Response)
     self.assertEqual(pool.size, 1)
     self.assertTrue(connection in pool._acquired)
     connection2 = yield pool.acquire()
     conn2 = connection2.conn
     self.assertFalse(conn2.closed)
     self.assertIsInstance(conn2, Response)
     self.assertEqual(pool.size, 2)
     self.assertTrue(connection2 in pool._acquired)
     self.assertNotEqual(conn, conn2)
     conn.close()
     conn2.close()
Example #15
0
 def test_self_release(self):
     pool = Pool("ws://localhost:8182/",
                 maxsize=2,
                 username="******",
                 password="******",
                 force_release=True)
     self.assertEqual(len(pool.pool), 0)
     c1 = yield pool.acquire()
     self.assertEqual(len(pool._acquired), 1)
     stream = c1.send("1 + 1")
     resp = yield stream.read()
     self.assertEqual(len(pool.pool), 1)
     self.assertEqual(len(pool._acquired), 0)
Example #16
0
 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)
Example #17
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)
Example #18
0
 def test_self_release(self):
     pool = Pool("ws://localhost:8182/",
                 maxsize=2,
                 username="******",
                 password="******",
                 force_release=True)
     self.assertEqual(len(pool.pool), 0)
     c1 = yield pool.acquire()
     self.assertEqual(len(pool._acquired), 1)
     stream = c1.send("1 + 1")
     resp = yield stream.read()
     self.assertEqual(len(pool.pool), 1)
     self.assertEqual(len(pool._acquired), 0)
Example #19
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)
Example #20
0
 def test_acquire_send(self):
     pool = Pool("ws://localhost:8182/",
                 maxsize=2,
                 username="******",
                 password="******")
     connection = yield pool.acquire()
     resp = connection.send("1 + 1")
     while True:
         msg = yield resp.read()
         if msg is None:
             break
         self.assertEqual(msg.status_code, 200)
         self.assertEqual(msg.data[0], 2)
     connection.conn.close()
Example #21
0
 def test_acquire_send(self):
     pool = Pool("ws://localhost:8182/",
                 maxsize=2,
                 username="******",
                 password="******")
     connection = yield pool.acquire()
     resp = connection.send("1 + 1")
     while True:
         msg = yield resp.read()
         if msg is None:
             break
         self.assertEqual(msg.status_code, 200)
         self.assertEqual(msg.data[0], 2)
     connection.conn.close()