From ab83d4d8fe76c2c6bc3b0a96aa2baed9c9f07f19 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Fri, 10 Feb 2017 08:19:32 -0500 Subject: [PATCH] Added multi_db=True to test cases that access the 'other' db connection. Fixed a failure in the context processors tests when running in reverse on MySQL due to an extra query after refs #27683. --- tests/check_framework/test_database.py | 2 ++ tests/contenttypes_tests/test_models.py | 10 +--------- tests/context_processors/tests.py | 1 + tests/gis_tests/layermap/tests.py | 1 + tests/migrations/test_base.py | 1 + tests/migrations/test_loader.py | 1 + tests/test_runner/tests.py | 1 + 7 files changed, 8 insertions(+), 9 deletions(-) diff --git a/tests/check_framework/test_database.py b/tests/check_framework/test_database.py index 80824ab8e08..2dff3aaca4f 100644 --- a/tests/check_framework/test_database.py +++ b/tests/check_framework/test_database.py @@ -8,6 +8,8 @@ from django.test import TestCase class DatabaseCheckTests(TestCase): + multi_db = True + @property def func(self): from django.core.checks.database import check_database_backends diff --git a/tests/contenttypes_tests/test_models.py b/tests/contenttypes_tests/test_models.py index a9361c262f3..34545e981d5 100644 --- a/tests/contenttypes_tests/test_models.py +++ b/tests/contenttypes_tests/test_models.py @@ -1,7 +1,6 @@ from django.contrib.contenttypes.models import ContentType, ContentTypeManager from django.contrib.contenttypes.views import shortcut from django.contrib.sites.shortcuts import get_current_site -from django.db import connections from django.http import Http404, HttpRequest from django.test import TestCase, override_settings @@ -259,14 +258,7 @@ class TestRouter: @override_settings(DATABASE_ROUTERS=[TestRouter()]) class ContentTypesMultidbTests(TestCase): - - def setUp(self): - # When a test starts executing, only the "default" database is - # connected. Connect to the "other" database here because otherwise it - # will be connected later when it's queried. Some database backends - # perform extra queries upon connecting (MySQL executes - # "SET SQL_AUTO_IS_NULL = 0"), which will affect assertNumQueries(). - connections['other'].ensure_connection() + multi_db = True def test_multidb(self): """ diff --git a/tests/context_processors/tests.py b/tests/context_processors/tests.py index 635a81f7f95..0baf806c1d9 100644 --- a/tests/context_processors/tests.py +++ b/tests/context_processors/tests.py @@ -64,6 +64,7 @@ class DebugContextProcessorTests(TestCase): """ Tests for the ``django.template.context_processors.debug`` processor. """ + multi_db = True def test_debug(self): url = '/debug/' diff --git a/tests/gis_tests/layermap/tests.py b/tests/gis_tests/layermap/tests.py index 82bc534fbfa..09ff06c8a37 100644 --- a/tests/gis_tests/layermap/tests.py +++ b/tests/gis_tests/layermap/tests.py @@ -334,6 +334,7 @@ class OtherRouter: @skipUnlessDBFeature("gis_enabled") @override_settings(DATABASE_ROUTERS=[OtherRouter()]) class LayerMapRouterTest(TestCase): + multi_db = True @unittest.skipUnless(len(settings.DATABASES) > 1, 'multiple databases required') def test_layermapping_default_db(self): diff --git a/tests/migrations/test_base.py b/tests/migrations/test_base.py index d7ed632e516..84a51177516 100644 --- a/tests/migrations/test_base.py +++ b/tests/migrations/test_base.py @@ -18,6 +18,7 @@ class MigrationTestBase(TransactionTestCase): """ available_apps = ["migrations"] + multi_db = True def tearDown(self): # Reset applied-migrations state. diff --git a/tests/migrations/test_loader.py b/tests/migrations/test_loader.py index 61b1643506d..620347ab900 100644 --- a/tests/migrations/test_loader.py +++ b/tests/migrations/test_loader.py @@ -11,6 +11,7 @@ class RecorderTests(TestCase): """ Tests recording migrations as applied or not. """ + multi_db = True def test_apply(self): """ diff --git a/tests/test_runner/tests.py b/tests/test_runner/tests.py index b6d37514899..708a7c2da73 100644 --- a/tests/test_runner/tests.py +++ b/tests/test_runner/tests.py @@ -202,6 +202,7 @@ class Ticket17477RegressionTests(AdminScriptTestCase): class Sqlite3InMemoryTestDbs(TestCase): + multi_db = True @unittest.skipUnless(all(db.connections[conn].vendor == 'sqlite' for conn in db.connections), "This is an sqlite-specific issue")