diff options
Diffstat (limited to 'test/testbase.py')
-rw-r--r-- | test/testbase.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/test/testbase.py b/test/testbase.py index 8f7496c63..7221af1a4 100644 --- a/test/testbase.py +++ b/test/testbase.py @@ -1,6 +1,8 @@ import unittest import StringIO import sqlalchemy.engine as engine +import re +import sqlalchemy.databases.postgres as postgres echo = True @@ -56,11 +58,16 @@ class EngineAssert(object): def execute(self, statement, parameters, **kwargs): self.engine.echo = self.echo self.engine.logger = self.logger - if self.assert_list is not None: + + if self.assert_list is not None and not (isinstance(self.engine, postgres.PGSQLEngine) and re.match(r'oid', statement, re.S)): item = self.assert_list.pop() (query, params) = item if callable(params): params = params() + + if isinstance(self.engine, postgres.PGSQLEngine): + query = re.sub(r':([\w_]+)', r"%(\1)s", query) + self.unittest.assert_(statement == query and params == parameters, "Testing for query '%s' params %s, received '%s' with params %s" % (query, repr(params), statement, repr(parameters))) return self.realexec(statement, parameters, **kwargs) |