From 41019e48bbf082c985e6ba3bad34d118b903bff1 Mon Sep 17 00:00:00 2001 From: David Wobrock Date: Sat, 2 Jul 2022 19:55:37 +0200 Subject: Refs #27236 -- Added generic mechanism to handle the deprecation of migration operations. --- .../migrations/0001_setup_extensions.py | 33 ++++++++++++++-------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'tests/postgres_tests') diff --git a/tests/postgres_tests/migrations/0001_setup_extensions.py b/tests/postgres_tests/migrations/0001_setup_extensions.py index 090abf9649..3edeff7b82 100644 --- a/tests/postgres_tests/migrations/0001_setup_extensions.py +++ b/tests/postgres_tests/migrations/0001_setup_extensions.py @@ -1,6 +1,17 @@ -from unittest import mock - from django.db import connection, migrations +from django.db.migrations.operations.base import Operation + + +class DummyOperation(Operation): + def state_forwards(self, app_label, state): + pass + + def database_forwards(self, app_label, schema_editor, from_state, to_state): + pass + + def database_backwards(self, app_label, schema_editor, from_state, to_state): + pass + try: from django.contrib.postgres.operations import ( @@ -15,14 +26,14 @@ try: UnaccentExtension, ) except ImportError: - BloomExtension = mock.Mock() - BtreeGinExtension = mock.Mock() - BtreeGistExtension = mock.Mock() - CITextExtension = mock.Mock() - CreateExtension = mock.Mock() - HStoreExtension = mock.Mock() - TrigramExtension = mock.Mock() - UnaccentExtension = mock.Mock() + BloomExtension = DummyOperation + BtreeGinExtension = DummyOperation + BtreeGistExtension = DummyOperation + CITextExtension = DummyOperation + CreateExtension = DummyOperation + HStoreExtension = DummyOperation + TrigramExtension = DummyOperation + UnaccentExtension = DummyOperation needs_crypto_extension = False else: needs_crypto_extension = ( @@ -41,7 +52,7 @@ class Migration(migrations.Migration): # dash in its name. CreateExtension("uuid-ossp"), # CryptoExtension is required for RandomUUID() on PostgreSQL < 13. - CryptoExtension() if needs_crypto_extension else mock.Mock(), + CryptoExtension() if needs_crypto_extension else DummyOperation(), HStoreExtension(), TrigramExtension(), UnaccentExtension(), -- cgit v1.3