summaryrefslogtreecommitdiff
path: root/test/engine/test_pool.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/engine/test_pool.py')
-rw-r--r--test/engine/test_pool.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/test/engine/test_pool.py b/test/engine/test_pool.py
index 4e818894f..2df8b9ca2 100644
--- a/test/engine/test_pool.py
+++ b/test/engine/test_pool.py
@@ -3,7 +3,7 @@ from sqlalchemy import pool, interfaces, create_engine, select, event
import sqlalchemy as tsa
from test.lib import TestBase, testing
from test.lib.util import gc_collect, lazy_gc
-from test.lib.testing import eq_
+from test.lib.testing import eq_, assert_raises
mcid = 1
class MockDBAPI(object):
@@ -940,6 +940,24 @@ class SingletonThreadPoolTest(PoolTestBase):
th.join()
assert len(p._all_conns) == 3
+class AssertionPoolTest(PoolTestBase):
+ def test_connect_error(self):
+ dbapi = MockDBAPI()
+ p = pool.AssertionPool(creator = lambda: dbapi.connect('foo.db'))
+ c1 = p.connect()
+ assert_raises(AssertionError, p.connect)
+
+ def test_connect_multiple(self):
+ dbapi = MockDBAPI()
+ p = pool.AssertionPool(creator = lambda: dbapi.connect('foo.db'))
+ c1 = p.connect()
+ c1.close()
+ c2 = p.connect()
+ c2.close()
+
+ c3 = p.connect()
+ assert_raises(AssertionError, p.connect)
+
class NullPoolTest(PoolTestBase):
def test_reconnect(self):
dbapi = MockDBAPI()