Commit 80aa4432 authored by Alex Gaynor's avatar Alex Gaynor
Browse files

Fixed #12979 -- allowed using savepoints in TestCase (i.e. tests with...

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
parent c93f5e5d
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -37,8 +37,6 @@ real_commit = transaction.commit
real_rollback = transaction.rollback
real_enter_transaction_management = transaction.enter_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

def nop(*args, **kwargs):
@@ -47,8 +45,6 @@ def nop(*args, **kwargs):
def disable_transaction_methods():
    transaction.commit = nop
    transaction.rollback = nop
    transaction.savepoint_commit = nop
    transaction.savepoint_rollback = nop
    transaction.enter_transaction_management = nop
    transaction.leave_transaction_management = nop
    transaction.managed = nop
@@ -56,8 +52,6 @@ def disable_transaction_methods():
def restore_transaction_methods():
    transaction.commit = real_commit
    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.leave_transaction_management = real_leave_transaction_management
    transaction.managed = real_managed
+2 −2
Original line number Diff line number Diff line
from datetime import date

from django.db import IntegrityError
from django.test import TransactionTestCase
from django.test import TestCase

from models import Person, ManualPrimaryKeyTest


class GetOrCreateTests(TransactionTestCase):
class GetOrCreateTests(TestCase):
    def test_get_or_create(self):
        p = Person.objects.create(
            first_name='John', last_name='Lennon', birthday=date(1940, 10, 9)