diff options
| author | Jon Dufresne <jon.dufresne@gmail.com> | 2016-02-12 16:41:31 -0800 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-02-13 06:53:39 -0500 |
| commit | fcd08c175787e909b3eb98f756317a07741c48dd (patch) | |
| tree | 3a942d750d044adb6aed65358baca5a832eb03ff /tests/test_utils | |
| parent | a6f856df52d532d5537191eca237de6efdffe309 (diff) | |
Fixed #11665 -- Made TestCase check deferrable constraints after each test.
Diffstat (limited to 'tests/test_utils')
| -rw-r--r-- | tests/test_utils/test_testcase.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_utils/test_testcase.py b/tests/test_utils/test_testcase.py new file mode 100644 index 0000000000..8a367391cb --- /dev/null +++ b/tests/test_utils/test_testcase.py @@ -0,0 +1,20 @@ +from django.db import IntegrityError, transaction +from django.test import TestCase, skipUnlessDBFeature + +from .models import PossessedCar + + +class TestTestCase(TestCase): + + @skipUnlessDBFeature('can_defer_constraint_checks') + @skipUnlessDBFeature('supports_foreign_keys') + def test_fixture_teardown_checks_constraints(self): + rollback_atomics = self._rollback_atomics + self._rollback_atomics = lambda connection: None # noop + try: + car = PossessedCar.objects.create(car_id=1, belongs_to_id=1) + with self.assertRaises(IntegrityError), transaction.atomic(): + self._fixture_teardown() + car.delete() + finally: + self._rollback_atomics = rollback_atomics |
