From f7709b3ce4ce698b80de5f436386bdeb4e0b0419 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 16 Jun 2014 10:15:19 -0400 Subject: [1.7.x] Removed usaged of contrib.sessions as a placeholder in migration tests. Without this, we're unable to add actual migrations for the app. Backport of 808388c28c from master --- tests/migrations/test_executor.py | 31 +++++++++++++++------- tests/migrations/test_migrations_2/0001_initial.py | 24 ----------------- tests/migrations/test_migrations_2/__init__.py | 0 tests/migrations2/__init__.py | 0 tests/migrations2/models.py | 1 + .../migrations2/test_migrations_2/0001_initial.py | 24 +++++++++++++++++ tests/migrations2/test_migrations_2/__init__.py | 0 7 files changed, 46 insertions(+), 34 deletions(-) delete mode 100644 tests/migrations/test_migrations_2/0001_initial.py delete mode 100644 tests/migrations/test_migrations_2/__init__.py create mode 100644 tests/migrations2/__init__.py create mode 100644 tests/migrations2/models.py create mode 100644 tests/migrations2/test_migrations_2/0001_initial.py create mode 100644 tests/migrations2/test_migrations_2/__init__.py (limited to 'tests') diff --git a/tests/migrations/test_executor.py b/tests/migrations/test_executor.py index a1b139fa0f..b6909a15a1 100644 --- a/tests/migrations/test_executor.py +++ b/tests/migrations/test_executor.py @@ -1,10 +1,11 @@ from django.db import connection from django.db.migrations.executor import MigrationExecutor -from django.test import override_settings +from django.test import modify_settings, override_settings from .test_base import MigrationTestBase +@modify_settings(INSTALLED_APPS={'append': 'migrations2'}) class ExecutorTests(MigrationTestBase): """ Tests the migration executor (full end-to-end running). @@ -13,7 +14,7 @@ class ExecutorTests(MigrationTestBase): test failures first, as they may be propagating into here. """ - available_apps = ["migrations", "django.contrib.sessions"] + available_apps = ["migrations", "migrations2"] @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations"}) def test_run(self): @@ -94,7 +95,10 @@ class ExecutorTests(MigrationTestBase): self.assertTableNotExists("migrations_author") self.assertTableNotExists("migrations_book") - @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations", "sessions": "migrations.test_migrations_2"}) + @override_settings(MIGRATION_MODULES={ + "migrations": "migrations.test_migrations", + "migrations2": "migrations2.test_migrations_2", + }) def test_empty_plan(self): """ Tests that re-planning a full migration of a fully-migrated set doesn't @@ -106,27 +110,34 @@ class ExecutorTests(MigrationTestBase): were being unmigrated. """ # Make the initial plan, check it - # We use 'sessions' here as the second app as it's always present - # in INSTALLED_APPS, so we can happily assign it test migrations. executor = MigrationExecutor(connection) - plan = executor.migration_plan([("migrations", "0002_second"), ("sessions", "0001_initial")]) + plan = executor.migration_plan([ + ("migrations", "0002_second"), + ("migrations2", "0001_initial"), + ]) self.assertEqual( plan, [ (executor.loader.graph.nodes["migrations", "0001_initial"], False), (executor.loader.graph.nodes["migrations", "0002_second"], False), - (executor.loader.graph.nodes["sessions", "0001_initial"], False), + (executor.loader.graph.nodes["migrations2", "0001_initial"], False), ], ) # Fake-apply all migrations - executor.migrate([("migrations", "0002_second"), ("sessions", "0001_initial")], fake=True) + executor.migrate([ + ("migrations", "0002_second"), + ("migrations2", "0001_initial") + ], fake=True) # Rebuild the graph to reflect the new DB state executor.loader.build_graph() # Now plan a second time and make sure it's empty - plan = executor.migration_plan([("migrations", "0002_second"), ("sessions", "0001_initial")]) + plan = executor.migration_plan([ + ("migrations", "0002_second"), + ("migrations2", "0001_initial"), + ]) self.assertEqual(plan, []) # Erase all the fake records - executor.recorder.record_unapplied("sessions", "0001_initial") + executor.recorder.record_unapplied("migrations2", "0001_initial") executor.recorder.record_unapplied("migrations", "0002_second") executor.recorder.record_unapplied("migrations", "0001_initial") diff --git a/tests/migrations/test_migrations_2/0001_initial.py b/tests/migrations/test_migrations_2/0001_initial.py deleted file mode 100644 index 02cbd97fcc..0000000000 --- a/tests/migrations/test_migrations_2/0001_initial.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("migrations", "0002_second")] - - operations = [ - - migrations.CreateModel( - "OtherAuthor", - [ - ("id", models.AutoField(primary_key=True)), - ("name", models.CharField(max_length=255)), - ("slug", models.SlugField(null=True)), - ("age", models.IntegerField(default=0)), - ("silly_field", models.BooleanField(default=False)), - ], - ), - - ] diff --git a/tests/migrations/test_migrations_2/__init__.py b/tests/migrations/test_migrations_2/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/migrations2/__init__.py b/tests/migrations2/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/migrations2/models.py b/tests/migrations2/models.py new file mode 100644 index 0000000000..3ea7a1df09 --- /dev/null +++ b/tests/migrations2/models.py @@ -0,0 +1 @@ +# Required for migration detection (#22645) diff --git a/tests/migrations2/test_migrations_2/0001_initial.py b/tests/migrations2/test_migrations_2/0001_initial.py new file mode 100644 index 0000000000..02cbd97fcc --- /dev/null +++ b/tests/migrations2/test_migrations_2/0001_initial.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [("migrations", "0002_second")] + + operations = [ + + migrations.CreateModel( + "OtherAuthor", + [ + ("id", models.AutoField(primary_key=True)), + ("name", models.CharField(max_length=255)), + ("slug", models.SlugField(null=True)), + ("age", models.IntegerField(default=0)), + ("silly_field", models.BooleanField(default=False)), + ], + ), + + ] diff --git a/tests/migrations2/test_migrations_2/__init__.py b/tests/migrations2/test_migrations_2/__init__.py new file mode 100644 index 0000000000..e69de29bb2 -- cgit v1.3