summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2016-05-19 09:31:49 -0400
committerSimon Charette <charette.s@gmail.com>2016-05-21 16:03:45 -0400
commit722344ee59fb89ea2cd5b906d61b35f76579de4e (patch)
tree8856276ffe15ca051cdcfb77b93d9f76fb7f843b /tests
parent9fed4ec418a4e391a3af8790137ab147efaf17c2 (diff)
Refs #24067 -- Fixed contenttypes rename tests failures on Oracle.
Broke the initial migration in two to work around #25530 and added 'django.contrib.auth' to the available_apps to make sure its tables are also flushed as Oracle doesn't implement cascade deletion in sql_flush(). Thanks Tim for the report.
Diffstat (limited to 'tests')
-rw-r--r--tests/contenttypes_tests/operations_migrations/0001_initial.py18
-rw-r--r--tests/contenttypes_tests/operations_migrations/0002_rename_foo.py32
-rw-r--r--tests/contenttypes_tests/tests.py6
3 files changed, 37 insertions, 19 deletions
diff --git a/tests/contenttypes_tests/operations_migrations/0001_initial.py b/tests/contenttypes_tests/operations_migrations/0001_initial.py
index 0df7a8ef9c..f08a6a8186 100644
--- a/tests/contenttypes_tests/operations_migrations/0001_initial.py
+++ b/tests/contenttypes_tests/operations_migrations/0001_initial.py
@@ -4,22 +4,6 @@ from __future__ import unicode_literals
from django.db import migrations, models
-def assert_foo_contenttype_not_cached(apps, schema_editor):
- ContentType = apps.get_model('contenttypes', 'ContentType')
- try:
- content_type = ContentType.objects.get_by_natural_key('contenttypes_tests', 'foo')
- except ContentType.DoesNotExist:
- pass
- else:
- if not ContentType.objects.filter(app_label='contenttypes_tests', model='foo').exists():
- raise AssertionError('The contenttypes_tests.Foo ContentType should not be cached.')
- elif content_type.model != 'foo':
- raise AssertionError(
- "The cached contenttypes_tests.Foo ContentType should have "
- "its model set to 'foo'."
- )
-
-
class Migration(migrations.Migration):
operations = [
@@ -29,6 +13,4 @@ class Migration(migrations.Migration):
('id', models.AutoField(primary_key=True)),
],
),
- migrations.RenameModel('Foo', 'RenamedFoo'),
- migrations.RunPython(assert_foo_contenttype_not_cached, migrations.RunPython.noop)
]
diff --git a/tests/contenttypes_tests/operations_migrations/0002_rename_foo.py b/tests/contenttypes_tests/operations_migrations/0002_rename_foo.py
new file mode 100644
index 0000000000..34c8cd8a80
--- /dev/null
+++ b/tests/contenttypes_tests/operations_migrations/0002_rename_foo.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+def assert_foo_contenttype_not_cached(apps, schema_editor):
+ ContentType = apps.get_model('contenttypes', 'ContentType')
+ try:
+ content_type = ContentType.objects.get_by_natural_key('contenttypes_tests', 'foo')
+ except ContentType.DoesNotExist:
+ pass
+ else:
+ if not ContentType.objects.filter(app_label='contenttypes_tests', model='foo').exists():
+ raise AssertionError('The contenttypes_tests.Foo ContentType should not be cached.')
+ elif content_type.model != 'foo':
+ raise AssertionError(
+ "The cached contenttypes_tests.Foo ContentType should have "
+ "its model set to 'foo'."
+ )
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('contenttypes_tests', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.RenameModel('Foo', 'RenamedFoo'),
+ migrations.RunPython(assert_foo_contenttype_not_cached, migrations.RunPython.noop)
+ ]
diff --git a/tests/contenttypes_tests/tests.py b/tests/contenttypes_tests/tests.py
index 7f65fb6f9b..123e169fbc 100644
--- a/tests/contenttypes_tests/tests.py
+++ b/tests/contenttypes_tests/tests.py
@@ -454,7 +454,11 @@ class ContentTypesMultidbTestCase(TestCase):
MIGRATION_MODULES=dict(settings.MIGRATION_MODULES, contenttypes_tests='contenttypes_tests.operations_migrations'),
)
class ContentTypeOperationsTests(TransactionTestCase):
- available_apps = ['django.contrib.contenttypes', 'contenttypes_tests']
+ available_apps = [
+ 'contenttypes_tests',
+ 'django.contrib.contenttypes',
+ 'django.contrib.auth',
+ ]
def setUp(self):
app_config = apps.get_app_config('contenttypes_tests')