diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/fixtures/tests.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/fixtures/tests.py b/tests/fixtures/tests.py index f48a689f6f..86164e03bc 100644 --- a/tests/fixtures/tests.py +++ b/tests/fixtures/tests.py @@ -13,7 +13,7 @@ from django.core.files.temp import NamedTemporaryFile from django.core.serializers.base import ProgressBar from django.db import IntegrityError, connection from django.test import ( - TestCase, TransactionTestCase, ignore_warnings, skipUnlessDBFeature, + TestCase, TransactionTestCase, ignore_warnings, mock, skipUnlessDBFeature, ) from django.utils import six from django.utils.encoding import force_text @@ -643,6 +643,18 @@ class NonExistentFixtureTests(TestCase): self.assertEqual(force_text(w[0].message), "No fixture named 'this_fixture_doesnt_exist' found.") + @mock.patch('django.db.connection.enable_constraint_checking') + @mock.patch('django.db.connection.disable_constraint_checking') + def test_nonexistent_fixture_no_constraint_checking(self, + disable_constraint_checking, enable_constraint_checking): + """ + If no fixtures match the loaddata command, constraints checks on the + database shouldn't be disabled. This is performance critical on MSSQL. + """ + management.call_command('loaddata', 'this_fixture_doesnt_exist', verbosity=0) + disable_constraint_checking.assert_not_called() + enable_constraint_checking.assert_not_called() + class FixtureTransactionTests(DumpDataAssertMixin, TransactionTestCase): |
