mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Fixed #14550 -- fixed the behavior of commit_on_success to exit the transaction properly. This was a bug introduced in [14288]. Thanks to Justin for the report and Florian Apolloner for help debugging.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14343 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -113,6 +113,25 @@ class TransactionTests(TransactionTestCase):
|
||||
remove_comitted_on_success("Alice")
|
||||
self.assertEqual(list(Reporter.objects.all()), [])
|
||||
|
||||
@skipUnlessDBFeature('supports_transactions')
|
||||
def test_commit_on_success_exit(self):
|
||||
@transaction.autocommit()
|
||||
def gen_reporter():
|
||||
@transaction.commit_on_success
|
||||
def create_reporter():
|
||||
Reporter.objects.create(first_name="Bobby", last_name="Tables")
|
||||
|
||||
create_reporter()
|
||||
# Much more formal
|
||||
r = Reporter.objects.get()
|
||||
r.first_name = "Robert"
|
||||
r.save()
|
||||
|
||||
gen_reporter()
|
||||
r = Reporter.objects.get()
|
||||
self.assertEqual(r.first_name, "Robert")
|
||||
|
||||
|
||||
@skipUnlessDBFeature('supports_transactions')
|
||||
def test_manually_managed(self):
|
||||
"""
|
||||
@@ -146,6 +165,7 @@ class TransactionTests(TransactionTestCase):
|
||||
using_manually_managed_mistake
|
||||
)
|
||||
|
||||
|
||||
class TransactionRollbackTests(TransactionTestCase):
|
||||
def execute_bad_sql(self):
|
||||
cursor = connection.cursor()
|
||||
|
||||
Reference in New Issue
Block a user