Fixed #22487: Don't flush out data from before normal TestCases
This commit is contained in:
parent
c33447a50c
commit
0fba4c0ed7
|
@ -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.
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
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,
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue