[1.6.x] Fixed a test isolation issue. Refs #17062.

This test could change settings.DATABASES['default']['TIME_ZONE'] and
didn't restore the previous value.

Backport of 1c24096f from master.
This commit is contained in:
Aymeric Augustin 2014-01-12 18:24:04 +01:00
parent 6728f159f0
commit b79bf9c7a9
1 changed files with 9 additions and 6 deletions

View File

@ -2,6 +2,7 @@
# Unit and doctests for specific database backends.
from __future__ import absolute_import, unicode_literals
import copy
import datetime
from decimal import Decimal
import threading
@ -315,16 +316,18 @@ class PostgresVersionTest(TestCase):
self.assertEqual(pg_version.get_version(conn), 80300)
class PostgresNewConnectionTest(TestCase):
"""
#17062: PostgreSQL shouldn't roll back SET TIME ZONE, even if the first
transaction is rolled back.
"""
class PostgresNewConnectionTests(TestCase):
@unittest.skipUnless(
connection.vendor == 'postgresql',
"This test applies only to PostgreSQL")
def test_connect_and_rollback(self):
new_connections = ConnectionHandler(settings.DATABASES)
"""
PostgreSQL shouldn't roll back SET TIME ZONE, even if the first
transaction is rolled back (#17062).
"""
databases = copy.deepcopy(settings.DATABASES)
new_connections = ConnectionHandler(databases)
new_connection = new_connections[DEFAULT_DB_ALIAS]
try:
# Ensure the database default time zone is different than