Author: cito
Date: Wed Nov 18 12:56:24 2015
New Revision: 542
Log:
Improve type checks in the tests for classic pg
Modified:
branches/4.x/module/TEST_PyGreSQL_classic_connection.py
branches/4.x/module/TEST_PyGreSQL_classic_dbwrapper.py
Modified: branches/4.x/module/TEST_PyGreSQL_classic_connection.py
==============================================================================
--- branches/4.x/module/TEST_PyGreSQL_classic_connection.py Wed Nov 18
12:11:37 2015 (r541)
+++ branches/4.x/module/TEST_PyGreSQL_classic_connection.py Wed Nov 18
12:56:24 2015 (r542)
@@ -106,30 +106,34 @@
def testAttributePort(self):
def_port = 5432
+ self.assertIsInstance(self.connection.port, int)
self.assertEqual(self.connection.port, def_port)
def testAttributeProtocolVersion(self):
protocol_version = self.connection.protocol_version
- self.assertTrue(isinstance(protocol_version, int))
+ self.assertIsInstance(protocol_version, int)
self.assertTrue(2 <= protocol_version < 4)
def testAttributeServerVersion(self):
server_version = self.connection.server_version
- self.assertTrue(isinstance(server_version, int))
+ self.assertIsInstance(server_version, int)
self.assertTrue(70400 <= server_version < 100000)
def testAttributeStatus(self):
status_ok = 1
+ self.assertIsInstance(self.connection.status, int)
self.assertEqual(self.connection.status, status_ok)
def testAttributeTty(self):
def_tty = ''
+ self.assertIsInstance(self.connection.tty, str)
self.assertEqual(self.connection.tty, def_tty)
def testAttributeUser(self):
no_user = 'Deprecated facility'
user = self.connection.user
self.assertTrue(user)
+ self.assertIsInstance(user, str)
self.assertNotEqual(user, no_user)
def testMethodQuery(self):
@@ -191,14 +195,50 @@
q = "select 0"
result = [(0,)]
r = self.c.query(q).getresult()
+ self.assertIsInstance(r, list)
+ v = r[0]
+ self.assertIsInstance(v, tuple)
+ self.assertIsInstance(v[0], int)
self.assertEqual(r, result)
+ def testGetresultLong(self):
+ q = "select 1234567890123456790"
+ result = 1234567890123456790L
+ v = self.c.query(q).getresult()[0][0]
+ self.assertIsInstance(v, long)
+ self.assertEqual(v, result)
+
+ def testGetresultString(self):
+ result = 'Hello, world!'
+ q = "select '%s'" % result
+ v = self.c.query(q).getresult()[0][0]
+ self.assertIsInstance(v, str)
+ self.assertEqual(v, result)
+
def testDictresult(self):
q = "select 0 as alias0"
result = [{'alias0': 0}]
r = self.c.query(q).dictresult()
+ self.assertIsInstance(r, list)
+ v = r[0]
+ self.assertIsInstance(v, dict)
+ self.assertIsInstance(v['alias0'], int)
self.assertEqual(r, result)
+ def testDictresultLong(self):
+ q = "select 1234567890123456790 as longjohnsilver"
+ result = 1234567890123456790L
+ v = self.c.query(q).dictresult()[0]['longjohnsilver']
+ self.assertIsInstance(v, long)
+ self.assertEqual(v, result)
+
+ def testDictresultString(self):
+ result = 'Hello, world!'
+ q = "select '%s' as greeting" % result
+ v = self.c.query(q).dictresult()[0]['greeting']
+ self.assertIsInstance(v, str)
+ self.assertEqual(v, result)
+
def testNamedresult(self):
if namedtuple:
q = "select 0 as alias0"
@@ -306,21 +346,40 @@
def testFieldname(self):
q = "select 0 as z, 0 as a, 0 as x, 0 as y"
r = self.c.query(q).fieldname(2)
- result = "x"
- self.assertEqual(r, result)
+ self.assertEqual(r, 'x')
+ r = self.c.query(q).fieldname(3)
+ self.assertEqual(r, 'y')
def testFieldnum(self):
+ q = "select 1 as x"
+ self.assertRaises(ValueError, self.c.query(q).fieldnum, 'y')
+ q = "select 1 as x"
+ r = self.c.query(q).fieldnum('x')
+ self.assertIsInstance(r, int)
+ self.assertEqual(r, 0)
q = "select 0 as z, 0 as a, 0 as x, 0 as y"
- r = self.c.query(q).fieldnum("x")
- result = 2
- self.assertEqual(r, result)
+ r = self.c.query(q).fieldnum('x')
+ self.assertIsInstance(r, int)
+ self.assertEqual(r, 2)
+ r = self.c.query(q).fieldnum('y')
+ self.assertIsInstance(r, int)
+ self.assertEqual(r, 3)
def testNtuples(self):
+ q = "select 1 where false"
+ r = self.c.query(q).ntuples()
+ self.assertIsInstance(r, int)
+ self.assertEqual(r, 0)
q = ("select 1 as a, 2 as b, 3 as c, 4 as d"
" union select 5 as a, 6 as b, 7 as c, 8 as d")
r = self.c.query(q).ntuples()
- result = 2
- self.assertEqual(r, result)
+ self.assertIsInstance(r, int)
+ self.assertEqual(r, 2)
+ q = ("select 1 union select 2 union select 3"
+ " union select 4 union select 5 union select 6")
+ r = self.c.query(q).ntuples()
+ self.assertIsInstance(r, int)
+ self.assertEqual(r, 6)
def testQuery(self):
query = self.c.query
@@ -330,10 +389,10 @@
self.assertIsNone(r)
q = "insert into test_table values (1)"
r = query(q)
- self.assertTrue(isinstance(r, int)), r
+ self.assertIsInstance(r, int)
q = "insert into test_table select 2"
r = query(q)
- self.assertTrue(isinstance(r, int))
+ self.assertIsInstance(r, int)
oid = r
q = "select oid from test_table where n=2"
r = query(q).getresult()
@@ -341,18 +400,19 @@
r = r[0]
self.assertEqual(len(r), 1)
r = r[0]
+ self.assertIsInstance(r, int)
self.assertEqual(r, oid)
q = "insert into test_table select 3 union select 4 union select 5"
r = query(q)
- self.assertTrue(isinstance(r, str))
+ self.assertIsInstance(r, str)
self.assertEqual(r, '3')
q = "update test_table set n=4 where n<5"
r = query(q)
- self.assertTrue(isinstance(r, str))
+ self.assertIsInstance(r, str)
self.assertEqual(r, '4')
q = "delete from test_table"
r = query(q)
- self.assertTrue(isinstance(r, str))
+ self.assertIsInstance(r, str)
self.assertEqual(r, '5')
query("drop table test_table")
@@ -384,11 +444,11 @@
self.assertIsNone(self.c.getnotify())
self.c.query("notify test_notify")
r = self.c.getnotify()
- self.assertTrue(isinstance(r, tuple))
+ self.assertIsInstance(r, tuple)
self.assertEqual(len(r), 3)
- self.assertTrue(isinstance(r[0], str))
- self.assertTrue(isinstance(r[1], int))
- self.assertTrue(isinstance(r[2], str))
+ self.assertIsInstance(r[0], str)
+ self.assertIsInstance(r[1], int)
+ self.assertIsInstance(r[2], str)
self.assertEqual(r[0], 'test_notify')
self.assertEqual(r[2], '')
self.assertIsNone(self.c.getnotify())
@@ -400,9 +460,9 @@
r = self.c.getnotify()
self.assertTrue(isinstance(r, tuple))
self.assertEqual(len(r), 3)
- self.assertTrue(isinstance(r[0], str))
- self.assertTrue(isinstance(r[1], int))
- self.assertTrue(isinstance(r[2], str))
+ self.assertIsInstance(r[0], str)
+ self.assertIsInstance(r[1], int)
+ self.assertIsInstance(r[2], str)
self.assertEqual(r[0], 'test_notify')
self.assertEqual(r[2], 'test_payload')
self.assertIsNone(self.c.getnotify())
Modified: branches/4.x/module/TEST_PyGreSQL_classic_dbwrapper.py
==============================================================================
--- branches/4.x/module/TEST_PyGreSQL_classic_dbwrapper.py Wed Nov 18
12:11:37 2015 (r541)
+++ branches/4.x/module/TEST_PyGreSQL_classic_dbwrapper.py Wed Nov 18
12:56:24 2015 (r542)
@@ -147,30 +147,33 @@
def testAttributePort(self):
def_port = 5432
port = self.db.port
+ self.assertIsInstance(port, int)
self.assertEqual(port, def_port)
self.assertEqual(port, self.db.db.port)
def testAttributeProtocolVersion(self):
protocol_version = self.db.protocol_version
- self.assertTrue(isinstance(protocol_version, int))
+ self.assertIsInstance(protocol_version, int)
self.assertTrue(2 <= protocol_version < 4)
self.assertEqual(protocol_version, self.db.db.protocol_version)
def testAttributeServerVersion(self):
server_version = self.db.server_version
- self.assertTrue(isinstance(server_version, int))
+ self.assertIsInstance(server_version, int)
self.assertTrue(70400 <= server_version < 100000)
self.assertEqual(server_version, self.db.db.server_version)
def testAttributeStatus(self):
status_ok = 1
status = self.db.status
+ self.assertIsInstance(status, int)
self.assertEqual(status, status_ok)
self.assertEqual(status, self.db.db.status)
def testAttributeTty(self):
def_tty = ''
tty = self.db.tty
+ self.assertIsInstance(tty, str)
self.assertEqual(tty, def_tty)
self.assertEqual(tty, self.db.db.tty)
@@ -178,6 +181,7 @@
no_user = 'Deprecated facility'
user = self.db.user
self.assertTrue(user)
+ self.assertIsInstance(user, str)
self.assertNotEqual(user, no_user)
self.assertEqual(user, self.db.db.user)
_______________________________________________
PyGreSQL mailing list
[email protected]
https://mail.vex.net/mailman/listinfo.cgi/pygresql