Make with statement test a mock test

master
baztian 2020-05-27 22:11:33 +02:00
parent e221a17e19
commit ab9a256897
3 changed files with 14 additions and 22 deletions

View File

@ -291,24 +291,3 @@ class PropertiesDriverArgsPassingTest(unittest.TestCase):
{'user': 'SA', 'password': '' } )
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)

View File

@ -106,3 +106,16 @@ class MockTest(unittest.TestCase):
self.fail("expected exception")
except jaydebeapi.InterfaceError as e:
self.assertEquals(str(e), "java.lang.RuntimeException: expected")
def test_cursor_with_statement(self):
self.conn.jconn.mockType("INTEGER")
with self.conn.cursor() as cursor:
cursor.execute("dummy stmt")
self.assertIsNotNone(cursor._connection)
self.assertIsNone(cursor._connection)
def test_connection_with_statement(self):
with jaydebeapi.connect('org.jaydebeapi.mockdriver.MockDriver',
'jdbc:jaydebeapi://dummyurl') as conn:
self.assertEqual(conn._closed, False)
self.assertEqual(conn._closed, True)

View File

@ -14,7 +14,7 @@ whitelist_externals = mvn
setenv =
CLASSPATH = {envdir}/javalib/*
driver-mock: TESTNAME=test_mock
driver-hsqldb: TESTNAME=test_integration.HsqldbTest test_integration.WithStatementTest test_integration.PropertiesDriverArgsPassingTest
driver-hsqldb: TESTNAME=test_integration.HsqldbTest test_integration.PropertiesDriverArgsPassingTest
driver-sqliteXerial: TESTNAME=test_integration.SqliteXerialTest
driver-sqlitePy: TESTNAME=test_integration.SqlitePyTest
deps =