File tree Expand file tree Collapse file tree 3 files changed +23
-0
lines changed Expand file tree Collapse file tree 3 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -1993,6 +1993,7 @@ async def _get_or_create_user(self, username):
19931993 self .log .info (f"Creating user { username } " )
19941994 user = orm .User (name = username )
19951995 self .db .add (user )
1996+ roles .assign_default_roles (self .db , entity = user )
19961997 self .db .commit ()
19971998 return user
19981999
Original file line number Diff line number Diff line change @@ -247,6 +247,7 @@ async def test_load_groups(tmpdir, request):
247247 kwargs ['internal_certs_location' ] = str (tmpdir )
248248 hub = MockHub (** kwargs )
249249 hub .init_db ()
250+ await hub .init_role_creation ()
250251 await hub .init_users ()
251252 await hub .init_groups ()
252253 db = hub .db
Original file line number Diff line number Diff line change @@ -1203,6 +1203,27 @@ async def test_user_config_respects_memberships():
12031203 assert user in user_role .users
12041204
12051205
1206+ async def test_user_config_creates_default_role ():
1207+ role_spec = [
1208+ {
1209+ 'name' : 'new-role' ,
1210+ 'scopes' : ['read:users' ],
1211+ 'users' : ['not-yet-created-user' ],
1212+ }
1213+ ]
1214+ user_names = []
1215+ hub = MockHub (load_roles = role_spec )
1216+ hub .init_db ()
1217+ hub .authenticator .allowed_users = user_names
1218+ await hub .init_role_creation ()
1219+ await hub .init_users ()
1220+ await hub .init_role_assignment ()
1221+ user_role = orm .Role .find (hub .db , 'user' )
1222+ new_role = orm .Role .find (hub .db , 'new-role' )
1223+ assert orm .User .find (hub .db , 'not-yet-created-user' ) in new_role .users
1224+ assert orm .User .find (hub .db , 'not-yet-created-user' ) in user_role .users
1225+
1226+
12061227async def test_admin_role_respects_config ():
12071228 role_spec = [
12081229 {
You can’t perform that action at this time.
0 commit comments