Commit graph

52 commits

Author SHA1 Message Date
Christian Stade-Schuldt
55b92efab4 More DRYing up the test suite (#2325) 2017-05-24 17:27:36 -07:00
Christian Stade-Schuldt
2158fe3e12 DRYing up the test suite using pytest fixtures (#2306)
* add fixtures to conftest.py

* use fixtures in test_appctx.py

* use fixtures in test_blueprints.py

* use fixtures in test_depreciations.py

* use fixtures in test_regressions.py

* use fixtures in test_reqctx.py

* use fixtures in test_templating.py

* use fixtures in test_user_error_handler.py

* use fixtures in test_views.py

* use fixtures in test_basics.py

* use fixtures in test_helpers.py

* use fixtures in test_testing.py

* update conftest.py

* make docstrings  PEP-257 compliant

* cleanup

* switch dictonary format

* use pytest parameterization for test_json_as_unicode
2017-05-23 15:18:39 -07:00
MikeTheReader
e81deed87a Replace double quotes with single quotes 2017-05-23 07:59:53 -07:00
MikeTheReader
87081acf0b Parameterize test_get_debug_flag 2017-05-23 07:51:57 -07:00
MikeTheReader
3e42e38485 Modifications based on review 2017-05-22 20:49:37 -07:00
MikeTheReader
2c38769336 Added tests for make_response and get_debug_flag to improve coverage of helpers.py 2017-05-22 16:15:48 -07:00
David Lord
9ada22dd94 safe_join on Windows uses posixpath
fixes #2033
closes #2059
2017-05-15 16:58:01 -07:00
David Lord
6bed207562 clean up blueprint json support
add changelog for #1898
2017-04-24 10:16:50 -07:00
David Lord
07ae566f22 Merge pull request #1898 from RaHus/per_blueprint_jsoncoding_#1710
Per blueprint jsoncoding #1710
2017-04-24 10:16:20 -07:00
David Lord
c6bb311175 get mtime in utc 2017-04-13 14:55:56 -07:00
David Lord
01e6088c41 need to test against raw header
parsing prefers the last value parsed for the option
2017-04-08 10:33:06 -07:00
David Lord
100863e4fd style cleanup
break out header parts in test
test for no filename* parameter for ascii header
2017-04-07 18:02:31 -07:00
Antonio Larrosa
5e8ac066e4 Fix previous commits to work with python 2 and python 3
Also, parse_options_header seems to interpret filename* so we better
test the actual value used in the headers (and since it's valid
in any order, use a set to compare)
2017-03-24 20:05:01 +01:00
Antonio Larrosa
0d07974a49 Fix send_file to work with non-ascii filenames
This commit implements https://tools.ietf.org/html/rfc2231#section-4 in
order to support sending unicode characters. Tested on both Firefox and
Chromium under Linux.

This adds unidecode as a dependency, which might be relaxed by using
.encode('latin-1', 'ignore') but wouldn't be as useful.

Also, added a test for the correct headers to be added.

Previously, using a filename parameter to send_file with unicode characters, it
failed with the next error since HTTP headers don't allow non latin-1 characters.
Error on request:
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/werkzeug/serving.py", line 193, in run_wsgi
    execute(self.server.app)
  File "/usr/lib/python3.6/site-packages/werkzeug/serving.py", line 186, in execute
    write(b'')
  File "/usr/lib/python3.6/site-packages/werkzeug/serving.py", line 152, in write
    self.send_header(key, value)
  File "/usr/lib64/python3.6/http/server.py", line 509, in send_header
    ("%s: %s\r\n" % (keyword, value)).encode('latin-1', 'strict'))
UnicodeEncodeError: 'latin-1' codec can't encode character '\uff0f' in position 58: ordinal not in range(256)

Fixes #1286
2017-03-23 17:30:48 +01:00
Hsiaoming Yang
9c5f048ad2 Don't rely on X-Requested-With for pretty print json response (#2193)
* Don't rely on X-Requested-With for pretty print json response

* Fix test cases for pretty print json patch

* Fix gramma error in docs for pretty print json config

* Add changelog for JSONIFY_PRETTYPRINT_REGULAR
2017-03-07 10:09:46 +09:00
Jiri Kuncar
cb001d3ad0 Ignore cache on request.get_json(cache=False) call (#2089)
* Test cache argument of Request.get_json

* Ignore cache on request.get_json(cache=False) call

Removes usage of `_cached_json` property when `get_json` is called with
disabled cache argument. (closes #2087)
2016-12-21 21:08:38 +01:00
Alex Kahan
279a925ab8 Parameterizing test (#2073) 2016-11-03 10:11:24 -07:00
Joël Charles
f2b945d586 make use of range requests if available in werkzeug (#2031)
* make use of range requests if available in werkzeug

* different logic for testing werkzeug functionality
2016-09-26 12:43:46 +02:00
Armin Ronacher
830632714c Do not error for unknown files if send_file sends an actual file 2016-09-10 03:33:53 +03:00
Roman
ae649aacaf Fix error in send_file helper (#2003)
* Fix error in send_file (mimetype_filename is not defined)

* fix formatting error message in send_file
2016-09-04 16:28:05 -07:00
Markus Unterwaditzer
a9757f8b1e Properly remove f.name usage in send_file (#1988)
* Properly remove f.name usage in send_file

* Update changelogs

* Fix tests
2016-08-26 03:08:03 +02:00
David Lord
1584022d0b clean up new json tests 2016-08-21 08:47:12 -07:00
Nathan Land
03104555cb Add tests for flask.json.dump() and test that jsonify correctly converts uuids. 2016-08-21 07:48:05 -07:00
RamiC
ba6e6a61cc Check for a request ctx before using the request.
Use the app json coder when blueprint json coder is set to none.
Revert the failling test to using an app_context
re #1710
2016-06-08 12:58:56 +03:00
RamiC
6c37f40c34 Allow per blueprint json encoder decoder
re #1710
2016-06-08 12:03:26 +03:00
David Lord
2560444f47 pass value directly to last_modified 2016-06-05 12:42:34 -07:00
Prachi Shirish Khadke
cd408cc462 Add last_modified arg for send_file
Enhancement: Add last_modified arg of type DateTime to send_file.

Fixes pallets/flask#1321
2016-06-05 10:59:17 -07:00
Giampaolo Eusebi
74dafdf63b Add tests for safe_join 2016-06-04 11:26:44 +02:00
Dan Sully
51c2069872 Remove deprecation warnings for add_etags & mimetype guessing for send_file()
Fix #1849
2016-06-03 14:52:33 +02:00
Markus Unterwaditzer
0265d02b19 Eliminate some resource warnings 2016-06-03 14:29:27 +02:00
Markus Unterwaditzer
25a5d96bbd More explicit warning categories 2016-06-03 14:04:25 +02:00
Markus Unterwaditzer
d6ffc570d2 Use recwarn everywhere
...instead of custom fixture. Also assert that no warnings are left over
after the test.
2016-06-03 13:59:47 +02:00
David Lord
8c126668a5 Revert "Adds simplejson as a testing target." (#1865) 2016-06-02 14:54:49 -07:00
James Farrington
2739bbfa03 Fixed #1846 2016-06-02 11:58:02 -07:00
Armin Ronacher
d8437ce215 Resolve state issue for url_for with forced scheme
This fixes #1596
2016-05-22 10:45:29 +02:00
David Hou
39534d07d1 Raise BadRequest if static file name is invalid
* Raise BadRequest if static file name is invalid

* Clean up syntax a bit

* Remove unnecessary close()
2016-04-02 21:07:27 +02:00
Shipeng Feng
5e9842dadb Fixed stream_with_context if decorated function has parameters 2016-04-01 16:17:45 -07:00
Jeff Widman
4da4fadfc6 Add support for serializing top-level arrays to JSON
Fix #170, #248, #510, #673, #1177
2016-01-13 13:20:11 -08:00
Keyan Pishdadian
b032c2851e Changed error message to include actual exception contents 2015-03-05 13:04:38 -05:00
Keyan Pishdadian
80f6344770 Change strings to bytes to support Python3, typo in function name 2015-03-04 15:14:43 -05:00
Keyan Pishdadian
f878cddb23 Change tests to support older response format 2015-03-04 14:48:08 -05:00
Keyan Pishdadian
225c59ca8e Add tests for adding exception to response contents only when DEBUG is True 2015-03-04 14:40:16 -05:00
Ben Jones
db619cc609 Add datetime.date support to JSONEncoder 2015-01-23 07:44:17 -06:00
Parkayun
e05771ff60 Happy New Year 2015 2015-01-02 11:35:00 +09:00
Markus Unterwaditzer
0b992484dd Testsuite is not a package 2014-09-11 22:09:52 +02:00
Markus Unterwaditzer
19f6a8af4c Rename fixture apps_tmpdir 2014-09-11 22:09:52 +02:00
Markus Unterwaditzer
5e8c3488df Remove more test_apps 2014-09-11 22:09:52 +02:00
Markus Unterwaditzer
1d0b83690e Remove flask superclass 2014-09-11 22:09:51 +02:00
Markus Unterwaditzer
304913a878 Remove useless classes 2014-09-11 22:09:51 +02:00
Markus Unterwaditzer
879becff31 Rewrite assertion methods 2014-09-11 22:09:51 +02:00