mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-10 11:33:01 +00:00
more mocking in tests
avoids no_patience state leaking into other tests
This commit is contained in:
@@ -104,3 +104,12 @@ def mockservice(request, app):
|
|||||||
@yield_fixture
|
@yield_fixture
|
||||||
def mockservice_url(request, app):
|
def mockservice_url(request, app):
|
||||||
yield _mockservice(request, app, url=True)
|
yield _mockservice(request, app, url=True)
|
||||||
|
|
||||||
|
@yield_fixture
|
||||||
|
def no_patience(app):
|
||||||
|
"""Set slow-spawning timeouts to zero"""
|
||||||
|
with mock.patch.dict(app.tornado_application.settings,
|
||||||
|
{'slow_spawn_timeout': 0,
|
||||||
|
'slow_stop_timeout': 0}):
|
||||||
|
yield
|
||||||
|
|
||||||
|
@@ -4,9 +4,10 @@ import json
|
|||||||
import time
|
import time
|
||||||
from queue import Queue
|
from queue import Queue
|
||||||
import sys
|
import sys
|
||||||
|
from unittest import mock
|
||||||
from urllib.parse import urlparse, quote
|
from urllib.parse import urlparse, quote
|
||||||
|
|
||||||
from pytest import mark
|
from pytest import mark, yield_fixture
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from tornado import gen
|
from tornado import gen
|
||||||
@@ -409,17 +410,14 @@ def test_spawn(app, io_loop):
|
|||||||
assert tokens == []
|
assert tokens == []
|
||||||
|
|
||||||
|
|
||||||
def test_slow_spawn(app, io_loop):
|
def test_slow_spawn(app, io_loop, no_patience, request):
|
||||||
# app.tornado_application.settings['spawner_class'] = mocking.SlowSpawner
|
patch = mock.patch.dict(app.tornado_settings, {'spawner_class': mocking.SlowSpawner})
|
||||||
app.tornado_settings['spawner_class'] = mocking.SlowSpawner
|
patch.start()
|
||||||
app.tornado_application.settings['slow_spawn_timeout'] = 0
|
request.addfinalizer(patch.stop)
|
||||||
app.tornado_application.settings['slow_stop_timeout'] = 0
|
|
||||||
|
|
||||||
db = app.db
|
db = app.db
|
||||||
name = 'zoe'
|
name = 'zoe'
|
||||||
user = add_user(db, app=app, name=name)
|
user = add_user(db, app=app, name=name)
|
||||||
r = api_request(app, 'users', name, 'server', method='post')
|
r = api_request(app, 'users', name, 'server', method='post')
|
||||||
app.tornado_settings['spawner_class'] = mocking.MockSpawner
|
|
||||||
r.raise_for_status()
|
r.raise_for_status()
|
||||||
assert r.status_code == 202
|
assert r.status_code == 202
|
||||||
app_user = get_app_user(app, name)
|
app_user = get_app_user(app, name)
|
||||||
@@ -461,15 +459,15 @@ def test_slow_spawn(app, io_loop):
|
|||||||
assert r.status_code == 400
|
assert r.status_code == 400
|
||||||
|
|
||||||
|
|
||||||
def test_never_spawn(app, io_loop):
|
def test_never_spawn(app, io_loop, no_patience, request):
|
||||||
app.tornado_settings['spawner_class'] = mocking.NeverSpawner
|
patch = mock.patch.dict(app.tornado_settings, {'spawner_class': mocking.NeverSpawner})
|
||||||
app.tornado_application.settings['slow_spawn_timeout'] = 0
|
patch.start()
|
||||||
|
request.addfinalizer(patch.stop)
|
||||||
|
|
||||||
db = app.db
|
db = app.db
|
||||||
name = 'badger'
|
name = 'badger'
|
||||||
user = add_user(db, app=app, name=name)
|
user = add_user(db, app=app, name=name)
|
||||||
r = api_request(app, 'users', name, 'server', method='post')
|
r = api_request(app, 'users', name, 'server', method='post')
|
||||||
app.tornado_settings['spawner_class'] = mocking.MockSpawner
|
|
||||||
app_user = get_app_user(app, name)
|
app_user = get_app_user(app, name)
|
||||||
assert app_user.spawner is not None
|
assert app_user.spawner is not None
|
||||||
assert app_user.spawn_pending
|
assert app_user.spawn_pending
|
||||||
|
Reference in New Issue
Block a user