diff options
author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2013-12-27 20:55:58 +0100 |
---|---|---|
committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2013-12-29 17:53:42 +0100 |
commit | 00110904ac67050c639f93cfd7b5e19218bcef5b (patch) | |
tree | 072bea43ffac6ebeee21a9bf8a276a0c562dd308 /tests/migrate_signals | |
parent | 5782c94f2382303dd28a35a9b9591ad480286220 (diff) | |
download | django-00110904ac67050c639f93cfd7b5e19218bcef5b.tar.gz |
Refactored the migration signals to use app configs.
De-aliased pre/post_syncdb to pre/post_migrate to increase
backwards-compatibility.
Diffstat (limited to 'tests/migrate_signals')
-rw-r--r-- | tests/migrate_signals/models.py | 4 | ||||
-rw-r--r-- | tests/migrate_signals/tests.py | 18 |
2 files changed, 10 insertions, 12 deletions
diff --git a/tests/migrate_signals/models.py b/tests/migrate_signals/models.py index 55a8657a3c..2cd71391fb 100644 --- a/tests/migrate_signals/models.py +++ b/tests/migrate_signals/models.py @@ -1,2 +1,2 @@ -# Remove this module when pre/post_migrate are refactored to use something -# other than a models module for their "sender" argument. +# This module has to exist, otherwise pre/post_migrate aren't sent for the +# migrate_signals application. diff --git a/tests/migrate_signals/tests.py b/tests/migrate_signals/tests.py index 9daa7ae376..7e1d5be103 100644 --- a/tests/migrate_signals/tests.py +++ b/tests/migrate_signals/tests.py @@ -1,12 +1,12 @@ +from django.apps import apps from django.db.models import signals from django.test import TestCase from django.core import management from django.utils import six -from . import models - -PRE_MIGRATE_ARGS = ['app', 'create_models', 'verbosity', 'interactive', 'db'] +APP_CONFIG = apps.get_app_config('migrate_signals') +PRE_MIGRATE_ARGS = ['app_config', 'verbosity', 'interactive', 'db'] MIGRATE_DATABASE = 'default' MIGRATE_VERBOSITY = 1 MIGRATE_INTERACTIVE = False @@ -39,7 +39,7 @@ class OneTimeReceiver(object): self.call_counter = self.call_counter + 1 self.call_args = kwargs # we need to test only one call of migrate - signals.pre_migrate.disconnect(pre_migrate_receiver, sender=models) + signals.pre_migrate.disconnect(pre_migrate_receiver, sender=APP_CONFIG) # We connect receiver here and not in unit test code because we need to @@ -51,21 +51,19 @@ class OneTimeReceiver(object): # 3. Test runner calls migrate for create default database. # 4. Test runner execute our unit test code. pre_migrate_receiver = OneTimeReceiver() -signals.pre_migrate.connect(pre_migrate_receiver, sender=models) +signals.pre_migrate.connect(pre_migrate_receiver, sender=APP_CONFIG) class MigrateSignalTests(TestCase): - available_apps = [ - 'migrate_signals', - ] + available_apps = ['migrate_signals'] def test_pre_migrate_call_time(self): self.assertEqual(pre_migrate_receiver.call_counter, 1) def test_pre_migrate_args(self): r = PreMigrateReceiver() - signals.pre_migrate.connect(r, sender=models) + signals.pre_migrate.connect(r, sender=APP_CONFIG) management.call_command('migrate', database=MIGRATE_DATABASE, verbosity=MIGRATE_VERBOSITY, interactive=MIGRATE_INTERACTIVE, load_initial_data=False, stdout=six.StringIO()) @@ -73,7 +71,7 @@ class MigrateSignalTests(TestCase): args = r.call_args self.assertEqual(r.call_counter, 1) self.assertEqual(set(args), set(PRE_MIGRATE_ARGS)) - self.assertEqual(args['app'], models) + self.assertEqual(args['app_config'], APP_CONFIG) self.assertEqual(args['verbosity'], MIGRATE_VERBOSITY) self.assertEqual(args['interactive'], MIGRATE_INTERACTIVE) self.assertEqual(args['db'], 'default') |