@@ -136,7 +136,7 @@ async def test_identity(jp_fetch, identity, expected, identity_provider):
136136
137137 assert r .code == 200
138138 response = json .loads (r .body .decode ())
139- assert set (response .keys ()) == {"identity" , "permissions" , "updatable_fields" }
139+ assert set (response .keys ()) == {"identity" , "permissions" }
140140 identity_model = response ["identity" ]
141141 print (identity_model )
142142 for key , value in expected .items ():
@@ -266,7 +266,7 @@ async def test_update_user_success_custom_updatable_fields(
266266@pytest .mark .parametrize (
267267 "have_permissions, check_permissions, expected" ,
268268 [
269- ("*" , None , {}),
269+ ("*" , None , {"updatable_fields" : [ "color" ] }),
270270 (
271271 {
272272 "contents" : ["read" ],
@@ -282,9 +282,10 @@ async def test_update_user_success_custom_updatable_fields(
282282 "contents" : ["read" ],
283283 "kernels" : ["read" , "write" ],
284284 "terminals" : [],
285+ "updatable_fields" : ["color" ],
285286 },
286287 ),
287- ("*" , {"contents" : ["write" ]}, {"contents" : ["write" ]}),
288+ ("*" , {"contents" : ["write" ]}, {"contents" : ["write" ], "updatable_fields" : [ "color" ] }),
288289 ],
289290)
290291async def test_identity_permissions (
@@ -303,7 +304,45 @@ async def test_identity_permissions(
303304 assert r is not None
304305 assert r .code == 200
305306 response = json .loads (r .body .decode ())
306- assert set (response .keys ()) == {"identity" , "permissions" , "updatable_fields" }
307+ assert set (response .keys ()) == {"identity" , "permissions" }
308+ assert response ["permissions" ] == expected
309+
310+
311+ @pytest .mark .parametrize (
312+ "have_permissions, check_permissions, expected" ,
313+ [
314+ (
315+ "*" ,
316+ None ,
317+ {
318+ "updatable_fields" : [
319+ "name" ,
320+ "display_name" ,
321+ "initials" ,
322+ "avatar_url" ,
323+ "color" ,
324+ ]
325+ },
326+ ),
327+ ],
328+ )
329+ async def test_password_identity_permissions (
330+ jp_fetch , have_permissions , check_permissions , expected , password_identity_provider
331+ ):
332+ user = MockUser ("username" )
333+ user .permissions = have_permissions
334+ password_identity_provider .mock_user = user
335+
336+ if check_permissions is not None :
337+ params = {"permissions" : json .dumps (check_permissions )}
338+ else :
339+ params = None
340+
341+ r = await jp_fetch ("api/me" , params = params )
342+ assert r is not None
343+ assert r .code == 200
344+ response = json .loads (r .body .decode ())
345+ assert set (response .keys ()) == {"identity" , "permissions" }
307346 assert response ["permissions" ] == expected
308347
309348
0 commit comments