Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fix some small errors in the tests

  • Loading branch information...
commit ac45f9c9c5b5f64556c95d458368185298d21042 1 parent beefac8
@andrewgodwin andrewgodwin authored
View
6 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()))
View
5 tests/migrations/test_executor.py
@@ -38,6 +38,11 @@ def test_run(self):
# 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
13 tests/migrations/test_operations.py
@@ -127,12 +127,13 @@ def test_add_field_m2m(self):
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
4 tests/schema/tests.py
@@ -195,7 +195,7 @@ def test_alter(self):
# 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 @@ def test_m2m_create(self):
# 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)
Please sign in to comment.
Something went wrong with that request. Please try again.