Esempio n. 1
0
 def test_assemble_dsn_quoting(self):
     self.assertEqual(
         ["dbname='/trac'", "password='******'", "user='******'"],
         sorted(assemble_pg_dsn('/trac', 'user', 'pass').split(' ')))
     self.assertEqual(
         ["dbname='/trac'", r"password='******'ss'", "user='******'"],
         sorted(assemble_pg_dsn('/trac', 'user', "pa'ss").split(' ')))
     self.assertEqual(
         ["dbname='/trac'", r"password='******'", "user='******'"],
         sorted(assemble_pg_dsn('/trac', 'user', r'pa\ss').split(' ')))
     self.assertEqual(
         ["dbname='/trac'", r"password='******'ss'", "user='******'"],
         sorted(assemble_pg_dsn('/trac', 'user', r"pa\'ss").split(' ')))
Esempio n. 2
0
 def test_assemble_dsn_quoting(self):
     self.assertEqual(
         ["dbname='/trac'", "password='******'", "user='******'"],
         sorted(assemble_pg_dsn('/trac', 'user', 'pass').split(' ')))
     self.assertEqual(
         ["dbname='/trac'", r"password='******'ss'", "user='******'"],
         sorted(assemble_pg_dsn('/trac', 'user', "pa'ss").split(' ')))
     self.assertEqual(
         ["dbname='/trac'", r"password='******'", "user='******'"],
         sorted(assemble_pg_dsn('/trac', 'user', r'pa\ss').split(' ')))
     self.assertEqual(
         ["dbname='/trac'", r"password='******'ss'", "user='******'"],
         sorted(assemble_pg_dsn('/trac', 'user', r"pa\'ss").split(' ')))
Esempio n. 3
0
 def test_assemble_dsn(self):
     values = [
         {'path': 't', 'user': '******'},
         {'path': 't', 'password': '******'},
         {'path': 't', 'host': 't'},
         {'path': 't', 'port': 't'},
         {'path': 't', 'password': '******', 'user': '******'},
         {'path': 't', 'host': 't', 'user': '******'},
         {'path': 't', 'user': '******', 'port': 't'},
         {'path': 't', 'host': 't', 'password': '******'},
         {'path': 't', 'password': '******', 'port': 't'},
         {'path': 't', 'host': 't', 'port': 't'},
         {'path': 't', 'host': 't', 'password': '******', 'user': '******'},
         {'path': 't', 'password': '******', 'user': '******', 'port': 't'},
         {'path': 't', 'host': 't', 'user': '******', 'port': 't'},
         {'path': 't', 'host': 't', 'password': '******', 'port': 't'},
     ]
     for orig in values:
         dsn = assemble_pg_dsn(**orig)
         for k, v in orig.iteritems():
             orig[k] = "'%s'" % v
             continue
         orig['dbname'] = "'t'"
         del orig['path']
         new_values = {'dbname': "'t'"}
         for key_value in dsn.split(' '):
             k, v = key_value.split('=')
             new_values[k] = v
             continue
         self.assertEqual(new_values, orig)
         continue
Esempio n. 4
0
 def test_assemble_dsn(self):
     values = [
         {'path': 't', 'user': '******'},
         {'path': 't', 'password': '******'},
         {'path': 't', 'host': 't'},
         {'path': 't', 'port': 't'},
         {'path': 't', 'password': '******', 'user': '******'},
         {'path': 't', 'host': 't', 'user': '******'},
         {'path': 't', 'user': '******', 'port': 't'},
         {'path': 't', 'host': 't', 'password': '******'},
         {'path': 't', 'password': '******', 'port': 't'},
         {'path': 't', 'host': 't', 'port': 't'},
         {'path': 't', 'host': 't', 'password': '******', 'user': '******'},
         {'path': 't', 'password': '******', 'user': '******', 'port': 't'},
         {'path': 't', 'host': 't', 'user': '******', 'port': 't'},
         {'path': 't', 'host': 't', 'password': '******', 'port': 't'},
     ]
     for orig in values:
         dsn = assemble_pg_dsn(**orig)
         for k, v in orig.items():
             orig[k] = "'%s'" % v
             continue
         orig['dbname'] = "'t'"
         del orig['path']
         new_values = {'dbname': "'t'"}
         for key_value in dsn.split(' '):
             k, v = key_value.split('=')
             new_values[k] = v
             continue
         self.assertEqual(new_values, orig)
         continue
Esempio n. 5
0
    def PostgreSQLConnection__init__(self, path, log=None, user=None, password=None, host=None,
                port=None, params={}):
        if path.startswith('/'):
            path = path[1:]
        if 'host' in params:
            host = params['host']

        cnx = psycopg2.connect(assemble_pg_dsn(path, user, password, host, port))

        cnx.set_client_encoding('UNICODE')
        try:
            self.schema = None
            if 'schema' in params:
                self.schema = params['schema']
                cnx.cursor().execute('SET search_path TO %s', (self.schema,))
                cnx.commit()
        # except (DataError, ProgrammingError):
        except PGSchemaError:
            cnx.rollback()
        except DataError:
            cnx.rollback()
        ConnectionWrapper.__init__(self, cnx, log)