Skip to content

Commit d482429

Browse files
tukymilind-shakya-sp
authored andcommitted
test that PeriodicTask.name.max_length defaults to 200
1 parent b8095c9 commit d482429

File tree

2 files changed

+41
-4
lines changed

2 files changed

+41
-4
lines changed

t/proj/settings.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,5 +123,4 @@
123123
# https://docs.djangoproject.com/en/1.9/howto/static-files/
124124

125125
STATIC_URL = '/static/'
126-
DJANGO_CELERY_BEAT_NAME_MAX_LENGTH = 191
127126
DJANGO_CELERY_BEAT_TZ_AWARE = True

t/unit/test_models.py

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,52 @@
11
from __future__ import absolute_import, unicode_literals
2+
import importlib
23
import os
34

4-
from django.test import TestCase
55
from django.apps import apps
6-
from django.db.migrations.state import ProjectState
76
from django.db.migrations.autodetector import MigrationAutodetector
87
from django.db.migrations.loader import MigrationLoader
98
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)
1047

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)
1250

1351

1452
class MigrationTests(TestCase):

0 commit comments

Comments
 (0)