Skip to content

Commit c9ed793

Browse files
committed
use actual user instead of fake user in permission composition test
1 parent 88fd222 commit c9ed793

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

tests/test_permissions.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from django.db import models
1010
from django.test import TestCase
1111
from django.urls import ResolverMatch
12-
from django.utils.deprecation import CallableBool
1312

1413
from rest_framework import (
1514
HTTP_HEADER_ENCODING, authentication, generics, permissions, serializers,
@@ -549,33 +548,47 @@ def __init__(self, auth=False):
549548

550549

551550
class PermissionsCompositionTests(TestCase):
551+
552+
def setUp(self):
553+
self.username = 'john'
554+
self.email = 'lennon@thebeatles.com'
555+
self.password = 'password'
556+
self.user = User.objects.create_user(
557+
self.username,
558+
self.email,
559+
self.password
560+
)
561+
552562
def test_and_false(self):
553563
request = factory.get('/1', format='json')
554-
request.user = FakeUser(auth=False)
564+
request.user = self.user
555565
composed_perm = permissions.IsAuthenticated & permissions.AllowAny
556566
assert composed_perm().has_permission(request, None) is False
557567

558568
def test_and_true(self):
559569
request = factory.get('/1', format='json')
560-
request.user = FakeUser(auth=True)
570+
self.client.login(username=self.username, password=self.password)
571+
request.user = self.user
561572
composed_perm = permissions.IsAuthenticated & permissions.AllowAny
562573
assert composed_perm().has_permission(request, None) is True
563574

564575
def test_or_false(self):
565576
request = factory.get('/1', format='json')
566-
request.user = FakeUser(auth=False)
577+
request.user = self.user
567578
composed_perm = permissions.IsAuthenticated | permissions.AllowAny
568579
assert composed_perm().has_permission(request, None) is True
569580

570581
def test_or_true(self):
571582
request = factory.get('/1', format='json')
572-
request.user = FakeUser(auth=True)
583+
self.client.login(username=self.username, password=self.password)
584+
request.user = self.user
573585
composed_perm = permissions.IsAuthenticated | permissions.AllowAny
574586
assert composed_perm().has_permission(request, None) is True
575587

576588
def test_several_levels(self):
577589
request = factory.get('/1', format='json')
578-
request.user = FakeUser(auth=True)
590+
self.client.login(username=self.username, password=self.password)
591+
request.user = self.user
579592
composed_perm = (
580593
permissions.IsAuthenticated &
581594
permissions.IsAuthenticated &

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy