@@ -136,7 +136,7 @@ async def test_identity(jp_fetch, identity, expected, identity_provider):
136
136
137
137
assert r .code == 200
138
138
response = json .loads (r .body .decode ())
139
- assert set (response .keys ()) == {"identity" , "permissions" , "updatable_fields" }
139
+ assert set (response .keys ()) == {"identity" , "permissions" }
140
140
identity_model = response ["identity" ]
141
141
print (identity_model )
142
142
for key , value in expected .items ():
@@ -266,7 +266,7 @@ async def test_update_user_success_custom_updatable_fields(
266
266
@pytest .mark .parametrize (
267
267
"have_permissions, check_permissions, expected" ,
268
268
[
269
- ("*" , None , {}),
269
+ ("*" , None , {"updatable_fields" : [ "color" ] }),
270
270
(
271
271
{
272
272
"contents" : ["read" ],
@@ -282,9 +282,10 @@ async def test_update_user_success_custom_updatable_fields(
282
282
"contents" : ["read" ],
283
283
"kernels" : ["read" , "write" ],
284
284
"terminals" : [],
285
+ "updatable_fields" : ["color" ],
285
286
},
286
287
),
287
- ("*" , {"contents" : ["write" ]}, {"contents" : ["write" ]}),
288
+ ("*" , {"contents" : ["write" ]}, {"contents" : ["write" ], "updatable_fields" : [ "color" ] }),
288
289
],
289
290
)
290
291
async def test_identity_permissions (
@@ -303,7 +304,45 @@ async def test_identity_permissions(
303
304
assert r is not None
304
305
assert r .code == 200
305
306
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" }
307
346
assert response ["permissions" ] == expected
308
347
309
348
0 commit comments