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 from django.db import connection
class MigrationTestBase(TestCase): class MigrationTestBase(TransactionTestCase):
""" """
Contains an extended set of asserts for testing migrations and schema operations. Contains an extended set of asserts for testing migrations and schema operations.
""" """
available_apps = ["migrations"]
def assertTableExists(self, table): def assertTableExists(self, table):
self.assertIn(table, connection.introspection.get_table_list(connection.cursor())) self.assertIn(table, connection.introspection.get_table_list(connection.cursor()))

View File

@ -38,6 +38,11 @@ class ExecutorTests(TransactionTestCase):
# Are the tables there now? # Are the tables there now?
self.assertIn("migrations_author", connection.introspection.get_table_list(connection.cursor())) self.assertIn("migrations_author", connection.introspection.get_table_list(connection.cursor()))
self.assertIn("migrations_book", 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"}) @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations", "sessions": "migrations.test_migrations_2"})
def test_empty_plan(self): def test_empty_plan(self):

View File

@ -127,6 +127,7 @@ class OperationTests(MigrationTestBase):
self.assertTableExists("test_adflmm_pony_stables") self.assertTableExists("test_adflmm_pony_stables")
self.assertColumnNotExists("test_adflmm_pony", "stables") self.assertColumnNotExists("test_adflmm_pony", "stables")
# Make sure the M2M field actually works # Make sure the M2M field actually works
with atomic():
app_cache = new_state.render() app_cache = new_state.render()
Pony = app_cache.get_model("test_adflmm", "Pony") Pony = app_cache.get_model("test_adflmm", "Pony")
p = Pony.objects.create(pink=False, weight=4.55) p = Pony.objects.create(pink=False, weight=4.55)

View File

@ -195,7 +195,7 @@ class SchemaTests(TransactionTestCase):
# Ensure the field is right afterwards # Ensure the field is right afterwards
columns = self.column_classes(Author) columns = self.column_classes(Author)
self.assertEqual(columns['name'][0], "TextField") 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): def test_rename(self):
""" """
@ -230,7 +230,7 @@ class SchemaTests(TransactionTestCase):
# Create the tables # Create the tables
with connection.schema_editor() as editor: with connection.schema_editor() as editor:
editor.create_model(Author) editor.create_model(Author)
editor.create_model(Tag) editor.create_model(TagM2MTest)
editor.create_model(BookWithM2M) editor.create_model(BookWithM2M)
# Ensure there is now an m2m table there # Ensure there is now an m2m table there
columns = self.column_classes(BookWithM2M._meta.get_field_by_name("tags")[0].rel.through) columns = self.column_classes(BookWithM2M._meta.get_field_by_name("tags")[0].rel.through)