summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auth_tests/test_management.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/auth_tests/test_management.py b/tests/auth_tests/test_management.py
index 4f29740982..73cf66699b 100644
--- a/tests/auth_tests/test_management.py
+++ b/tests/auth_tests/test_management.py
@@ -838,3 +838,15 @@ class CreatePermissionsTests(TestCase):
state = migrations.state.ProjectState(real_apps=['contenttypes'])
with self.assertNumQueries(0):
create_permissions(self.app_config, verbosity=0, apps=state.apps)
+
+ def test_create_permissions_checks_contenttypes_created(self):
+ """
+ `post_migrate` handler ordering isn't guaranteed. Simulate a case
+ where create_permissions() is called before create_contenttypes().
+ """
+ # Warm the manager cache.
+ ContentType.objects.get_for_model(Group)
+ # Apply a deletion as if e.g. a database 'flush' had been executed.
+ ContentType.objects.filter(app_label='auth', model='group').delete()
+ # This fails with a foreign key constraint without the fix.
+ create_permissions(apps.get_app_config('auth'), interactive=False, verbosity=0)