mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-10 11:33:01 +00:00
cleanup more after mockservices
This commit is contained in:
@@ -68,9 +68,12 @@ def app(request):
|
|||||||
class MockServiceSpawner(jupyterhub.services.service._ServiceSpawner):
|
class MockServiceSpawner(jupyterhub.services.service._ServiceSpawner):
|
||||||
poll_interval = 1
|
poll_interval = 1
|
||||||
|
|
||||||
|
_mock_service_counter = 0
|
||||||
|
|
||||||
def _mockservice(request, app, url=False):
|
def _mockservice(request, app, url=False):
|
||||||
name = 'mock-service'
|
global _mock_service_counter
|
||||||
|
_mock_service_counter += 1
|
||||||
|
name = 'mock-service-%i' % _mock_service_counter
|
||||||
spec = {
|
spec = {
|
||||||
'name': name,
|
'name': name,
|
||||||
'command': mockservice_cmd,
|
'command': mockservice_cmd,
|
||||||
@@ -86,7 +89,11 @@ def _mockservice(request, app, url=False):
|
|||||||
assert name in app._service_map
|
assert name in app._service_map
|
||||||
service = app._service_map[name]
|
service = app._service_map[name]
|
||||||
app.io_loop.add_callback(service.start)
|
app.io_loop.add_callback(service.start)
|
||||||
request.addfinalizer(service.stop)
|
def cleanup():
|
||||||
|
service.stop()
|
||||||
|
app.services[:] = []
|
||||||
|
app._service_map.clear()
|
||||||
|
request.addfinalizer(cleanup)
|
||||||
for i in range(20):
|
for i in range(20):
|
||||||
if not getattr(service, 'proc', False):
|
if not getattr(service, 'proc', False):
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
|
@@ -732,8 +732,8 @@ def test_get_services(app, mockservice_url):
|
|||||||
|
|
||||||
services = r.json()
|
services = r.json()
|
||||||
assert services == {
|
assert services == {
|
||||||
'mock-service': {
|
mockservice.name: {
|
||||||
'name': 'mock-service',
|
'name': mockservice.name,
|
||||||
'admin': True,
|
'admin': True,
|
||||||
'command': mockservice.command,
|
'command': mockservice.command,
|
||||||
'pid': mockservice.proc.pid,
|
'pid': mockservice.proc.pid,
|
||||||
@@ -758,7 +758,7 @@ def test_get_service(app, mockservice_url):
|
|||||||
|
|
||||||
service = r.json()
|
service = r.json()
|
||||||
assert service == {
|
assert service == {
|
||||||
'name': 'mock-service',
|
'name': mockservice.name,
|
||||||
'admin': True,
|
'admin': True,
|
||||||
'command': mockservice.command,
|
'command': mockservice.command,
|
||||||
'pid': mockservice.proc.pid,
|
'pid': mockservice.proc.pid,
|
||||||
|
Reference in New Issue
Block a user