From: Gerhard H?r. <gha...@us...> - 2002-09-08 15:24:26
|
Update of /cvsroot/pypgsql/pypgsql/test In directory usw-pr-cvs1:/tmp/cvs-serv19774/test Modified Files: PgSQLTestCases.py Log Message: 08SEP2002 gh Added tests for PgResultSet. Index: PgSQLTestCases.py =================================================================== RCS file: /cvsroot/pypgsql/pypgsql/test/PgSQLTestCases.py,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** PgSQLTestCases.py 12 Aug 2002 03:06:36 -0000 1.21 --- PgSQLTestCases.py 8 Sep 2002 15:24:24 -0000 1.22 *************** *** 33,36 **** --- 33,37 ---- # Date Ini Description | # --------- --- ------------------------------------------------------- | + # 08SEP2002 gh Added tests for PgResultSet. | # 11AUG2002 bga Added additional tests for the PgNumeric class. | # 03AUG2002 gh Added test for bug #589370 (wether it is possible to | *************** *** 828,838 **** self.fail(msg) def suite(): dbapi_tests = unittest.makeSuite(DBAPICompliance, "Check") moduleinterface_tests = unittest.makeSuite(PgSQLTestModuleInterface, "Check") pgsql_tests = unittest.makeSuite(PgSQLTestCases, "Check") test_suite = unittest.TestSuite((dbapi_tests, moduleinterface_tests, ! pgsql_tests)) return test_suite --- 829,966 ---- self.fail(msg) + class PgResultSetTests(unittest.TestCase): + def setUp(self): + self.cnx = PgSQL.connect(database='template1') + self.cur = self.cnx.cursor() + + def tearDown(self): + try: + self.cnx.close() + except AttributeError: + pass + except PgSQL.InterfaceError: + pass + + def getResult(self): + self.cur.execute("select 5 as id, 'Alice' as name, 29 as age") + return self.cur.fetchone() + + def CheckAttributeAccess(self): + res = self.getResult() + if not hasattr(res, "id"): + self.fail("Resultset doesn't have attribute 'id'") + if not hasattr(res, "ID"): + self.fail("Resultset doesn't have attribute 'ID'") + + def CheckAttributeValue(self): + res = self.getResult() + if res.id != 5: + self.fail("id should be 5, is %i" % res.id) + if res.ID != 5: + self.fail("ID should be 5, is %i" % res.ID) + + def CheckKeyAccess(self): + res = self.getResult() + if not "id" in res: + self.fail("Resultset doesn't have item 'id'") + if not "ID" in res: + self.fail("Resultset doesn't have item 'ID'") + + def CheckKeyValue(self): + res = self.getResult() + if res["id"] != 5: + self.fail("id should be 5, is %i" % res.id) + if res["ID"] != 5: + self.fail("ID should be 5, is %i" % res.ID) + + def CheckIndexValue(self): + res = self.getResult() + if res[0] != 5: + self.fail("item 0 should be 5, is %i" % res.id) + + def CheckChangeIndex(self): + res = self.getResult() + res[0] = 6 + if res[0] != 6: + self.fail("item 0 should be 6, is %i" % res.id) + + def CheckChangeKey(self): + res = self.getResult() + res["id"] = 6 + if res["id"] != 6: + self.fail("id should be 6, is %i" % res.id) + + res = self.getResult() + res["ID"] = 6 + if res["ID"] != 6: + self.fail("ID should be 6, is %i" % res.id) + + def CheckChangeAttr(self): + res = self.getResult() + res.id = 6 + if res.id != 6: + self.fail("id should be 6, is %i" % res.id) + + res = self.getResult() + res.ID = 6 + if res.ID != 6: + self.fail("ID should be 6, is %i" % res.id) + + def Check_haskey(self): + res = self.getResult() + if not res.has_key("id"): + self.fail("resultset should have key 'id'") + if not res.has_key("ID"): + self.fail("resultset should have key 'ID'") + if not res.has_key("Id"): + self.fail("resultset should have key 'Id'") + + def Check_len(self): + l = len(self.getResult()) + if l != 3: + self.fail("length of resultset should be 3, is %i", l) + + def Check_keys(self): + res = self.getResult() + if res.keys() != ["id", "name", "age"]: + self.fail("keys() should return %s, returns %s" % + (["id", "name", "age"], res.keys())) + + def Check_values(self): + val = self.getResult().values() + if val != [5, 'Alice', 29]: + self.fail("Wrong values(): %s" % val) + + def Check_items(self): + it = self.getResult().items() + if it != [("id", 5), ("name", 'Alice'), ("age", 29)]: + self.fail("Wrong items(): %s" % it) + + def Check_get(self): + res = self.getResult() + v = res.get("id") + if v != 5: + self.fail("Wrong result for get [1]") + + v = res.get("ID") + if v != 5: + self.fail("Wrong result for get [2]") + + v = res.get("asdf") + if v is not None: + self.fail("Wrong result for get [3]") + + v = res.get("asdf", 6) + if v != 6: + self.fail("Wrong result for get [4]") + def suite(): dbapi_tests = unittest.makeSuite(DBAPICompliance, "Check") moduleinterface_tests = unittest.makeSuite(PgSQLTestModuleInterface, "Check") pgsql_tests = unittest.makeSuite(PgSQLTestCases, "Check") + pgresultset_tests = unittest.makeSuite(PgResultSetTests, "Check") test_suite = unittest.TestSuite((dbapi_tests, moduleinterface_tests, ! pgsql_tests, pgresultset_tests)) return test_suite |