handle progress_url in user model tests

This commit is contained in:
Min RK
2018-04-05 11:43:39 +02:00
parent 31d3f7a20b
commit 97cdb1a5d8
3 changed files with 17 additions and 10 deletions

View File

@@ -103,7 +103,7 @@ class APIHandler(BaseHandler):
'name': spawner.name,
'last_activity': isoformat(spawner.orm_spawner.last_activity),
'started': isoformat(spawner.orm_spawner.started),
'pending': spawner.pending,
'pending': spawner.pending or None,
'url': url_path_join(spawner.user.url, spawner.name, '/'),
'progress_url': spawner._progress_url,
}
@@ -119,7 +119,7 @@ class APIHandler(BaseHandler):
'admin': user.admin,
'groups': [ g.name for g in user.groups ],
'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,
'created': isoformat(user.created),
'started': None,
@@ -128,7 +128,7 @@ class APIHandler(BaseHandler):
if '' in user.spawners:
server_model = self.server_model(user.spawners[''])
# 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]
if self.allow_named_servers:

View File

@@ -201,10 +201,17 @@ def normalize_user(user):
"""
for key in ('created', 'last_activity', 'started'):
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:
for server in user['servers'].values():
for key in ('started', 'last_activity'):
server[key] = normalize_timestamp(server[key])
server['progress_url'] = re.sub(r'.*/hub/api', 'PREFIX/hub/api', server['progress_url'])
return user
def fill_user(model):
@@ -221,6 +228,7 @@ def fill_user(model):
model.setdefault('created', TIMESTAMP)
model.setdefault('last_activity', TIMESTAMP)
model.setdefault('started', None)
model.setdefault('progress_url', 'PREFIX/hub/api/users/{name}/server/progress'.format(**model))
return model

View File

@@ -41,6 +41,8 @@ def test_default_server(app, named_servers):
'started': TIMESTAMP,
'last_activity': TIMESTAMP,
'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,
'last_activity': TIMESTAMP,
'url': url_path_join(user.url, name, '/'),
'pending': None,
'progress_url': 'PREFIX/hub/api/users/{}/servers/{}/progress'.format(
username, servername),
}
for name in [servername]
},
@@ -124,13 +129,7 @@ def test_delete_named_server(app, named_servers):
assert user_model == fill_user({
'name': username,
'auth_state': None,
'servers': {
name: {
'name': name,
'url': url_path_join(user.url, name, '/'),
}
for name in []
},
'servers': {},
})
@pytest.mark.gen_test