|
7 | 7 | from flask_loopback._compat import gzip_compress |
8 | 8 | from urlobject import URLObject as URL |
9 | 9 |
|
| 10 | +_COOKIE_NAME = "__SOME_COOKIE_NAME__" |
| 11 | +_COOKIE_VALUE = "__SOME_COOKIE_VALUE__" |
| 12 | + |
10 | 13 |
|
11 | 14 | @pytest.fixture |
12 | | -def active_app(request, app, ssl_port, non_ssl_port, hostname): |
| 15 | +def active_app( |
| 16 | + request, app, ssl_port, non_ssl_port, hostname |
| 17 | +): # pylint: disable=redefined-outer-name |
13 | 18 | app.activate_address((hostname, ssl_port), ssl=True) |
14 | 19 | app.activate_address((hostname, non_ssl_port), ssl=False) |
| 20 | + |
15 | 21 | @request.addfinalizer |
16 | | - def cleanup(): |
| 22 | + def cleanup(): # pylint: disable=unused-variable |
17 | 23 | app.deactivate_address((hostname, ssl_port)) |
18 | 24 | app.deactivate_address((hostname, non_ssl_port)) |
19 | 25 |
|
| 26 | + |
20 | 27 | @pytest.fixture |
21 | 28 | def app(): |
22 | 29 | returned = Flask(__name__) |
23 | 30 |
|
24 | 31 | @returned.route("/echo", methods=["post"]) |
25 | | - def echo(): # pylint: disable=unused-variable |
26 | | - return jsonify({ |
27 | | - "result": True, |
28 | | - }) |
| 32 | + def echo(): # pylint: disable=unused-variable |
| 33 | + return jsonify({"result": True}) |
29 | 34 |
|
30 | | - @returned.route('/request_vars') |
31 | | - def get_request_vars(): # pylint: disable=unused-variable |
32 | | - return jsonify(dict( |
33 | | - (name, getattr(request, name)) |
34 | | - for name in ['host'])) |
| 35 | + @returned.route("/request_vars") |
| 36 | + def get_request_vars(): # pylint: disable=unused-variable |
| 37 | + return jsonify(dict((name, getattr(request, name)) for name in ["host"])) |
35 | 38 |
|
36 | | - |
37 | | - @returned.route('/set_cookie') |
38 | | - def set_cookie(): # pylint: disable=unused-variable |
| 39 | + @returned.route("/set_cookie") |
| 40 | + def set_cookie(): # pylint: disable=unused-variable |
39 | 41 | returned = jsonify({}) |
40 | | - returned.set_cookie('x', value='y') |
| 42 | + returned.set_cookie(_COOKIE_NAME, value=_COOKIE_VALUE) |
41 | 43 | return returned |
42 | 44 |
|
43 | | - @returned.route('/assert_no_cookies') |
44 | | - def assert_no_cookies(): # pylint: disable=unused-variable |
| 45 | + @returned.route("/assert_no_cookies") |
| 46 | + def assert_no_cookies(): # pylint: disable=unused-variable |
45 | 47 | assert not request.cookies |
46 | 48 | return jsonify({"result": "ok"}) |
47 | 49 |
|
| 50 | + @returned.route("/assert_cookies") |
| 51 | + def assert_cookies(): # pylint: disable=unused-variable |
| 52 | + assert request.cookies[_COOKIE_NAME] == _COOKIE_VALUE |
| 53 | + return jsonify({}) |
48 | 54 |
|
49 | | - @returned.route('/set_cookie_on_after_request') |
50 | | - def set_cookie_on_after_request(): # pylint: disable=unused-variable |
51 | | - g.cookies.append(('x', 'y')) |
| 55 | + @returned.route("/set_cookie_on_after_request") |
| 56 | + def set_cookie_on_after_request(): # pylint: disable=unused-variable |
| 57 | + g.cookies.append((_COOKIE_NAME, _COOKIE_VALUE)) |
52 | 58 | return jsonify({}) |
53 | 59 |
|
54 | | - @returned.route('/stream_upload', methods=['POST']) |
55 | | - def stream_upload(): # pylint: disable=unused-variable |
| 60 | + @returned.route("/stream_upload", methods=["POST"]) |
| 61 | + def stream_upload(): # pylint: disable=unused-variable |
56 | 62 | return hashlib.sha512(request.stream.read()).hexdigest() |
57 | 63 |
|
58 | | - @returned.route('/compressed') |
59 | | - def compressed(): # pylint: disable=unused-variable |
60 | | - orig = 'uncompressed!'.encode('utf-8') |
61 | | - return Response(gzip_compress(orig), headers={'Content-Encoding': 'gzip'}) |
62 | | - |
| 64 | + @returned.route("/compressed") |
| 65 | + def compressed(): # pylint: disable=unused-variable |
| 66 | + orig = "uncompressed!".encode("utf-8") |
| 67 | + return Response(gzip_compress(orig), headers={"Content-Encoding": "gzip"}) |
63 | 68 |
|
64 | 69 | @returned.before_request |
65 | | - def before(): |
| 70 | + def before(): # pylint: disable=unused-variable |
66 | 71 | g.cookies = [] |
67 | 72 |
|
68 | 73 | @returned.after_request |
69 | | - def after_request(response): |
70 | | - cookies = getattr(g, 'cookies', []) |
| 74 | + def after_request(response): # pylint: disable=unused-variable |
| 75 | + cookies = getattr(g, "cookies", []) |
71 | 76 | while cookies: |
72 | 77 | response.set_cookie(*cookies.pop()) |
73 | 78 |
|
74 | 79 | return response |
75 | 80 |
|
76 | | - |
77 | 81 | return FlaskLoopback(returned) |
78 | 82 |
|
| 83 | + |
79 | 84 | @pytest.fixture |
80 | 85 | def ssl_port(): |
81 | 86 | return 10443 |
82 | 87 |
|
| 88 | + |
83 | 89 | @pytest.fixture |
84 | 90 | def non_ssl_port(): |
85 | 91 | return 10080 |
86 | 92 |
|
| 93 | + |
87 | 94 | @pytest.fixture |
88 | 95 | def hostname(): |
89 | 96 | return "some-nonexistant-hostname.localdomain" |
90 | 97 |
|
| 98 | + |
91 | 99 | @pytest.fixture(params=[True, False]) |
92 | | -def url(request, hostname, ssl_port, non_ssl_port): |
| 100 | +def url( |
| 101 | + request, hostname, ssl_port, non_ssl_port |
| 102 | +): # pylint: disable=redefined-outer-name |
93 | 103 | with_ssl = request.param |
94 | 104 |
|
95 | | - return URL('http{0}://{1}:{2}'.format('s' if with_ssl else '', hostname, ssl_port if with_ssl else non_ssl_port)) |
| 105 | + return URL( |
| 106 | + "http{0}://{1}:{2}".format( |
| 107 | + "s" if with_ssl else "", hostname, ssl_port if with_ssl else non_ssl_port |
| 108 | + ) |
| 109 | + ) |
| 110 | + |
| 111 | + |
| 112 | +@pytest.fixture |
| 113 | +def cookie_name(): |
| 114 | + return _COOKIE_NAME |
| 115 | + |
| 116 | + |
| 117 | +@pytest.fixture |
| 118 | +def cookie_value(): |
| 119 | + return _COOKIE_VALUE |
0 commit comments