# extras_dictcursor - test if DictCursor extension class works # # Copyright (C) 2004 Federico Di Gregorio # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. import psycopg import psycopg.extras from unittest import TestCase, TestSuite, main class ExtrasDictCursorTests(TestCase): """Test if DictCursor extension class works.""" def setUp(self): self.conn = psycopg.connect("dbname=test") curs = self.conn.cursor() curs.execute("CREATE TABLE ExtrasDictCursorTests (foo text)") def testDictCursor(self): curs = self.conn.cursor(cursor_factory=psycopg.extras.DictCursor) curs.execute("INSERT INTO ExtrasDictCursorTests VALUES ('bar')") curs.execute("SELECT * FROM ExtrasDictCursorTests") row = curs.fetchone() self.failUnless(row['foo'] == 'bar') self.failUnless(row[0] == 'bar') class ExtrasDictCursorSuite(TestSuite): """Build a suite of all tests.""" def __init__(self): """Build a list of tests.""" self.tests = [x for x in dir(ExtrasDictCursorTests) if x.startswith('test')] TestSuite.__init__(self, map(TestModule, self.tests)) if __name__ == "__main__": main()