From 852a1aef0763b5cd5ffb196ec1d18dcfee6bbfd9 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 16 Mar 2011 18:15:27 -0400 Subject: - 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] --- test/engine/test_pool.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'test/engine/test_pool.py') 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() -- cgit v1.2.1