Fixed #12979 -- allowed using savepoints in TestCase (i.e. tests with transactions disabled), convert the GetOrCreate tests to use this.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14061 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Alex Gaynor 2010-10-09 06:06:24 +00:00
parent c93f5e5d0e
commit 80aa4432e6
2 changed files with 2 additions and 8 deletions

View File

@ -37,8 +37,6 @@ real_commit = transaction.commit
real_rollback = transaction.rollback real_rollback = transaction.rollback
real_enter_transaction_management = transaction.enter_transaction_management real_enter_transaction_management = transaction.enter_transaction_management
real_leave_transaction_management = transaction.leave_transaction_management real_leave_transaction_management = transaction.leave_transaction_management
real_savepoint_commit = transaction.savepoint_commit
real_savepoint_rollback = transaction.savepoint_rollback
real_managed = transaction.managed real_managed = transaction.managed
def nop(*args, **kwargs): def nop(*args, **kwargs):
@ -47,8 +45,6 @@ def nop(*args, **kwargs):
def disable_transaction_methods(): def disable_transaction_methods():
transaction.commit = nop transaction.commit = nop
transaction.rollback = nop transaction.rollback = nop
transaction.savepoint_commit = nop
transaction.savepoint_rollback = nop
transaction.enter_transaction_management = nop transaction.enter_transaction_management = nop
transaction.leave_transaction_management = nop transaction.leave_transaction_management = nop
transaction.managed = nop transaction.managed = nop
@ -56,8 +52,6 @@ def disable_transaction_methods():
def restore_transaction_methods(): def restore_transaction_methods():
transaction.commit = real_commit transaction.commit = real_commit
transaction.rollback = real_rollback transaction.rollback = real_rollback
transaction.savepoint_commit = real_savepoint_commit
transaction.savepoint_rollback = real_savepoint_rollback
transaction.enter_transaction_management = real_enter_transaction_management transaction.enter_transaction_management = real_enter_transaction_management
transaction.leave_transaction_management = real_leave_transaction_management transaction.leave_transaction_management = real_leave_transaction_management
transaction.managed = real_managed transaction.managed = real_managed

View File

@ -1,12 +1,12 @@
from datetime import date from datetime import date
from django.db import IntegrityError from django.db import IntegrityError
from django.test import TransactionTestCase from django.test import TestCase
from models import Person, ManualPrimaryKeyTest from models import Person, ManualPrimaryKeyTest
class GetOrCreateTests(TransactionTestCase): class GetOrCreateTests(TestCase):
def test_get_or_create(self): def test_get_or_create(self):
p = Person.objects.create( p = Person.objects.create(
first_name='John', last_name='Lennon', birthday=date(1940, 10, 9) first_name='John', last_name='Lennon', birthday=date(1940, 10, 9)