summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authormlavin <markdlavin@gmail.com>2014-02-08 09:05:27 -0500
committermlavin <markdlavin@gmail.com>2014-02-08 09:05:27 -0500
commita3e0d7753d8a3cec7efcc69b9af8160bdf17947b (patch)
treee8ca29467ab5af743b9b22ea16b47aa66a665d3a /tests
parent0ac13eccebb3d879f79b31585b1e81f655067179 (diff)
downloaddjango-a3e0d7753d8a3cec7efcc69b9af8160bdf17947b.tar.gz
Adding tests for check_migrations.
Diffstat (limited to 'tests')
-rw-r--r--tests/migrations/test_checks.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/migrations/test_checks.py b/tests/migrations/test_checks.py
new file mode 100644
index 0000000000..9ba5bb8e25
--- /dev/null
+++ b/tests/migrations/test_checks.py
@@ -0,0 +1,43 @@
+# encoding: utf8
+from django.core import checks
+from django.core.checks.migrations import check_migrations
+from django.test import TestCase, override_settings
+
+from .test_base import MigrationTestBase
+
+
+class CheckMigrationTests(MigrationTestBase):
+ """
+ Test checks for unapplied migrations.
+ """
+
+ @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations"})
+ def test_unapplied(self):
+ """
+ check_migrations should return a warning when there are unapplied migrations.
+ """
+ expected = [
+ checks.Warning(
+ "You have unapplied migrations; "
+ "your app may not work properly until they are applied.",
+ hint="Run 'python manage.py migrate' to apply them.",
+ )
+ ]
+ errors = check_migrations()
+ self.assertEqual(errors, expected)
+
+ @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations"}, DATABASES={})
+ def test_no_databases(self):
+ """
+ Migration checks should not consider unapplied migrations if there is
+ no database configured.
+ """
+ errors = check_migrations()
+ self.assertEqual(errors, [])
+
+ def test_no_unapplied(self):
+ """
+ No warning should be issued if all migrations have been applied.
+ """
+ errors = check_migrations()
+ self.assertEqual(errors, [])