diff --git a/README.rst b/README.rst index 1ba1ce8..51280e2 100644 --- a/README.rst +++ b/README.rst @@ -96,7 +96,7 @@ Here is an example: >>> curs = conn.cursor() >>> curs.execute('create table CUSTOMER' ... '("CUST_ID" INTEGER not null,' -... ' "NAME" VARCHAR not null,' +... ' "NAME" VARCHAR(50) not null,' ... ' primary key ("CUST_ID"))' ... ) >>> curs.execute("insert into CUSTOMER values (1, 'John')") diff --git a/test/test_integration.py b/test/test_integration.py index a99c69d..6d8a756 100644 --- a/test/test_integration.py +++ b/test/test_integration.py @@ -207,17 +207,6 @@ class IntegrationTestBase(object): cursor.execute("select * from ACCOUNT") self.assertEqual(cursor.rowcount, -1) - def test_connection_with_statement(self): - with self.connect() as conn: - self.assertEqual(conn._closed, False) - self.assertEqual(conn._closed, True) - - def test_cursor_with_statement(self): - with self.conn.cursor() as cursor: - cursor.execute("select 1 from ACCOUNT") - self.assertIsNotNone(cursor._connection) - self.assertIsNone(cursor._connection) - class SqliteTestBase(IntegrationTestBase): def setUpSql(self): @@ -293,10 +282,33 @@ class PropertiesDriverArgsPassingTest(unittest.TestCase): driver, url, driver_args = ( 'org.hsqldb.jdbcDriver', 'jdbc:hsqldb:mem:.', ['SA', ''] ) - jaydebeapi.connect(driver, url, driver_args) + c = jaydebeapi.connect(driver, url, driver_args) + c.close() def test_connect_with_properties(self): driver, url, driver_args = ( 'org.hsqldb.jdbcDriver', 'jdbc:hsqldb:mem:.', {'user': 'SA', 'password': '' } ) - jaydebeapi.connect(driver, url, driver_args) + c = jaydebeapi.connect(driver, url, driver_args) + c.close() + +class WithStatementTest(unittest.TestCase): + + def test_connection_with_statement(self): + driver, url, driver_args = ( 'org.hsqldb.jdbcDriver', + 'jdbc:hsqldb:mem:.', + ['SA', ''] ) + with jaydebeapi.connect(driver, url, driver_args) as conn: + self.assertEqual(conn._closed, False) + self.assertEqual(conn._closed, True) + + def test_cursor_with_statement(self): + driver, url, driver_args = ( 'org.hsqldb.jdbcDriver', + 'jdbc:hsqldb:mem:.', + {'user': 'SA', 'password': '' } ) + c = jaydebeapi.connect(driver, url, driver_args) + with c.cursor() as cursor: + cursor.execute("CALL \"java.lang.Math.sqrt\"(2.0)") + self.assertIsNotNone(cursor._connection) + self.assertIsNone(cursor._connection) + diff --git a/tox.ini b/tox.ini index c61e685..b667960 100644 --- a/tox.ini +++ b/tox.ini @@ -14,7 +14,7 @@ whitelist_externals = mvn setenv = CLASSPATH = {envdir}/javalib/* driver-mock: TESTNAME=test_mock - driver-hsqldb: TESTNAME=test_integration.HsqldbTest + driver-hsqldb: TESTNAME=test_integration.HsqldbTest test_integration.WithStatementTest test_integration.PropertiesDriverArgsPassingTest driver-sqliteXerial: TESTNAME=test_integration.SqliteXerialTest driver-sqlitePy: TESTNAME=test_integration.SqlitePyTest deps =