X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=psycopg2%2Ftests%2Fextras_dictcursor.py;fp=psycopg2%2Ftests%2Fextras_dictcursor.py;h=270d37f52e8c59683cb571af77d31013f674f719;hb=e5bdc26e1423689c0ab3204931335787737946ea;hp=0000000000000000000000000000000000000000;hpb=f8dd312990da7cc744e1c148bfd395c18492f3f1;p=plcapi.git diff --git a/psycopg2/tests/extras_dictcursor.py b/psycopg2/tests/extras_dictcursor.py new file mode 100644 index 0000000..270d37f --- /dev/null +++ b/psycopg2/tests/extras_dictcursor.py @@ -0,0 +1,47 @@ +# 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 psycopg2 +import psycopg2.extras +from unittest import TestCase, TestSuite, main + + +class ExtrasDictCursorTests(TestCase): + """Test if DictCursor extension class works.""" + + def setUp(self): + self.conn = psycopg2.connect("dbname=test") + curs = self.conn.cursor() + curs.execute("CREATE TABLE ExtrasDictCursorTests (foo text)") + + def testDictCursor(self): + curs = self.conn.cursor(cursor_factory=psycopg2.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()