Fix some small errors in the tests

This commit is contained in:
Andrew Godwin 2013-08-23 12:07:43 +01:00
parent beefac8aae
commit ac45f9c9c5
4 changed files with 18 additions and 10 deletions

View File

@ -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()))

View File

@ -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):

View File

@ -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)

View File

@ -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)