Merge pull request #3109 from kxiao-fn/proper_named_server_deletion

fix for stopping named server deleting default server and tests
This commit is contained in:
Georgiana Elena
2020-07-07 15:41:43 +03:00
committed by GitHub
2 changed files with 26 additions and 1 deletions

View File

@@ -912,7 +912,7 @@ class BaseHandler(RequestHandler):
self.log.error(
"Stopping %s to avoid inconsistent state", user_server_name
)
await user.stop()
await user.stop(server_name)
PROXY_ADD_DURATION_SECONDS.labels(status='failure').observe(
time.perf_counter() - proxy_add_start_time
)

View File

@@ -368,3 +368,28 @@ async def test_user_redirect_hook_default_server_name(
assert redirected_url.path == url_path_join(
app.base_url, 'user', username, 'terminals/1'
)
async def test_named_server_stop_server(app, username, named_servers):
server_name = "myserver"
await app.login_user(username)
user = app.users[username]
r = await api_request(app, 'users', username, 'server', method='post')
assert r.status_code == 201
assert r.text == ''
assert user.spawners[''].server
with mock.patch.object(
app.proxy, 'add_user', side_effect=Exception('mock exception')
):
r = await api_request(
app, 'users', username, 'servers', server_name, method='post'
)
r.raise_for_status()
assert r.status_code == 201
assert r.text == ''
assert user.spawners[server_name].server is None
assert user.spawners[''].server
assert user.running