Bundling 'test_greenlet_context_copying' functions into a new class in tests/test_reqctx.py.
This commit is contained in:
parent
5b0b9717da
commit
2eb28165a9
1 changed files with 43 additions and 43 deletions
|
|
@ -149,58 +149,58 @@ def test_manual_context_binding(app):
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(greenlet is None, reason='greenlet not installed')
|
@pytest.mark.skipif(greenlet is None, reason='greenlet not installed')
|
||||||
def test_greenlet_context_copying(app, client):
|
class GreenletContextCopying():
|
||||||
greenlets = []
|
|
||||||
|
|
||||||
@app.route('/')
|
def test_greenlet_context_copying(app, client):
|
||||||
def index():
|
greenlets = []
|
||||||
reqctx = flask._request_ctx_stack.top.copy()
|
|
||||||
|
|
||||||
def g():
|
@app.route('/')
|
||||||
assert not flask.request
|
def index():
|
||||||
assert not flask.current_app
|
reqctx = flask._request_ctx_stack.top.copy()
|
||||||
with reqctx:
|
|
||||||
|
def g():
|
||||||
|
assert not flask.request
|
||||||
|
assert not flask.current_app
|
||||||
|
with reqctx:
|
||||||
|
assert flask.request
|
||||||
|
assert flask.current_app == app
|
||||||
|
assert flask.request.path == '/'
|
||||||
|
assert flask.request.args['foo'] == 'bar'
|
||||||
|
assert not flask.request
|
||||||
|
return 42
|
||||||
|
|
||||||
|
greenlets.append(greenlet(g))
|
||||||
|
return 'Hello World!'
|
||||||
|
|
||||||
|
rv = client.get('/?foo=bar')
|
||||||
|
assert rv.data == b'Hello World!'
|
||||||
|
|
||||||
|
result = greenlets[0].run()
|
||||||
|
assert result == 42
|
||||||
|
|
||||||
|
def test_greenlet_context_copying_api(app, client):
|
||||||
|
greenlets = []
|
||||||
|
|
||||||
|
@app.route('/')
|
||||||
|
def index():
|
||||||
|
reqctx = flask._request_ctx_stack.top.copy()
|
||||||
|
|
||||||
|
@flask.copy_current_request_context
|
||||||
|
def g():
|
||||||
assert flask.request
|
assert flask.request
|
||||||
assert flask.current_app == app
|
assert flask.current_app == app
|
||||||
assert flask.request.path == '/'
|
assert flask.request.path == '/'
|
||||||
assert flask.request.args['foo'] == 'bar'
|
assert flask.request.args['foo'] == 'bar'
|
||||||
assert not flask.request
|
return 42
|
||||||
return 42
|
|
||||||
|
|
||||||
greenlets.append(greenlet(g))
|
greenlets.append(greenlet(g))
|
||||||
return 'Hello World!'
|
return 'Hello World!'
|
||||||
|
|
||||||
rv = client.get('/?foo=bar')
|
rv = client.get('/?foo=bar')
|
||||||
assert rv.data == b'Hello World!'
|
assert rv.data == b'Hello World!'
|
||||||
|
|
||||||
result = greenlets[0].run()
|
result = greenlets[0].run()
|
||||||
assert result == 42
|
assert result == 42
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(greenlet is None, reason='greenlet not installed')
|
|
||||||
def test_greenlet_context_copying_api(app, client):
|
|
||||||
greenlets = []
|
|
||||||
|
|
||||||
@app.route('/')
|
|
||||||
def index():
|
|
||||||
reqctx = flask._request_ctx_stack.top.copy()
|
|
||||||
|
|
||||||
@flask.copy_current_request_context
|
|
||||||
def g():
|
|
||||||
assert flask.request
|
|
||||||
assert flask.current_app == app
|
|
||||||
assert flask.request.path == '/'
|
|
||||||
assert flask.request.args['foo'] == 'bar'
|
|
||||||
return 42
|
|
||||||
|
|
||||||
greenlets.append(greenlet(g))
|
|
||||||
return 'Hello World!'
|
|
||||||
|
|
||||||
rv = client.get('/?foo=bar')
|
|
||||||
assert rv.data == b'Hello World!'
|
|
||||||
|
|
||||||
result = greenlets[0].run()
|
|
||||||
assert result == 42
|
|
||||||
|
|
||||||
|
|
||||||
def test_session_error_pops_context():
|
def test_session_error_pops_context():
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue