mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-11 03:52:59 +00:00
handle progress_url in user model tests
This commit is contained in:
@@ -103,7 +103,7 @@ class APIHandler(BaseHandler):
|
|||||||
'name': spawner.name,
|
'name': spawner.name,
|
||||||
'last_activity': isoformat(spawner.orm_spawner.last_activity),
|
'last_activity': isoformat(spawner.orm_spawner.last_activity),
|
||||||
'started': isoformat(spawner.orm_spawner.started),
|
'started': isoformat(spawner.orm_spawner.started),
|
||||||
'pending': spawner.pending,
|
'pending': spawner.pending or None,
|
||||||
'url': url_path_join(spawner.user.url, spawner.name, '/'),
|
'url': url_path_join(spawner.user.url, spawner.name, '/'),
|
||||||
'progress_url': spawner._progress_url,
|
'progress_url': spawner._progress_url,
|
||||||
}
|
}
|
||||||
@@ -119,7 +119,7 @@ class APIHandler(BaseHandler):
|
|||||||
'admin': user.admin,
|
'admin': user.admin,
|
||||||
'groups': [ g.name for g in user.groups ],
|
'groups': [ g.name for g in user.groups ],
|
||||||
'server': user.url if user.running else None,
|
'server': user.url if user.running else None,
|
||||||
'progress_url': user.spawner._progress_url if user.active else None,
|
'progress_url': user.progress_url(''),
|
||||||
'pending': None,
|
'pending': None,
|
||||||
'created': isoformat(user.created),
|
'created': isoformat(user.created),
|
||||||
'started': None,
|
'started': None,
|
||||||
@@ -128,7 +128,7 @@ class APIHandler(BaseHandler):
|
|||||||
if '' in user.spawners:
|
if '' in user.spawners:
|
||||||
server_model = self.server_model(user.spawners[''])
|
server_model = self.server_model(user.spawners[''])
|
||||||
# copy some values from the default server to the user model
|
# copy some values from the default server to the user model
|
||||||
for key in ('started', 'pending', 'progress_url'):
|
for key in ('started', 'pending'):
|
||||||
model[key] = server_model[key]
|
model[key] = server_model[key]
|
||||||
|
|
||||||
if self.allow_named_servers:
|
if self.allow_named_servers:
|
||||||
|
@@ -201,10 +201,17 @@ def normalize_user(user):
|
|||||||
"""
|
"""
|
||||||
for key in ('created', 'last_activity', 'started'):
|
for key in ('created', 'last_activity', 'started'):
|
||||||
user[key] = normalize_timestamp(user[key])
|
user[key] = normalize_timestamp(user[key])
|
||||||
|
if user['progress_url']:
|
||||||
|
user['progress_url'] = re.sub(
|
||||||
|
r'.*/hub/api',
|
||||||
|
'PREFIX/hub/api',
|
||||||
|
user['progress_url'],
|
||||||
|
)
|
||||||
if 'servers' in user:
|
if 'servers' in user:
|
||||||
for server in user['servers'].values():
|
for server in user['servers'].values():
|
||||||
for key in ('started', 'last_activity'):
|
for key in ('started', 'last_activity'):
|
||||||
server[key] = normalize_timestamp(server[key])
|
server[key] = normalize_timestamp(server[key])
|
||||||
|
server['progress_url'] = re.sub(r'.*/hub/api', 'PREFIX/hub/api', server['progress_url'])
|
||||||
return user
|
return user
|
||||||
|
|
||||||
def fill_user(model):
|
def fill_user(model):
|
||||||
@@ -221,6 +228,7 @@ def fill_user(model):
|
|||||||
model.setdefault('created', TIMESTAMP)
|
model.setdefault('created', TIMESTAMP)
|
||||||
model.setdefault('last_activity', TIMESTAMP)
|
model.setdefault('last_activity', TIMESTAMP)
|
||||||
model.setdefault('started', None)
|
model.setdefault('started', None)
|
||||||
|
model.setdefault('progress_url', 'PREFIX/hub/api/users/{name}/server/progress'.format(**model))
|
||||||
return model
|
return model
|
||||||
|
|
||||||
|
|
||||||
|
@@ -41,6 +41,8 @@ def test_default_server(app, named_servers):
|
|||||||
'started': TIMESTAMP,
|
'started': TIMESTAMP,
|
||||||
'last_activity': TIMESTAMP,
|
'last_activity': TIMESTAMP,
|
||||||
'url': user.url,
|
'url': user.url,
|
||||||
|
'pending': None,
|
||||||
|
'progress_url': 'PREFIX/hub/api/users/{}/server/progress'.format(username),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -96,6 +98,9 @@ def test_create_named_server(app, named_servers):
|
|||||||
'started': TIMESTAMP,
|
'started': TIMESTAMP,
|
||||||
'last_activity': TIMESTAMP,
|
'last_activity': TIMESTAMP,
|
||||||
'url': url_path_join(user.url, name, '/'),
|
'url': url_path_join(user.url, name, '/'),
|
||||||
|
'pending': None,
|
||||||
|
'progress_url': 'PREFIX/hub/api/users/{}/servers/{}/progress'.format(
|
||||||
|
username, servername),
|
||||||
}
|
}
|
||||||
for name in [servername]
|
for name in [servername]
|
||||||
},
|
},
|
||||||
@@ -124,13 +129,7 @@ def test_delete_named_server(app, named_servers):
|
|||||||
assert user_model == fill_user({
|
assert user_model == fill_user({
|
||||||
'name': username,
|
'name': username,
|
||||||
'auth_state': None,
|
'auth_state': None,
|
||||||
'servers': {
|
'servers': {},
|
||||||
name: {
|
|
||||||
'name': name,
|
|
||||||
'url': url_path_join(user.url, name, '/'),
|
|
||||||
}
|
|
||||||
for name in []
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|
||||||
@pytest.mark.gen_test
|
@pytest.mark.gen_test
|
||||||
|
Reference in New Issue
Block a user