mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Refs #32446 -- Removed SERIALIZE test database setting per deprecation timeline.
This commit is contained in:
		| @@ -26,7 +26,6 @@ from django.db.models.options import Options | |||||||
| from django.template import Template | from django.template import Template | ||||||
| from django.test.signals import template_rendered | from django.test.signals import template_rendered | ||||||
| from django.urls import get_script_prefix, set_script_prefix | from django.urls import get_script_prefix, set_script_prefix | ||||||
| from django.utils.deprecation import RemovedInDjango50Warning |  | ||||||
| from django.utils.translation import deactivate | from django.utils.translation import deactivate | ||||||
|  |  | ||||||
| try: | try: | ||||||
| @@ -198,26 +197,9 @@ def setup_databases( | |||||||
|             if first_alias is None: |             if first_alias is None: | ||||||
|                 first_alias = alias |                 first_alias = alias | ||||||
|                 with time_keeper.timed("  Creating '%s'" % alias): |                 with time_keeper.timed("  Creating '%s'" % alias): | ||||||
|                     # RemovedInDjango50Warning: when the deprecation ends, |  | ||||||
|                     # replace with: |  | ||||||
|                     # serialize_alias = ( |  | ||||||
|                     #     serialized_aliases is None |  | ||||||
|                     #     or alias in serialized_aliases |  | ||||||
|                     # ) |  | ||||||
|                     try: |  | ||||||
|                         serialize_alias = connection.settings_dict["TEST"]["SERIALIZE"] |  | ||||||
|                     except KeyError: |  | ||||||
|                     serialize_alias = ( |                     serialize_alias = ( | ||||||
|                         serialized_aliases is None or alias in serialized_aliases |                         serialized_aliases is None or alias in serialized_aliases | ||||||
|                     ) |                     ) | ||||||
|                     else: |  | ||||||
|                         warnings.warn( |  | ||||||
|                             "The SERIALIZE test database setting is " |  | ||||||
|                             "deprecated as it can be inferred from the " |  | ||||||
|                             "TestCase/TransactionTestCase.databases that " |  | ||||||
|                             "enable the serialized_rollback feature.", |  | ||||||
|                             category=RemovedInDjango50Warning, |  | ||||||
|                         ) |  | ||||||
|                     connection.creation.create_test_db( |                     connection.creation.create_test_db( | ||||||
|                         verbosity=verbosity, |                         verbosity=verbosity, | ||||||
|                         autoclobber=not interactive, |                         autoclobber=not interactive, | ||||||
|   | |||||||
| @@ -849,23 +849,6 @@ test database will use the name ``'test_' + DATABASE_NAME``. | |||||||
|  |  | ||||||
| See :ref:`the-test-database`. | See :ref:`the-test-database`. | ||||||
|  |  | ||||||
| .. setting:: TEST_SERIALIZE |  | ||||||
|  |  | ||||||
| ``SERIALIZE`` |  | ||||||
| ^^^^^^^^^^^^^ |  | ||||||
|  |  | ||||||
| Boolean value to control whether or not the default test runner serializes the |  | ||||||
| database into an in-memory JSON string before running tests (used to restore |  | ||||||
| the database state between tests if you don't have transactions). You can set |  | ||||||
| this to ``False`` to speed up creation time if you don't have any test classes |  | ||||||
| with :ref:`serialized_rollback=True <test-case-serialized-rollback>`. |  | ||||||
|  |  | ||||||
| .. deprecated:: 4.0 |  | ||||||
|  |  | ||||||
|    This setting is deprecated as it can be inferred from the |  | ||||||
|    :attr:`~django.test.TestCase.databases` with the |  | ||||||
|    :ref:`serialized_rollback <test-case-serialized-rollback>` option enabled. |  | ||||||
|  |  | ||||||
| .. setting:: TEST_TEMPLATE | .. setting:: TEST_TEMPLATE | ||||||
|  |  | ||||||
| ``TEMPLATE`` | ``TEMPLATE`` | ||||||
|   | |||||||
| @@ -71,8 +71,8 @@ Bugfixes | |||||||
| * Made ``migrations.RunSQL`` no longer require percent sign escaping. This is | * Made ``migrations.RunSQL`` no longer require percent sign escaping. This is | ||||||
|   now consistent with ``cursor.execute()`` (:ticket:`23426`). |   now consistent with ``cursor.execute()`` (:ticket:`23426`). | ||||||
|  |  | ||||||
| * Made the :setting:`SERIALIZE <TEST_SERIALIZE>` entry in the | * Made the ``SERIALIZE`` entry in the :setting:`TEST <DATABASE-TEST>` | ||||||
|   :setting:`TEST <DATABASE-TEST>` dictionary usable (:ticket:`23421`). |   dictionary usable (:ticket:`23421`). | ||||||
|  |  | ||||||
| * Fixed bug in migrations that prevented foreign key constraints to unmanaged | * Fixed bug in migrations that prevented foreign key constraints to unmanaged | ||||||
|   models with a custom primary key (:ticket:`23415`). |   models with a custom primary key (:ticket:`23415`). | ||||||
|   | |||||||
| @@ -255,7 +255,7 @@ in Django 5.0. | |||||||
| See :ref:`deprecated-features-4.0` for details on these changes, including how | See :ref:`deprecated-features-4.0` for details on these changes, including how | ||||||
| to remove usage of these features. | to remove usage of these features. | ||||||
|  |  | ||||||
| * ... | * The ``SERIALIZE`` test setting is removed. | ||||||
|  |  | ||||||
| See :ref:`deprecated-features-4.1` for details on these changes, including how | See :ref:`deprecated-features-4.1` for details on these changes, including how | ||||||
| to remove usage of these features. | to remove usage of these features. | ||||||
|   | |||||||
| @@ -829,10 +829,6 @@ can be useful during testing. | |||||||
|     ``False`` to speed up creation time if you don't have any test classes |     ``False`` to speed up creation time if you don't have any test classes | ||||||
|     with :ref:`serialized_rollback=True <test-case-serialized-rollback>`. |     with :ref:`serialized_rollback=True <test-case-serialized-rollback>`. | ||||||
|  |  | ||||||
|     If you are using the default test runner, you can control this with the |  | ||||||
|     the :setting:`SERIALIZE <TEST_SERIALIZE>` entry in the :setting:`TEST |  | ||||||
|     <DATABASE-TEST>` dictionary. |  | ||||||
|  |  | ||||||
|     ``keepdb`` determines if the test run should use an existing |     ``keepdb`` determines if the test run should use an existing | ||||||
|     database, or create a new one. If ``True``, the existing |     database, or create a new one. If ``True``, the existing | ||||||
|     database will be used, or created if not present. If ``False``, |     database will be used, or created if not present. If ``False``, | ||||||
|   | |||||||
| @@ -819,7 +819,7 @@ class AliasedDefaultTestSetupTest(unittest.TestCase): | |||||||
|             runner_instance.teardown_databases(old_config) |             runner_instance.teardown_databases(old_config) | ||||||
|  |  | ||||||
|  |  | ||||||
| class SetupDatabasesTests(SimpleTestCase): | class SetupDatabasesTests(unittest.TestCase): | ||||||
|     def setUp(self): |     def setUp(self): | ||||||
|         self.runner_instance = DiscoverRunner(verbosity=0) |         self.runner_instance = DiscoverRunner(verbosity=0) | ||||||
|  |  | ||||||
| @@ -912,30 +912,6 @@ class SetupDatabasesTests(SimpleTestCase): | |||||||
|             verbosity=0, autoclobber=False, serialize=True, keepdb=False |             verbosity=0, autoclobber=False, serialize=True, keepdb=False | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
|     def test_serialized_off(self): |  | ||||||
|         tested_connections = db.ConnectionHandler( |  | ||||||
|             { |  | ||||||
|                 "default": { |  | ||||||
|                     "ENGINE": "django.db.backends.dummy", |  | ||||||
|                     "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): |  | ||||||
|                 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 |  | ||||||
|         ) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @skipUnlessDBFeature("supports_sequence_reset") | @skipUnlessDBFeature("supports_sequence_reset") | ||||||
| class AutoIncrementResetTest(TransactionTestCase): | class AutoIncrementResetTest(TransactionTestCase): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user