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

Fixed #22487: Don't flush out data from before normal TestCases

üst c33447a5
......@@ -129,6 +129,18 @@ class Command(BaseCommand):
else:
created_models = []
# The test runner requires us to flush after a syncdb but before migrations,
# so do that here.
if options.get("test_flush", False):
call_command(
'flush',
verbosity=max(self.verbosity - 1, 0),
interactive=False,
database=db,
reset_sequences=False,
inhibit_post_migrate=True,
)
# Migrate!
if self.verbosity >= 1:
self.stdout.write(self.style.MIGRATE_HEADING("Running migrations:"))
......
......@@ -380,6 +380,7 @@ class BaseDatabaseCreation(object):
interactive=False,
database=self.connection.alias,
test_database=True,
test_flush=True,
)
# We then serialize the current state of the database into a string
......@@ -389,14 +390,6 @@ class BaseDatabaseCreation(object):
if serialize:
self.connection._test_serialized_contents = self.serialize_db_to_string()
# Finally, we flush the database to clean
call_command(
'flush',
verbosity=max(verbosity - 1, 0),
interactive=False,
database=self.connection.alias
)
call_command('createcachetable', database=self.connection.alias)
# Ensure a connection for the side effect of initializing the test database.
......
from django.test import TransactionTestCase
from django.test import TransactionTestCase, TestCase
from .models import Book
class MigrationDataPersistenceTestCase(TransactionTestCase):
"""
Tests that data loaded in migrations is available if we set
serialized_rollback = True.
serialized_rollback = True on TransactionTestCase
"""
available_apps = ["migration_test_data_persistence"]
......@@ -18,16 +18,13 @@ class MigrationDataPersistenceTestCase(TransactionTestCase):
)
class MigrationDataNoPersistenceTestCase(TransactionTestCase):
class MigrationDataNormalPersistenceTestCase(TestCase):
"""
Tests the failure case
Tests that data loaded in migrations is available on TestCase
"""
available_apps = ["migration_test_data_persistence"]
serialized_rollback = False
def test_no_persistence(self):
def test_persistence(self):
self.assertEqual(
Book.objects.count(),
0,
1,
)
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