From 2eb28165a9f5610aba2dea24086a53ad89dc66ce Mon Sep 17 00:00:00 2001 From: "Rene A. Zelaya" Date: Tue, 23 May 2017 16:13:19 -0700 Subject: [PATCH 1/2] Bundling 'test_greenlet_context_copying' functions into a new class in tests/test_reqctx.py. --- tests/test_reqctx.py | 80 ++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 40 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: - 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(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(): From d29dbe14cfc6737378ef01868b89ee154a777a48 Mon Sep 17 00:00:00 2001 From: "Rene A. Zelaya" Date: Tue, 23 May 2017 16:51:50 -0700 Subject: [PATCH 2/2] Correcting name of GreenletContextCopying test class (to start with 'Test'), making it extend object, and also having the test methods in it include 'self' as first argument. --- tests/test_reqctx.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_reqctx.py b/tests/test_reqctx.py index 5e1a1a02..87e9a0fb 100644 --- a/tests/test_reqctx.py +++ b/tests/test_reqctx.py @@ -149,9 +149,9 @@ def test_manual_context_binding(app): @pytest.mark.skipif(greenlet is None, reason='greenlet not installed') -class GreenletContextCopying(): +class TestGreenletContextCopying(object): - def test_greenlet_context_copying(app, client): + def test_greenlet_context_copying(self, app, client): greenlets = [] @app.route('/') @@ -178,7 +178,7 @@ class GreenletContextCopying(): result = greenlets[0].run() assert result == 42 - def test_greenlet_context_copying_api(app, client): + def test_greenlet_context_copying_api(self, app, client): greenlets = [] @app.route('/')