|
1 | 1 | from __future__ import absolute_import, unicode_literals
|
| 2 | +import importlib |
2 | 3 | import os
|
3 | 4 |
|
4 |
| -from django.test import TestCase |
5 | 5 | from django.apps import apps
|
6 |
| -from django.db.migrations.state import ProjectState |
7 | 6 | from django.db.migrations.autodetector import MigrationAutodetector
|
8 | 7 | from django.db.migrations.loader import MigrationLoader
|
9 | 8 | from django.db.migrations.questioner import NonInteractiveMigrationQuestioner
|
| 9 | +from django.db.migrations.state import ProjectState |
| 10 | +from django.test import TestCase, override_settings |
| 11 | +from django.utils import six |
| 12 | + |
| 13 | +from django_celery_beat import migrations as beat_migrations, models |
| 14 | + |
| 15 | + |
| 16 | +class ModelMigrationTests(TestCase): |
| 17 | + def test_periodic_task_name_max_length_defaults_to_200_in_model(self): |
| 18 | + six.moves.reload_module(models) |
| 19 | + self.assertEqual( |
| 20 | + 200, models.PeriodicTask._meta.get_field('name').max_length) |
| 21 | + |
| 22 | + @override_settings(DJANGO_CELERY_BEAT_NAME_MAX_LENGTH=191) |
| 23 | + def test_periodic_task_name_max_length_changed_to_191_in_model(self): |
| 24 | + six.moves.reload_module(models) |
| 25 | + self.assertEqual( |
| 26 | + 191, models.PeriodicTask._meta.get_field('name').max_length) |
| 27 | + |
| 28 | + def test_periodic_task_name_max_length_defaults_to_200_in_migration(self): |
| 29 | + initial_migration_module = importlib.import_module( |
| 30 | + 'django_celery_beat.migrations.0001_initial') |
| 31 | + six.moves.reload_module(initial_migration_module) |
| 32 | + initial_migration = initial_migration_module.Migration |
| 33 | + periodic_task_creation = initial_migration.operations[2] |
| 34 | + fields = dict(periodic_task_creation.fields) |
| 35 | + |
| 36 | + self.assertEqual('PeriodicTask', periodic_task_creation.name) |
| 37 | + self.assertEqual(200, fields['name'].max_length) |
| 38 | + |
| 39 | + @override_settings(DJANGO_CELERY_BEAT_NAME_MAX_LENGTH=191) |
| 40 | + def test_periodic_task_name_max_length_changed_to_191_in_migration(self): |
| 41 | + initial_migration_module = importlib.import_module( |
| 42 | + 'django_celery_beat.migrations.0001_initial') |
| 43 | + six.moves.reload_module(initial_migration_module) |
| 44 | + initial_migration = initial_migration_module.Migration |
| 45 | + periodic_task_creation = initial_migration.operations[2] |
| 46 | + fields = dict(periodic_task_creation.fields) |
10 | 47 |
|
11 |
| -from django_celery_beat import migrations as beat_migrations |
| 48 | + self.assertEqual('PeriodicTask', periodic_task_creation.name) |
| 49 | + self.assertEqual(191, fields['name'].max_length) |
12 | 50 |
|
13 | 51 |
|
14 | 52 | class MigrationTests(TestCase):
|
|
0 commit comments