Thread: [pywin32-checkins] pywin32/win32/test test_odbc.py,1.1,1.2
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Mark H. <mha...@us...> - 2006-02-27 12:01:00
|
Update of /cvsroot/pywin32/pywin32/win32/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23473/test Modified Files: test_odbc.py Log Message: Fix [ 1258840 ] odbc - select 'bit' type returns str, not int and add a few extra tests while there... Index: test_odbc.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/test/test_odbc.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** test_odbc.py 22 Feb 2006 08:07:13 -0000 1.1 --- test_odbc.py 27 Feb 2006 12:00:57 -0000 1.2 *************** *** 1,3 **** --- 1,4 ---- # odbc test suite kindly contributed by Frank Millman. + import sys import os import unittest *************** *** 9,14 **** from win32com.client import constants ! class TestSequenceFunctions(unittest.TestCase): def setUp(self): self.db_filename = os.path.join(tempfile.gettempdir(), "test_odbc.mdb") if os.path.isfile(self.db_filename): --- 10,16 ---- from win32com.client import constants ! class TestStuff(unittest.TestCase): def setUp(self): + self.conn = self.cur = None self.db_filename = os.path.join(tempfile.gettempdir(), "test_odbc.mdb") if os.path.isfile(self.db_filename): *************** *** 38,53 **** # And we expect a 'users' table for these tests. self.cur = self.conn.cursor() ! self.assertEqual(self.cur.execute("create table users " ! "(userid varchar(5), username varchar(25))"),-1) def tearDown(self): ! self.cur.close() ! self.cur = None ! self.conn.close() ! self.conn = None os.unlink(self.db_filename) def test_insert_select(self, userid='Frank', username='Frank Millman'): ! self.assertEqual(self.cur.execute("insert into users \ values (?,?)", [userid, username]),1) self.assertEqual(self.cur.execute("select * from users \ --- 40,61 ---- # And we expect a 'users' table for these tests. self.cur = self.conn.cursor() ! self.assertEqual(self.cur.execute( ! """create table users ( ! userid varchar(5), username varchar(25), ! bitfield bit, intfield integer, ! floatfield float ! )"""),-1) def tearDown(self): ! if self.cur is not None: ! self.cur.close() ! self.cur = None ! if self.conn is not None: ! self.conn.close() ! self.conn = None os.unlink(self.db_filename) def test_insert_select(self, userid='Frank', username='Frank Millman'): ! self.assertEqual(self.cur.execute("insert into users (userid, username) \ values (?,?)", [userid, username]),1) self.assertEqual(self.cur.execute("select * from users \ *************** *** 61,65 **** def test_insert_select_unicode(self, userid=u'Frank', username=u"Frank Millman"): ! self.assertEqual(self.cur.execute("insert into users \ values (?,?)", [userid, username]),1) self.assertEqual(self.cur.execute("select * from users \ --- 69,73 ---- def test_insert_select_unicode(self, userid=u'Frank', username=u"Frank Millman"): ! self.assertEqual(self.cur.execute("insert into users (userid, username)\ values (?,?)", [userid, username]),1) self.assertEqual(self.cur.execute("select * from users \ *************** *** 73,76 **** --- 81,112 ---- self.test_insert_select_unicode(userid, username) + def _test_val(self, fieldName, value): + self.cur.execute("delete from users where userid='Frank'") + self.assertEqual(self.cur.execute( + "insert into users (userid, %s) values (?,?)" % fieldName, + ["Frank", value]), 1) + self.cur.execute("select %s from users where userid = ?" % fieldName, + ["Frank"]) + rows = self.cur.fetchmany() + self.failUnlessEqual(1, len(rows)) + row = rows[0] + self.failUnlessEqual(row[0], value) + + def testBit(self): + self._test_val('bitfield', 1) + self._test_val('bitfield', 0) + + def testInt(self): + self._test_val('intfield', 1) + self._test_val('intfield', 0) + self._test_val('intfield', sys.maxint) + + def testFloat(self): + self._test_val('floatfield', 1.01) + self._test_val('floatfield', 0) + + def testVarchar(self, ): + self._test_val('username', 'foo') + if __name__ == '__main__': unittest.main() |