Commit 14e139ec authored by Tim Graham's avatar Tim Graham
Browse files

[1.6.x] Fixed #21118 -- Isolated a test that uses the database.

Thanks rmboggs for the report.

Backport of 4f40b97d from master
parent 275497c5
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@ import copy
import pickle
import sys

from django.contrib.auth.models import User
from django.test import TestCase as DjangoTestCase
from django.utils import six
from django.utils.unittest import TestCase
from django.utils.functional import SimpleLazyObject, empty
@@ -162,9 +164,19 @@ class TestUtilsSimpleLazyObject(TestCase):
        self.assertTrue(lazy1 != lazy3)
        self.assertFalse(lazy1 != lazy2)

    def test_pickle_py2_regression(self):
        from django.contrib.auth.models import User
    def test_list_set(self):
        lazy_list = SimpleLazyObject(lambda: [1, 2, 3, 4, 5])
        lazy_set = SimpleLazyObject(lambda: set([1, 2, 3, 4]))
        self.assertTrue(1 in lazy_list)
        self.assertTrue(1 in lazy_set)
        self.assertFalse(6 in lazy_list)
        self.assertFalse(6 in lazy_set)
        self.assertEqual(len(lazy_list), 5)
        self.assertEqual(len(lazy_set), 4)

class TestUtilsSimpleLazyObjectDjangoTestCase(DjangoTestCase):

    def test_pickle_py2_regression(self):
        # See ticket #20212
        user = User.objects.create_user('johndoe', 'john@example.com', 'pass')
        x = SimpleLazyObject(lambda: user)