33from unittest import mock
44
55import django
6- import pytest
76from django .conf import settings
87from django .contrib .auth .models import AnonymousUser , Group , Permission , User
98from django .db import models
1413 HTTP_HEADER_ENCODING , authentication , generics , permissions , serializers ,
1514 status , views
1615)
17- from rest_framework .compat import PY36
1816from rest_framework .routers import DefaultRouter
1917from rest_framework .test import APIRequestFactory
2018from tests .models import BasicModel
@@ -607,7 +605,6 @@ def test_several_levels_and_precedence(self):
607605 )
608606 assert composed_perm ().has_permission (request , None ) is True
609607
610- @pytest .mark .skipif (not PY36 , reason = "assert_called_once() not available" )
611608 def test_or_lazyness (self ):
612609 request = factory .get ('/1' , format = 'json' )
613610 request .user = AnonymousUser ()
@@ -616,19 +613,18 @@ def test_or_lazyness(self):
616613 with mock .patch .object (permissions .IsAuthenticated , 'has_permission' , return_value = False ) as mock_deny :
617614 composed_perm = (permissions .AllowAny | permissions .IsAuthenticated )
618615 hasperm = composed_perm ().has_permission (request , None )
619- self . assertIs ( hasperm , True )
620- mock_allow .assert_called_once ()
616+ assert hasperm is True
617+ assert mock_allow .call_count == 1
621618 mock_deny .assert_not_called ()
622619
623620 with mock .patch .object (permissions .AllowAny , 'has_permission' , return_value = True ) as mock_allow :
624621 with mock .patch .object (permissions .IsAuthenticated , 'has_permission' , return_value = False ) as mock_deny :
625622 composed_perm = (permissions .IsAuthenticated | permissions .AllowAny )
626623 hasperm = composed_perm ().has_permission (request , None )
627- self . assertIs ( hasperm , True )
628- mock_deny .assert_called_once ()
629- mock_allow .assert_called_once ()
624+ assert hasperm is True
625+ assert mock_deny .call_count == 1
626+ assert mock_allow .call_count == 1
630627
631- @pytest .mark .skipif (not PY36 , reason = "assert_called_once() not available" )
632628 def test_object_or_lazyness (self ):
633629 request = factory .get ('/1' , format = 'json' )
634630 request .user = AnonymousUser ()
@@ -637,19 +633,18 @@ def test_object_or_lazyness(self):
637633 with mock .patch .object (permissions .IsAuthenticated , 'has_object_permission' , return_value = False ) as mock_deny :
638634 composed_perm = (permissions .AllowAny | permissions .IsAuthenticated )
639635 hasperm = composed_perm ().has_object_permission (request , None , None )
640- self . assertIs ( hasperm , True )
641- mock_allow .assert_called_once ()
636+ assert hasperm is True
637+ assert mock_allow .call_count == 1
642638 mock_deny .assert_not_called ()
643639
644640 with mock .patch .object (permissions .AllowAny , 'has_object_permission' , return_value = True ) as mock_allow :
645641 with mock .patch .object (permissions .IsAuthenticated , 'has_object_permission' , return_value = False ) as mock_deny :
646642 composed_perm = (permissions .IsAuthenticated | permissions .AllowAny )
647643 hasperm = composed_perm ().has_object_permission (request , None , None )
648- self . assertIs ( hasperm , True )
649- mock_deny .assert_called_once ()
650- mock_allow .assert_called_once ()
644+ assert hasperm is True
645+ assert mock_deny .call_count == 1
646+ assert mock_allow .call_count == 1
651647
652- @pytest .mark .skipif (not PY36 , reason = "assert_called_once() not available" )
653648 def test_and_lazyness (self ):
654649 request = factory .get ('/1' , format = 'json' )
655650 request .user = AnonymousUser ()
@@ -658,19 +653,18 @@ def test_and_lazyness(self):
658653 with mock .patch .object (permissions .IsAuthenticated , 'has_permission' , return_value = False ) as mock_deny :
659654 composed_perm = (permissions .AllowAny & permissions .IsAuthenticated )
660655 hasperm = composed_perm ().has_permission (request , None )
661- self . assertIs ( hasperm , False )
662- mock_allow .assert_called_once ()
663- mock_deny .assert_called_once ()
656+ assert hasperm is False
657+ assert mock_allow .call_count == 1
658+ assert mock_deny .call_count == 1
664659
665660 with mock .patch .object (permissions .AllowAny , 'has_permission' , return_value = True ) as mock_allow :
666661 with mock .patch .object (permissions .IsAuthenticated , 'has_permission' , return_value = False ) as mock_deny :
667662 composed_perm = (permissions .IsAuthenticated & permissions .AllowAny )
668663 hasperm = composed_perm ().has_permission (request , None )
669- self .assertIs (hasperm , False )
664+ assert hasperm is False
665+ assert mock_deny .call_count == 1
670666 mock_allow .assert_not_called ()
671- mock_deny .assert_called_once ()
672667
673- @pytest .mark .skipif (not PY36 , reason = "assert_called_once() not available" )
674668 def test_object_and_lazyness (self ):
675669 request = factory .get ('/1' , format = 'json' )
676670 request .user = AnonymousUser ()
@@ -679,14 +673,14 @@ def test_object_and_lazyness(self):
679673 with mock .patch .object (permissions .IsAuthenticated , 'has_object_permission' , return_value = False ) as mock_deny :
680674 composed_perm = (permissions .AllowAny & permissions .IsAuthenticated )
681675 hasperm = composed_perm ().has_object_permission (request , None , None )
682- self . assertIs ( hasperm , False )
683- mock_allow .assert_called_once ()
684- mock_deny .assert_called_once ()
676+ assert hasperm is False
677+ assert mock_allow .call_count == 1
678+ assert mock_deny .call_count == 1
685679
686680 with mock .patch .object (permissions .AllowAny , 'has_object_permission' , return_value = True ) as mock_allow :
687681 with mock .patch .object (permissions .IsAuthenticated , 'has_object_permission' , return_value = False ) as mock_deny :
688682 composed_perm = (permissions .IsAuthenticated & permissions .AllowAny )
689683 hasperm = composed_perm ().has_object_permission (request , None , None )
690- self .assertIs (hasperm , False )
684+ assert hasperm is False
685+ assert mock_deny .call_count == 1
691686 mock_allow .assert_not_called ()
692- mock_deny .assert_called_once ()
0 commit comments