diff options
author | Adrien Di Mascio <adim@logilab.fr> | 2006-05-17 08:55:12 +0200 |
---|---|---|
committer | Adrien Di Mascio <adim@logilab.fr> | 2006-05-17 08:55:12 +0200 |
commit | 2e86db341b90ec482c3415c377867613a925b7ab (patch) | |
tree | 91982970dc62fe3b9fa5077dabcfc71b809ea812 | |
parent | 767d41c3ba6b55be2c635ba7c2627883b4e40884 (diff) | |
download | logilab-common-2e86db341b90ec482c3415c377867613a925b7ab.tar.gz |
fixed port parameter handling for pgdb and PgSQL
-rw-r--r-- | db.py | 13 | ||||
-rw-r--r-- | test/unittest_db.py | 13 | ||||
-rw-r--r-- | testlib.py | 4 |
3 files changed, 22 insertions, 8 deletions
@@ -176,6 +176,15 @@ class _PgdbAdapter(DBAPIAdapter): 'int8', 'float4', 'float8', 'numeric', 'bool', 'money') + def connect(self, host='', database='', user='', password='', port=''): + """Wraps the native module connect method""" + if port: + warn("pgdb doesn't support 'port' parameter in connect()", UserWarning) + kwargs = {'host' : host, 'database' : database, + 'user' : user, 'password' : password} + cnx = self._native_module.connect(**kwargs) + return self._wrap_if_needed(cnx) + class _PsycopgAdapter(DBAPIAdapter): """Simple Psycopg Adapter to DBAPI (cnx_string differs from classical ones) @@ -204,7 +213,7 @@ class _Psycopg2Adapter(_PsycopgAdapter): class _PgsqlAdapter(DBAPIAdapter): """Simple pyPgSQL Adapter to DBAPI """ - def connect(self, host='', database='', user='', password=''): + def connect(self, host='', database='', user='', password='', port=''): """Handles psycopg connexion format""" kwargs = {'host' : host, 'port': port, 'database' : database, 'user' : user, 'password' : password or None} @@ -218,7 +227,7 @@ class _PgsqlAdapter(DBAPIAdapter): def __getattr__(self, attrname): # __import__('pyPgSQL.PgSQL', ...) imports the toplevel package - return getattr(self._native_module.PgSQL, attrname) + return getattr(self._native_module, attrname) # Sqlite ############################################################# diff --git a/test/unittest_db.py b/test/unittest_db.py index e7417dd..b7e04f7 100644 --- a/test/unittest_db.py +++ b/test/unittest_db.py @@ -33,13 +33,17 @@ class PreferedDriverTC(TestCase): self.assertEquals(exc.args[0], 'Unknown module baz for pg') def testGlobalVar(self): + # XXX: Is this test supposed to be useful ? Is it supposed to test + # set_prefered_driver ? old_drivers = PREFERED_DRIVERS['postgres'][:] expected = old_drivers[:] - expected.insert(0, expected.pop(1)) - set_prefered_driver('postgres','pgdb') + expected.insert(0, expected.pop(expected.index('pgdb'))) + set_prefered_driver('postgres', 'pgdb') + self.assertEquals(PREFERED_DRIVERS['postgres'], expected) + set_prefered_driver('postgres', 'psycopg') + # self.assertEquals(PREFERED_DRIVERS['postgres'], old_drivers) + expected.insert(0, expected.pop(expected.index('psycopg'))) self.assertEquals(PREFERED_DRIVERS['postgres'], expected) - set_prefered_driver('postgres','psycopg') - self.assertEquals(PREFERED_DRIVERS['postgres'], old_drivers) class getCnxTC(TestCase): @@ -163,6 +167,7 @@ class DBAPIAdaptersTC(TestCase): try: binary = module.BINARY except AttributeError, err: + raise self.fail(str(err)) def test_adv_func_helper(self): @@ -219,7 +219,7 @@ def run_test(test, verbose, runner=None): # m = __import__(test, globals(), locals(), sys.path) try: suite = m.suite - if hasattr(suite, 'func_code'): + if callable(suite): # hasattr(suite, 'func_code'): suite = suite() except AttributeError: loader = unittest.TestLoader() @@ -313,7 +313,7 @@ class SkipAwareTestResult(unittest._TextTestResult): if self.exitfirst: self.shouldStop = True unittest._TextTestResult.addError(self, test, err) - self._create_pdb(self.getDescription(test)) + self._create_pdb(self.getDescription(test)) def addFailure(self, test, err): if self.exitfirst: |