diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_runner/test_discover_runner.py | 20 | ||||
| -rw-r--r-- | tests/test_runner/tests.py | 15 | ||||
| -rw-r--r-- | tests/test_runner_apps/databases/tests.py | 5 |
3 files changed, 30 insertions, 10 deletions
diff --git a/tests/test_runner/test_discover_runner.py b/tests/test_runner/test_discover_runner.py index ee95f9da72..1b5177ccf7 100644 --- a/tests/test_runner/test_discover_runner.py +++ b/tests/test_runner/test_discover_runner.py @@ -354,7 +354,7 @@ class DiscoverRunnerGetDatabasesTests(SimpleTestCase): def assertSkippedDatabases(self, test_labels, expected_databases): databases, output = self.get_databases(test_labels) self.assertEqual(databases, expected_databases) - skipped_databases = set(connections) - expected_databases + skipped_databases = set(connections) - set(expected_databases) if skipped_databases: self.assertIn(self.skip_msg + ', '.join(sorted(skipped_databases)), output) else: @@ -362,31 +362,37 @@ class DiscoverRunnerGetDatabasesTests(SimpleTestCase): def test_mixed(self): databases, output = self.get_databases(['test_runner_apps.databases.tests']) - self.assertEqual(databases, set(connections)) + self.assertEqual(databases, {'default': True, 'other': False}) self.assertNotIn(self.skip_msg, output) def test_all(self): databases, output = self.get_databases(['test_runner_apps.databases.tests.AllDatabasesTests']) - self.assertEqual(databases, set(connections)) + self.assertEqual(databases, {alias: False for alias in connections}) self.assertNotIn(self.skip_msg, output) def test_default_and_other(self): self.assertSkippedDatabases([ 'test_runner_apps.databases.tests.DefaultDatabaseTests', 'test_runner_apps.databases.tests.OtherDatabaseTests', - ], {'default', 'other'}) + ], {'default': False, 'other': False}) def test_default_only(self): self.assertSkippedDatabases([ 'test_runner_apps.databases.tests.DefaultDatabaseTests', - ], {'default'}) + ], {'default': False}) def test_other_only(self): self.assertSkippedDatabases([ 'test_runner_apps.databases.tests.OtherDatabaseTests' - ], {'other'}) + ], {'other': False}) def test_no_databases_required(self): self.assertSkippedDatabases([ 'test_runner_apps.databases.tests.NoDatabaseTests' - ], set()) + ], {}) + + def test_serialize(self): + databases, _ = self.get_databases([ + 'test_runner_apps.databases.tests.DefaultDatabaseSerializedTests' + ]) + self.assertEqual(databases, {'default': True}) diff --git a/tests/test_runner/tests.py b/tests/test_runner/tests.py index 87d432a2ab..5dc3126581 100644 --- a/tests/test_runner/tests.py +++ b/tests/test_runner/tests.py @@ -11,12 +11,15 @@ from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.core.management import call_command from django.core.management.base import SystemCheckError -from django.test import TransactionTestCase, skipUnlessDBFeature +from django.test import ( + SimpleTestCase, TransactionTestCase, skipUnlessDBFeature, +) from django.test.runner import DiscoverRunner from django.test.testcases import connections_support_transactions from django.test.utils import ( captured_stderr, dependency_ordered, get_unique_databases_and_mirrors, ) +from django.utils.deprecation import RemovedInDjango50Warning from .models import B, Person, Through @@ -315,7 +318,7 @@ class AliasedDefaultTestSetupTest(unittest.TestCase): runner_instance.teardown_databases(old_config) -class SetupDatabasesTests(unittest.TestCase): +class SetupDatabasesTests(SimpleTestCase): def setUp(self): self.runner_instance = DiscoverRunner(verbosity=0) @@ -398,9 +401,15 @@ class SetupDatabasesTests(unittest.TestCase): 'TEST': {'SERIALIZE': False}, }, }) + msg = ( + 'The SERIALIZE test database setting is deprecated as it can be ' + 'inferred from the TestCase/TransactionTestCase.databases that ' + 'enable the serialized_rollback feature.' + ) with mock.patch('django.db.backends.dummy.base.DatabaseWrapper.creation_class') as mocked_db_creation: with mock.patch('django.test.utils.connections', new=tested_connections): - self.runner_instance.setup_databases() + with self.assertWarnsMessage(RemovedInDjango50Warning, msg): + self.runner_instance.setup_databases() mocked_db_creation.return_value.create_test_db.assert_called_once_with( verbosity=0, autoclobber=False, serialize=False, keepdb=False ) diff --git a/tests/test_runner_apps/databases/tests.py b/tests/test_runner_apps/databases/tests.py index 4be260e689..dbb3b46e0b 100644 --- a/tests/test_runner_apps/databases/tests.py +++ b/tests/test_runner_apps/databases/tests.py @@ -10,6 +10,11 @@ class DefaultDatabaseTests(NoDatabaseTests): databases = {'default'} +class DefaultDatabaseSerializedTests(NoDatabaseTests): + databases = {'default'} + serialized_rollback = True + + class OtherDatabaseTests(NoDatabaseTests): databases = {'other'} |
