mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-14 13:33:00 +00:00
fixed default roles for mocked services
This commit is contained in:
@@ -259,3 +259,16 @@ def update_roles(db, obj, kind, roles=None):
|
||||
# users and services can have 'user' or 'admin' roles as default
|
||||
else:
|
||||
switch_default_role(db, obj, kind, obj.admin)
|
||||
|
||||
|
||||
def mock_roles(app, name, kind):
|
||||
|
||||
"""Loads and assigns default roles for mocked objects"""
|
||||
|
||||
Class = get_orm_class(kind)
|
||||
|
||||
obj = Class.find(app.db, name=name)
|
||||
default_roles = get_default_roles()
|
||||
for role in default_roles:
|
||||
add_role(app.db, role)
|
||||
update_roles(db=app.db, obj=obj, kind=kind)
|
||||
|
@@ -44,6 +44,7 @@ import jupyterhub.services.service
|
||||
from . import mocking
|
||||
from .. import crypto
|
||||
from .. import orm
|
||||
from ..roles import mock_roles
|
||||
from ..utils import random_port
|
||||
from .mocking import MockHub
|
||||
from .test_services import mockservice_cmd
|
||||
@@ -245,6 +246,7 @@ def _mockservice(request, app, url=False):
|
||||
):
|
||||
app.services = [spec]
|
||||
app.init_services()
|
||||
mock_roles(app, name, 'services')
|
||||
assert name in app._service_map
|
||||
service = app._service_map[name]
|
||||
|
||||
|
@@ -1594,7 +1594,7 @@ async def test_get_services(app, mockservice_url):
|
||||
mockservice.name: {
|
||||
'name': mockservice.name,
|
||||
'admin': True,
|
||||
'roles': [],
|
||||
'roles': ['admin'],
|
||||
'command': mockservice.command,
|
||||
'pid': mockservice.proc.pid,
|
||||
'prefix': mockservice.server.base_url,
|
||||
@@ -1620,7 +1620,7 @@ async def test_get_service(app, mockservice_url):
|
||||
assert service == {
|
||||
'name': mockservice.name,
|
||||
'admin': True,
|
||||
'roles': [],
|
||||
'roles': ['admin'],
|
||||
'command': mockservice.command,
|
||||
'pid': mockservice.proc.pid,
|
||||
'prefix': mockservice.server.base_url,
|
||||
|
Reference in New Issue
Block a user