summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Godwin <andrew@aeracode.org>2013-08-23 12:07:43 +0100
committerAndrew Godwin <andrew@aeracode.org>2013-08-23 12:07:43 +0100
commitac45f9c9c5b5f64556c95d458368185298d21042 (patch)
tree00a1dbf3fc7b5d31836ccf013d7fddd23d54d720
parentbeefac8aaeed0bd8c66e8c7fcbfae1c0f8e01f85 (diff)
Fix some small errors in the tests
-rw-r--r--tests/migrations/test_base.py6
-rw-r--r--tests/migrations/test_executor.py5
-rw-r--r--tests/migrations/test_operations.py13
-rw-r--r--tests/schema/tests.py4
4 files changed, 18 insertions, 10 deletions
diff --git a/tests/migrations/test_base.py b/tests/migrations/test_base.py
index 01062667aa..7ab09b04a5 100644
--- a/tests/migrations/test_base.py
+++ b/tests/migrations/test_base.py
@@ -1,12 +1,14 @@
-from django.test import TestCase
+from django.test import TransactionTestCase
from django.db import connection
-class MigrationTestBase(TestCase):
+class MigrationTestBase(TransactionTestCase):
"""
Contains an extended set of asserts for testing migrations and schema operations.
"""
+ available_apps = ["migrations"]
+
def assertTableExists(self, table):
self.assertIn(table, connection.introspection.get_table_list(connection.cursor()))
diff --git a/tests/migrations/test_executor.py b/tests/migrations/test_executor.py
index 5167f428d1..dbdea900a5 100644
--- a/tests/migrations/test_executor.py
+++ b/tests/migrations/test_executor.py
@@ -38,6 +38,11 @@ class ExecutorTests(TransactionTestCase):
# Are the tables there now?
self.assertIn("migrations_author", connection.introspection.get_table_list(connection.cursor()))
self.assertIn("migrations_book", connection.introspection.get_table_list(connection.cursor()))
+ # Alright, let's undo what we did
+ executor.migrate([("migrations", None)])
+ # Are the tables gone?
+ self.assertNotIn("migrations_author", connection.introspection.get_table_list(connection.cursor()))
+ self.assertNotIn("migrations_book", connection.introspection.get_table_list(connection.cursor()))
@override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations", "sessions": "migrations.test_migrations_2"})
def test_empty_plan(self):
diff --git a/tests/migrations/test_operations.py b/tests/migrations/test_operations.py
index 2ff3f73b8a..1bc4a42d7e 100644
--- a/tests/migrations/test_operations.py
+++ b/tests/migrations/test_operations.py
@@ -127,12 +127,13 @@ class OperationTests(MigrationTestBase):
self.assertTableExists("test_adflmm_pony_stables")
self.assertColumnNotExists("test_adflmm_pony", "stables")
# Make sure the M2M field actually works
- app_cache = new_state.render()
- Pony = app_cache.get_model("test_adflmm", "Pony")
- p = Pony.objects.create(pink=False, weight=4.55)
- p.stables.create()
- self.assertEqual(p.stables.count(), 1)
- p.stables.all().delete()
+ with atomic():
+ app_cache = new_state.render()
+ Pony = app_cache.get_model("test_adflmm", "Pony")
+ p = Pony.objects.create(pink=False, weight=4.55)
+ p.stables.create()
+ self.assertEqual(p.stables.count(), 1)
+ p.stables.all().delete()
# And test reversal
with connection.schema_editor() as editor:
operation.database_backwards("test_adflmm", editor, new_state, project_state)
diff --git a/tests/schema/tests.py b/tests/schema/tests.py
index bf9fa6bbcc..c3764979d6 100644
--- a/tests/schema/tests.py
+++ b/tests/schema/tests.py
@@ -195,7 +195,7 @@ class SchemaTests(TransactionTestCase):
# Ensure the field is right afterwards
columns = self.column_classes(Author)
self.assertEqual(columns['name'][0], "TextField")
- self.assertEqual(columns['name'][1][6], bool(connection.features.interprets_empty_strings_as_nulls))
+ self.assertEqual(bool(columns['name'][1][6]), False)
def test_rename(self):
"""
@@ -230,7 +230,7 @@ class SchemaTests(TransactionTestCase):
# Create the tables
with connection.schema_editor() as editor:
editor.create_model(Author)
- editor.create_model(Tag)
+ editor.create_model(TagM2MTest)
editor.create_model(BookWithM2M)
# Ensure there is now an m2m table there
columns = self.column_classes(BookWithM2M._meta.get_field_by_name("tags")[0].rel.through)