@@ -51,35 +51,39 @@ class IsAuthenticatedPermissionsTest(DRFPermissionTestCase):
5151
5252 def setUp (self ) -> None :
5353 super ().setUp ()
54- self .normal_user = self .create_user (id = 1 )
55- self .readonly_user = self .create_user (id = 2 )
54+ self .normal_user = self .create_user ()
55+ self .readonly_user = self .create_user ()
5656
57- @override_options ({"demo-mode.enabled" : True , "demo-mode.users" : [2 ]})
5857 def test_has_permission (self ) -> None :
59- assert self .user_permission .has_permission (self .make_request (self .normal_user ), APIView ())
60- assert not self .user_permission .has_permission (
61- self .make_request (self .readonly_user ), APIView ()
62- )
58+ with override_options (
59+ {"demo-mode.enabled" : True , "demo-mode.users" : [self .readonly_user .id ]}
60+ ):
61+ assert self .user_permission .has_permission (
62+ self .make_request (self .normal_user ), APIView ()
63+ )
64+ assert not self .user_permission .has_permission (
65+ self .make_request (self .readonly_user ), APIView ()
66+ )
6367
64- @override_options ({"demo-mode.enabled" : True , "demo-mode.users" : [2 ]})
6568 def test_has_object_permission (self ) -> None :
66- assert self .user_permission .has_object_permission (
67- self .make_request (self .normal_user ), APIView (), None
68- )
69- assert not self .user_permission .has_object_permission (
70- self .make_request (self .readonly_user ), APIView (), None
71- )
69+ with override_options (
70+ {"demo-mode.enabled" : True , "demo-mode.users" : [self .readonly_user .id ]}
71+ ):
72+ assert self .user_permission .has_object_permission (
73+ self .make_request (self .normal_user ), APIView (), None
74+ )
75+ assert not self .user_permission .has_object_permission (
76+ self .make_request (self .readonly_user ), APIView (), None
77+ )
7278
7379
7480class DemoSafePermissionsTest (DRFPermissionTestCase ):
7581 user_permission = DemoSafePermission ()
7682
7783 def setUp (self ) -> None :
7884 super ().setUp ()
79- self .normal_user = self .create_user (
80- id = 1 ,
81- )
82- self .readonly_user = self .create_user (id = 2 )
85+ self .normal_user = self .create_user ()
86+ self .readonly_user = self .create_user ()
8387 self .organization = self .create_organization (owner = self .normal_user )
8488 self .org_member_scopes = self .create_member (
8589 organization_id = self .organization .id , user_id = self .readonly_user .id
@@ -93,90 +97,102 @@ def _get_rpc_context(self, user):
9397 assert rpc_context
9498 return rpc_context
9599
96- @override_options ({"demo-mode.enabled" : True , "demo-mode.users" : [2 ]})
97100 def test_safe_methods (self ) -> None :
98- for method in ("GET" , "HEAD" , "OPTIONS" ):
99- assert self .user_permission .has_permission (
100- self .make_request (self .readonly_user , method = method ), APIView ()
101- )
102- assert self .user_permission .has_permission (
103- self .make_request (self .normal_user , method = method ), APIView ()
104- )
101+ with override_options (
102+ {"demo-mode.enabled" : True , "demo-mode.users" : [self .readonly_user .id ]}
103+ ):
104+ for method in ("GET" , "HEAD" , "OPTIONS" ):
105+ assert self .user_permission .has_permission (
106+ self .make_request (self .readonly_user , method = method ), APIView ()
107+ )
108+ assert self .user_permission .has_permission (
109+ self .make_request (self .normal_user , method = method ), APIView ()
110+ )
105111
106- @override_options ({"demo-mode.enabled" : True , "demo-mode.users" : [2 ]})
107112 def test_unsafe_methods (self ) -> None :
108- for method in ("POST" , "PUT" , "PATCH" , "DELETE" ):
109- assert not self .user_permission .has_permission (
110- self .make_request (self .readonly_user , method = method ), APIView ()
111- )
112- assert self .user_permission .has_permission (
113- self .make_request (self .normal_user , method = method ), APIView ()
114- )
113+ with override_options (
114+ {"demo-mode.enabled" : True , "demo-mode.users" : [self .readonly_user .id ]}
115+ ):
116+ for method in ("POST" , "PUT" , "PATCH" , "DELETE" ):
117+ assert not self .user_permission .has_permission (
118+ self .make_request (self .readonly_user , method = method ), APIView ()
119+ )
120+ assert self .user_permission .has_permission (
121+ self .make_request (self .normal_user , method = method ), APIView ()
122+ )
115123
116- @override_options ({"demo-mode.enabled" : False , "demo-mode.users" : [2 ]})
117124 def test_safe_method_demo_mode_disabled (self ) -> None :
118- for method in ("GET" , "HEAD" , "OPTIONS" ):
119- assert not self .user_permission .has_permission (
120- self .make_request (self .readonly_user , method = method ), APIView ()
121- )
122- assert self .user_permission .has_permission (
123- self .make_request (self .normal_user , method = method ), APIView ()
124- )
125+ with override_options (
126+ {"demo-mode.enabled" : False , "demo-mode.users" : [self .readonly_user .id ]}
127+ ):
128+ for method in ("GET" , "HEAD" , "OPTIONS" ):
129+ assert not self .user_permission .has_permission (
130+ self .make_request (self .readonly_user , method = method ), APIView ()
131+ )
132+ assert self .user_permission .has_permission (
133+ self .make_request (self .normal_user , method = method ), APIView ()
134+ )
125135
126- @override_options ({"demo-mode.enabled" : False , "demo-mode.users" : [2 ]})
127136 def test_unsafe_methods_demo_mode_disabled (self ) -> None :
128- for method in ("POST" , "PUT" , "PATCH" , "DELETE" ):
129- assert not self .user_permission .has_permission (
130- self .make_request (self .readonly_user , method = method ), APIView ()
131- )
132- assert self .user_permission .has_permission (
133- self .make_request (self .normal_user , method = method ), APIView ()
134- )
137+ with override_options (
138+ {"demo-mode.enabled" : False , "demo-mode.users" : [self .readonly_user .id ]}
139+ ):
140+ for method in ("POST" , "PUT" , "PATCH" , "DELETE" ):
141+ assert not self .user_permission .has_permission (
142+ self .make_request (self .readonly_user , method = method ), APIView ()
143+ )
144+ assert self .user_permission .has_permission (
145+ self .make_request (self .normal_user , method = method ), APIView ()
146+ )
135147
136- @override_options ({"demo-mode.enabled" : False , "demo-mode.users" : [2 ]})
137148 def test_determine_access_disabled (self ) -> None :
138- self .user_permission .determine_access (
139- request = self .make_request (self .normal_user ),
140- organization = self ._get_rpc_context (self .normal_user ),
141- )
149+ with override_options (
150+ {"demo-mode.enabled" : False , "demo-mode.users" : [self .readonly_user .id ]}
151+ ):
152+ self .user_permission .determine_access (
153+ request = self .make_request (self .normal_user ),
154+ organization = self ._get_rpc_context (self .normal_user ),
155+ )
142156
143- readonly_rpc_context = self ._get_rpc_context (self .readonly_user )
157+ readonly_rpc_context = self ._get_rpc_context (self .readonly_user )
144158
145- self .user_permission .determine_access (
146- request = self .make_request (self .readonly_user ),
147- organization = readonly_rpc_context ,
148- )
159+ self .user_permission .determine_access (
160+ request = self .make_request (self .readonly_user ),
161+ organization = readonly_rpc_context ,
162+ )
149163
150- assert readonly_rpc_context .member .scopes == list (self .org_member_scopes )
164+ assert readonly_rpc_context .member .scopes == list (self .org_member_scopes )
151165
152- @override_options ({"demo-mode.enabled" : True , "demo-mode.users" : [2 ]})
153166 def test_determine_access (self ) -> None :
154- self .user_permission .determine_access (
155- request = self .make_request (self .normal_user ),
156- organization = self ._get_rpc_context (self .normal_user ),
157- )
167+ with override_options (
168+ {"demo-mode.enabled" : True , "demo-mode.users" : [self .readonly_user .id ]}
169+ ):
170+ self .user_permission .determine_access (
171+ request = self .make_request (self .normal_user ),
172+ organization = self ._get_rpc_context (self .normal_user ),
173+ )
158174
159- readonly_rpc_context = self ._get_rpc_context (self .readonly_user )
175+ readonly_rpc_context = self ._get_rpc_context (self .readonly_user )
160176
161- self .user_permission .determine_access (
162- request = self .make_request (self .readonly_user ),
163- organization = readonly_rpc_context ,
164- )
177+ self .user_permission .determine_access (
178+ request = self .make_request (self .readonly_user ),
179+ organization = readonly_rpc_context ,
180+ )
165181
166- assert readonly_rpc_context .member .scopes == sorted (READONLY_SCOPES )
182+ assert readonly_rpc_context .member .scopes == sorted (READONLY_SCOPES )
167183
168- @override_options ({"demo-mode.enabled" : False , "demo-mode.users" : []})
169184 def test_determine_access_no_demo_users (self ) -> None :
170- self .user_permission .determine_access (
171- request = self .make_request (self .normal_user ),
172- organization = self ._get_rpc_context (self .normal_user ),
173- )
185+ with override_options ({"demo-mode.enabled" : False , "demo-mode.users" : []}):
186+ self .user_permission .determine_access (
187+ request = self .make_request (self .normal_user ),
188+ organization = self ._get_rpc_context (self .normal_user ),
189+ )
174190
175- readonly_rpc_context = self ._get_rpc_context (self .readonly_user )
191+ readonly_rpc_context = self ._get_rpc_context (self .readonly_user )
176192
177- self .user_permission .determine_access (
178- request = self .make_request (self .readonly_user ),
179- organization = readonly_rpc_context ,
180- )
193+ self .user_permission .determine_access (
194+ request = self .make_request (self .readonly_user ),
195+ organization = readonly_rpc_context ,
196+ )
181197
182- assert readonly_rpc_context .member .scopes == list (self .org_member_scopes )
198+ assert readonly_rpc_context .member .scopes == list (self .org_member_scopes )
0 commit comments