summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/fixtures/tests.py14
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):