summaryrefslogtreecommitdiff
path: root/test/engine/test_pool.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-03-16 18:15:27 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2011-03-16 18:15:27 -0400
commit852a1aef0763b5cd5ffb196ec1d18dcfee6bbfd9 (patch)
tree7b751e82e01ef3fbf077d872c5c474cf37cf3e22 /test/engine/test_pool.py
parent798339430a7657023188364c3ead0bcce56abd6b (diff)
downloadsqlalchemy-852a1aef0763b5cd5ffb196ec1d18dcfee6bbfd9.tar.gz
- Fixed AssertionPool regression bug. A replacement of finalize
logic did the wrong thing, but then also the logic it replaced also doesn't seem like its needed. If it is, would rather have a test case first so its out for now, added tests for assertionpool. [ticket:2097]
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()