diff options
author | Tim Graham <timograham@gmail.com> | 2014-12-09 08:43:40 -0500 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2014-12-16 18:34:25 -0500 |
commit | d2ff8a7241b621b8013c7ec1631e95ae4445f76d (patch) | |
tree | cbaeceab48246628da383be7b48f0a358dca3324 /tests/migrate_signals | |
parent | f91d7366e066dc5e1edd90c6bde438fae9fe67fb (diff) | |
download | django-d2ff8a7241b621b8013c7ec1631e95ae4445f76d.tar.gz |
Fixed #23975 -- Restored pre_migrate signal if all apps have migrations.
Thanks kmmbvnr for the report.
Diffstat (limited to 'tests/migrate_signals')
-rw-r--r-- | tests/migrate_signals/custom_migrations/__init__.py | 0 | ||||
-rw-r--r-- | tests/migrate_signals/tests.py | 21 |
2 files changed, 20 insertions, 1 deletions
diff --git a/tests/migrate_signals/custom_migrations/__init__.py b/tests/migrate_signals/custom_migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/migrate_signals/custom_migrations/__init__.py diff --git a/tests/migrate_signals/tests.py b/tests/migrate_signals/tests.py index 883744b905..cacf39888c 100644 --- a/tests/migrate_signals/tests.py +++ b/tests/migrate_signals/tests.py @@ -1,7 +1,7 @@ from django.apps import apps from django.core import management from django.db.models import signals -from django.test import TestCase +from django.test import override_settings, TestCase from django.utils import six @@ -75,3 +75,22 @@ class MigrateSignalTests(TestCase): self.assertEqual(args['verbosity'], MIGRATE_VERBOSITY) self.assertEqual(args['interactive'], MIGRATE_INTERACTIVE) self.assertEqual(args['using'], 'default') + + @override_settings(MIGRATION_MODULES={'migrate_signals': 'migrate_signals.custom_migrations'}) + def test_pre_migrate_migrations_only(self): + """ + If all apps have migrations, pre_migrate should be sent. + """ + r = PreMigrateReceiver() + signals.pre_migrate.connect(r, sender=APP_CONFIG) + stdout = six.StringIO() + management.call_command('migrate', database=MIGRATE_DATABASE, + verbosity=MIGRATE_VERBOSITY, interactive=MIGRATE_INTERACTIVE, + load_initial_data=False, stdout=stdout) + args = r.call_args + self.assertEqual(r.call_counter, 1) + self.assertEqual(set(args), set(PRE_MIGRATE_ARGS)) + self.assertEqual(args['app_config'], APP_CONFIG) + self.assertEqual(args['verbosity'], MIGRATE_VERBOSITY) + self.assertEqual(args['interactive'], MIGRATE_INTERACTIVE) + self.assertEqual(args['using'], 'default') |