Projet

Général

Profil

0001-tests-use-pytest-style.patch

Benjamin Dauvergne, 11 janvier 2021 14:59

Télécharger (4,32 ko)

Voir les différences:

Subject: [PATCH 1/2] tests: use pytest style

 tests/test_custom_user.py | 74 ++++++++++++++++++---------------------
 1 file changed, 34 insertions(+), 40 deletions(-)
tests/test_custom_user.py
14 14
# You should have received a copy of the GNU Affero General Public License
15 15
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 16

  
17
from django.test import TestCase
18
from django.contrib.contenttypes.models import ContentType
19 17
from django.contrib.auth import get_user_model
20
from django.core.exceptions import ValidationError
21 18

  
22 19
from django_rbac.utils import get_permission_model, get_role_model
23 20

  
......
26 23
User = get_user_model()
27 24

  
28 25

  
29
class CustomUserTestCase(TestCase):
30
    def test_roles_and_parents(self):
31
        rchild1 = Role.objects.create(name='role-child1')
32
        rparent1 = Role.objects.create(name='role-parent1')
33
        rparent2 = Role.objects.create(name='role-parent2')
34
        rchild2 = Role.objects.create(name='role-child2')
35
        rparent1.add_child(rchild1)
36
        rparent1.add_child(rchild2)
37
        rparent2.add_child(rchild1)
38
        rparent2.add_child(rchild2)
26
def test_roles_and_parents(db):
27
    rchild1 = Role.objects.create(name='role-child1')
28
    rparent1 = Role.objects.create(name='role-parent1')
29
    rparent2 = Role.objects.create(name='role-parent2')
30
    rchild2 = Role.objects.create(name='role-child2')
31
    rparent1.add_child(rchild1)
32
    rparent1.add_child(rchild2)
33
    rparent2.add_child(rchild1)
34
    rparent2.add_child(rchild2)
39 35

  
40
        user1 = User.objects.create(username='user')
41
        user1.roles.add(rchild1)
42
        self.assertEqual(set([r.id for r in user1.roles_and_parents()]),
43
                         set([rchild1.id, rparent1.id, rparent2.id]))
44
        for r in user1.roles_and_parents():
45
            if r.id == rchild1.id:
46
                self.assertEqual(r.member, [user1])
47
            else:
48
                self.assertIn(r.id, [rparent1.id, rparent2.id])
49
                self.assertEqual(r.member, [])
50
        user1.roles.remove(rchild1)
51
        user1.roles.add(rchild2)
52
        self.assertEqual(set([r.id for r in user1.roles_and_parents()]),
53
                         set([rchild2.id, rparent1.id, rparent2.id]))
54
        for r in user1.roles_and_parents():
55
            if r.id == rchild2.id:
56
                self.assertEqual(r.member, [user1])
57
            else:
58
                self.assertIn(r.id, [rparent1.id, rparent2.id])
59
                self.assertEqual(r.member, [])
36
    user1 = User.objects.create(username='user')
37
    user1.roles.add(rchild1)
38
    assert set([r.id for r in user1.roles_and_parents()]) == set([rchild1.id, rparent1.id, rparent2.id])
39
    for r in user1.roles_and_parents():
40
        if r.id == rchild1.id:
41
            assert r.member == [user1]
42
        else:
43
            assert r.id in [rparent1.id, rparent2.id]
44
            assert r.member == []
45
    user1.roles.remove(rchild1)
46
    user1.roles.add(rchild2)
47
    assert set([r.id for r in user1.roles_and_parents()]) == set([rchild2.id, rparent1.id, rparent2.id])
48
    for r in user1.roles_and_parents():
49
        if r.id == rchild2.id:
50
            assert r.member == [user1]
51
        else:
52
            assert r.id in [rparent1.id, rparent2.id]
53
            assert r.member == []
60 54

  
61
    def test_user_mark_as_deleted(self):
62
        user1 = User.objects.create(username='foo', email='foo@example.net')
63
        user1.mark_as_deleted()
64
        user2 = User.objects.create(username='foo2', email='foo@example.net')
65
        assert len(User.objects.filter(email='foo@example.net')) == 2
66
        assert len(User.objects.filter(
67
                email='foo@example.net', deleted__isnull=True)) == 1
55

  
56
def test_user_mark_as_deleted(db):
57
    user1 = User.objects.create(username='foo', email='foo@example.net')
58
    user1.mark_as_deleted()
59
    User.objects.create(username='foo2', email='foo@example.net')
60
    assert len(User.objects.filter(email='foo@example.net')) == 2
61
    assert len(User.objects.filter(email='foo@example.net', deleted__isnull=True)) == 1
68
-