diff options
Diffstat (limited to 'tests/test_connection.py')
-rwxr-xr-x | tests/test_connection.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/test_connection.py b/tests/test_connection.py index 0a79144..a887313 100755 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -206,6 +206,7 @@ class IsolationLevelsTestCase(unittest.TestCase): levels = [ (None, psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT), + ('read uncommitted', psycopg2.extensions.ISOLATION_LEVEL_READ_UNCOMMITTED), ('read committed', psycopg2.extensions.ISOLATION_LEVEL_READ_COMMITTED), ('repeatable read', psycopg2.extensions.ISOLATION_LEVEL_REPEATABLE_READ), ('serializable', psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE), @@ -215,8 +216,10 @@ class IsolationLevelsTestCase(unittest.TestCase): # the only values available on prehistoric PG versions if conn.server_version < 80000: - if level == psycopg2.extensions.ISOLATION_LEVEL_REPEATABLE_READ: - name, level = ('serializable', psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE) + if level in ( + psycopg2.extensions.ISOLATION_LEVEL_READ_UNCOMMITTED, + psycopg2.extensions.ISOLATION_LEVEL_REPEATABLE_READ): + name, level = levels[levels.index((name, level)) + 1] self.assertEqual(conn.isolation_level, level) @@ -768,11 +771,13 @@ class TransactionControlTests(unittest.TestCase): self.assertEqual(cur.fetchone()[0], 'read committed') self.conn.rollback() - # 'read uncommitted' is internally translated to 'read committed' self.conn.set_session( isolation_level=psycopg2.extensions.ISOLATION_LEVEL_READ_UNCOMMITTED) cur.execute("SHOW default_transaction_isolation;") - self.assertEqual(cur.fetchone()[0], 'read committed') + if self.conn.server_version > 80000: + self.assertEqual(cur.fetchone()[0], 'read uncommitted') + else: + self.assertEqual(cur.fetchone()[0], 'read committed') self.conn.rollback() def test_set_isolation_level_str(self): |