Kaydet (Commit) ac45f9c9 authored tarafından Andrew Godwin's avatar Andrew Godwin

Fix some small errors in the tests

üst beefac8a
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()))
......
...@@ -38,6 +38,11 @@ class ExecutorTests(TransactionTestCase): ...@@ -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):
......
...@@ -127,12 +127,13 @@ class OperationTests(MigrationTestBase): ...@@ -127,12 +127,13 @@ 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
app_cache = new_state.render() with atomic():
Pony = app_cache.get_model("test_adflmm", "Pony") app_cache = new_state.render()
p = Pony.objects.create(pink=False, weight=4.55) Pony = app_cache.get_model("test_adflmm", "Pony")
p.stables.create() p = Pony.objects.create(pink=False, weight=4.55)
self.assertEqual(p.stables.count(), 1) p.stables.create()
p.stables.all().delete() self.assertEqual(p.stables.count(), 1)
p.stables.all().delete()
# And test reversal # And test reversal
with connection.schema_editor() as editor: with connection.schema_editor() as editor:
operation.database_backwards("test_adflmm", editor, new_state, project_state) operation.database_backwards("test_adflmm", editor, new_state, project_state)
......
...@@ -195,7 +195,7 @@ class SchemaTests(TransactionTestCase): ...@@ -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): ...@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment