From 60649ac4e6c11c3d7d0f340085db0d2ada080752 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Sat, 3 Dec 2022 14:01:57 +0100 Subject: [PATCH] Remove `post_migrate` signal handler and multi db test. --- admin_interface/apps.py | 4 ---- admin_interface/models.py | 23 ++++++----------------- tests/test_models.py | 36 ++++++++++++++++++------------------ 3 files changed, 24 insertions(+), 39 deletions(-) diff --git a/admin_interface/apps.py b/admin_interface/apps.py index 7560d47..15e065b 100644 --- a/admin_interface/apps.py +++ b/admin_interface/apps.py @@ -1,5 +1,4 @@ from django.apps import AppConfig -from django.db.models.signals import post_migrate from django.utils.translation import gettext_lazy as _ @@ -10,9 +9,6 @@ class AdminInterfaceConfig(AppConfig): default_auto_field = "django.db.models.AutoField" def ready(self): - from admin_interface import settings - from admin_interface.models import Theme settings.check_installed_apps() - post_migrate.connect(Theme.post_migrate_handler, sender=self) diff --git a/admin_interface/models.py b/admin_interface/models.py index c3c1349..f26e518 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -9,41 +9,30 @@ from .cache import del_cached_active_theme class Theme(models.Model): - @staticmethod - def post_migrate_handler(**kwargs): - del_cached_active_theme() - db = kwargs["using"] - Theme.get_active_theme(database=db) - @staticmethod def post_delete_handler(**kwargs): del_cached_active_theme() - db = kwargs["using"] - Theme.get_active_theme(database=db) + Theme.get_active_theme() @staticmethod def post_save_handler(instance, **kwargs): del_cached_active_theme() - db = kwargs["using"] if instance.active: - Theme.objects.using(db).exclude(pk=instance.pk).update(active=False) - Theme.get_active_theme(database=db) + Theme.objects.exclude(pk=instance.pk).update(active=False) + Theme.get_active_theme() @staticmethod def pre_save_handler(instance, **kwargs): if instance.pk is None: - db = kwargs["using"] try: - obj = Theme.objects.using(db).get(name=instance.name) + obj = Theme.objects.get(name=instance.name) instance.pk = obj.pk except Theme.DoesNotExist: pass @staticmethod - def get_active_theme(database=None): - objs_manager = ( - Theme.objects if database is None else Theme.objects.using(database) - ) + def get_active_theme(): + objs_manager = Theme.objects objs_active_qs = objs_manager.filter(active=True) objs_active_ls = list(objs_active_qs) objs_active_count = len(objs_active_ls) diff --git a/tests/test_models.py b/tests/test_models.py index 1adadc5..60d5560 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -92,26 +92,26 @@ class AdminInterfaceModelsTestCase(TestCase): self.assertEqual("{0}".format(theme), "Django") -class AdminInterfaceModelsMultiDBTestCase(TestCase): - databases = ["default", "replica"] +# class AdminInterfaceModelsMultiDBTestCase(TestCase): +# databases = ["default", "replica"] - @classmethod - def setUpTestData(cls): - Theme.objects.create(name="Change Active", active=True) +# @classmethod +# def setUpTestData(cls): +# Theme.objects.create(name="Change Active", active=True) - def test_get_theme_from_default_db(self): - de_theme = Theme.get_active_theme() - assert de_theme.name == "Change Active" +# def test_get_theme_from_default_db(self): +# de_theme = Theme.get_active_theme() +# assert de_theme.name == "Change Active" - def test_get_theme_from_replica_db(self): - replica_theme = Theme.get_active_theme(database="replica") - assert replica_theme.name == "Django" +# def test_get_theme_from_replica_db(self): +# replica_theme = Theme.get_active_theme(database="replica") +# assert replica_theme.name == "Django" - def test_db_are_isolated(self): - default_theme = Theme.get_active_theme() - replica_theme = Theme.get_active_theme(database="replica") - assert default_theme.name != replica_theme.name +# def test_db_are_isolated(self): +# default_theme = Theme.get_active_theme() +# replica_theme = Theme.get_active_theme(database="replica") +# assert default_theme.name != replica_theme.name - @expectedFailure - def test_fail_for_wrong_db_defined_in_kwargs(self): - Theme.get_active_theme(database="other") +# @expectedFailure +# def test_fail_for_wrong_db_defined_in_kwargs(self): +# Theme.get_active_theme(database="other")