Browse Source

Merge pull request #2324 from rzelayafavila/2313-refactor-gevent-tests-into-class

Fix for Issue 2313 - refactoring gevent tests into class
pull/1365/merge
David Lord 7 years ago committed by GitHub
parent
commit
c62b614d9c
  1. 80
      tests/test_reqctx.py

80
tests/test_reqctx.py

@ -149,58 +149,58 @@ def test_manual_context_binding(app):
@pytest.mark.skipif(greenlet is None, reason='greenlet not installed')
def test_greenlet_context_copying(app, client):
greenlets = []
class TestGreenletContextCopying(object):
@app.route('/')
def index():
reqctx = flask._request_ctx_stack.top.copy()
def test_greenlet_context_copying(self, app, client):
greenlets = []
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
@app.route('/')
def index():
reqctx = flask._request_ctx_stack.top.copy()
greenlets.append(greenlet(g))
return 'Hello World!'
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
rv = client.get('/?foo=bar')
assert rv.data == b'Hello World!'
greenlets.append(greenlet(g))
return 'Hello World!'
result = greenlets[0].run()
assert result == 42
rv = client.get('/?foo=bar')
assert rv.data == b'Hello World!'
result = greenlets[0].run()
assert result == 42
@pytest.mark.skipif(greenlet is None, reason='greenlet not installed')
def test_greenlet_context_copying_api(app, client):
greenlets = []
def test_greenlet_context_copying_api(self, app, client):
greenlets = []
@app.route('/')
def index():
reqctx = flask._request_ctx_stack.top.copy()
@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
@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!'
greenlets.append(greenlet(g))
return 'Hello World!'
rv = client.get('/?foo=bar')
assert rv.data == b'Hello World!'
rv = client.get('/?foo=bar')
assert rv.data == b'Hello World!'
result = greenlets[0].run()
assert result == 42
result = greenlets[0].run()
assert result == 42
def test_session_error_pops_context():

Loading…
Cancel
Save