diff options
author | Mikhail Denisenko <denisenkom@gmail.com> | 2015-11-15 23:14:55 -0500 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2016-09-09 11:57:38 -0400 |
commit | bae64dd0f13ba247448197ecf83cdc7a80691bb4 (patch) | |
tree | 17faa3160a7cef9bb7c8388b5a7dbd617369e6ac /tests/select_for_update | |
parent | ef021412d5e7eb78c89f0b7cf2ec01bcb959a837 (diff) | |
download | django-bae64dd0f13ba247448197ecf83cdc7a80691bb4.tar.gz |
Fixed #27062 -- Eased implementing select_for_update() on MSSQL.
Diffstat (limited to 'tests/select_for_update')
-rw-r--r-- | tests/select_for_update/tests.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/tests/select_for_update/tests.py b/tests/select_for_update/tests.py index dcdd742ad4..e6e1155ee2 100644 --- a/tests/select_for_update/tests.py +++ b/tests/select_for_update/tests.py @@ -5,9 +5,11 @@ import time from multiple_database.routers import TestRouter -from django.db import DatabaseError, connection, router, transaction +from django.db import ( + DatabaseError, connection, connections, router, transaction, +) from django.test import ( - TransactionTestCase, override_settings, skipIfDBFeature, + TransactionTestCase, mock, override_settings, skipIfDBFeature, skipUnlessDBFeature, ) from django.test.utils import CaptureQueriesContext @@ -151,6 +153,14 @@ class SelectForUpdateTests(TransactionTestCase): Person.objects.select_for_update(skip_locked=True).get() @skipUnlessDBFeature('has_select_for_update') + def test_for_update_after_from(self): + features_class = connections['default'].features.__class__ + attribute_to_patch = "%s.%s.for_update_after_from" % (features_class.__module__, features_class.__name__) + with mock.patch(attribute_to_patch, return_value=True): + with transaction.atomic(): + self.assertIn('FOR UPDATE WHERE', str(Person.objects.filter(name='foo').select_for_update().query)) + + @skipUnlessDBFeature('has_select_for_update') def test_for_update_requires_transaction(self): """ Test that a TransactionManagementError is raised |