From 2eb28165a9f5610aba2dea24086a53ad89dc66ce Mon Sep 17 00:00:00 2001 From: "Rene A. Zelaya" Date: Tue, 23 May 2017 16:13:19 -0700 Subject: [PATCH] Bundling 'test_greenlet_context_copying' functions into a new class in tests/test_reqctx.py. --- tests/test_reqctx.py | 86 ++++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/tests/test_reqctx.py b/tests/test_reqctx.py index ef7189a3..5e1a1a02 100644 --- a/tests/test_reqctx.py +++ b/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 GreenletContextCopying(): - @app.route('/') - def index(): - reqctx = flask._request_ctx_stack.top.copy() + def test_greenlet_context_copying(app, client): + greenlets = [] - def g(): - assert not flask.request - assert not flask.current_app - with reqctx: + @app.route('/') + def index(): + reqctx = flask._request_ctx_stack.top.copy() + + 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.current_app == app assert flask.request.path == '/' assert flask.request.args['foo'] == 'bar' - assert not flask.request - return 42 + 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 - - -@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 + result = greenlets[0].run() + assert result == 42 def test_session_error_pops_context():