Loading tests/migrations/test_base.py +4 −2 Original line number Diff line number Diff line 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())) Loading tests/migrations/test_executor.py +5 −0 Original line number Diff line number Diff line Loading @@ -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): Loading tests/migrations/test_operations.py +7 −6 Original line number Diff line number Diff line Loading @@ -127,6 +127,7 @@ class OperationTests(MigrationTestBase): self.assertTableExists("test_adflmm_pony_stables") self.assertColumnNotExists("test_adflmm_pony", "stables") # Make sure the M2M field actually works with atomic(): app_cache = new_state.render() Pony = app_cache.get_model("test_adflmm", "Pony") p = Pony.objects.create(pink=False, weight=4.55) Loading tests/schema/tests.py +2 −2 Original line number Diff line number Diff line Loading @@ -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): """ Loading Loading @@ -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) Loading Loading
tests/migrations/test_base.py +4 −2 Original line number Diff line number Diff line 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())) Loading
tests/migrations/test_executor.py +5 −0 Original line number Diff line number Diff line Loading @@ -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): Loading
tests/migrations/test_operations.py +7 −6 Original line number Diff line number Diff line Loading @@ -127,6 +127,7 @@ class OperationTests(MigrationTestBase): self.assertTableExists("test_adflmm_pony_stables") self.assertColumnNotExists("test_adflmm_pony", "stables") # Make sure the M2M field actually works with atomic(): app_cache = new_state.render() Pony = app_cache.get_model("test_adflmm", "Pony") p = Pony.objects.create(pink=False, weight=4.55) Loading
tests/schema/tests.py +2 −2 Original line number Diff line number Diff line Loading @@ -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): """ Loading Loading @@ -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) Loading