diff --git a/jupyterhub/tests/conftest.py b/jupyterhub/tests/conftest.py index d22e278a..b214ac3d 100644 --- a/jupyterhub/tests/conftest.py +++ b/jupyterhub/tests/conftest.py @@ -68,9 +68,12 @@ def app(request): class MockServiceSpawner(jupyterhub.services.service._ServiceSpawner): poll_interval = 1 +_mock_service_counter = 0 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 = { 'name': name, 'command': mockservice_cmd, @@ -86,7 +89,11 @@ def _mockservice(request, app, url=False): assert name in app._service_map service = app._service_map[name] 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): if not getattr(service, 'proc', False): time.sleep(0.2) diff --git a/jupyterhub/tests/test_api.py b/jupyterhub/tests/test_api.py index f1e715f0..512f81d6 100644 --- a/jupyterhub/tests/test_api.py +++ b/jupyterhub/tests/test_api.py @@ -732,8 +732,8 @@ def test_get_services(app, mockservice_url): services = r.json() assert services == { - 'mock-service': { - 'name': 'mock-service', + mockservice.name: { + 'name': mockservice.name, 'admin': True, 'command': mockservice.command, 'pid': mockservice.proc.pid, @@ -758,7 +758,7 @@ def test_get_service(app, mockservice_url): service = r.json() assert service == { - 'name': 'mock-service', + 'name': mockservice.name, 'admin': True, 'command': mockservice.command, 'pid': mockservice.proc.pid,