Fixed #16885 -- Confirmed features of mirror databases when setting up test databases.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17382 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
477f4d8061
commit
905e33f84a
|
@ -304,6 +304,7 @@ class DjangoTestSuiteRunner(object):
|
||||||
for alias, mirror_alias in mirrored_aliases.items():
|
for alias, mirror_alias in mirrored_aliases.items():
|
||||||
mirrors.append((alias, connections[alias].settings_dict['NAME']))
|
mirrors.append((alias, connections[alias].settings_dict['NAME']))
|
||||||
connections[alias].settings_dict['NAME'] = connections[mirror_alias].settings_dict['NAME']
|
connections[alias].settings_dict['NAME'] = connections[mirror_alias].settings_dict['NAME']
|
||||||
|
connections[alias].features = connections[mirror_alias].features
|
||||||
|
|
||||||
return old_names, mirrors
|
return old_names, mirrors
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import warnings
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.core.management import call_command
|
from django.core.management import call_command
|
||||||
from django.test import simple
|
from django.test import simple
|
||||||
from django.test.simple import get_tests
|
from django.test.simple import DjangoTestSuiteRunner, get_tests
|
||||||
from django.test.utils import get_warnings_state, restore_warnings_state
|
from django.test.utils import get_warnings_state, restore_warnings_state
|
||||||
from django.utils import unittest
|
from django.utils import unittest
|
||||||
from django.utils.importlib import import_module
|
from django.utils.importlib import import_module
|
||||||
|
@ -214,6 +214,29 @@ class CustomTestRunnerOptionsTests(AdminScriptTestCase):
|
||||||
self.assertOutput(out, 'bar:foo:31337')
|
self.assertOutput(out, 'bar:foo:31337')
|
||||||
|
|
||||||
|
|
||||||
|
class Ticket16885RegressionTests(unittest.TestCase):
|
||||||
|
def test_ticket_16885(self):
|
||||||
|
"""Features are also confirmed on mirrored databases."""
|
||||||
|
from django import db
|
||||||
|
old_db_connections = db.connections
|
||||||
|
try:
|
||||||
|
db.connections = db.ConnectionHandler({
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
},
|
||||||
|
'slave': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
'TEST_MIRROR': 'default',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
slave = db.connections['slave']
|
||||||
|
self.assertEqual(slave.features.supports_transactions, None)
|
||||||
|
DjangoTestSuiteRunner(verbosity=0).setup_databases()
|
||||||
|
self.assertNotEqual(slave.features.supports_transactions, None)
|
||||||
|
finally:
|
||||||
|
db.connections = old_db_connections
|
||||||
|
|
||||||
|
|
||||||
class Ticket17477RegressionTests(AdminScriptTestCase):
|
class Ticket17477RegressionTests(AdminScriptTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.write_settings('settings.py')
|
self.write_settings('settings.py')
|
||||||
|
|
Loading…
Reference in New Issue