summaryrefslogtreecommitdiff
path: root/test/testbase.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/testbase.py')
-rw-r--r--test/testbase.py9
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)