Commit graph

61 commits

Author SHA1 Message Date
David Lord
9acb1d2412 simplify logging configuration
single default handler and formatter
don't remove handlers
configure level once using setLevel
document logging
reorganize logging tests
2017-07-31 12:49:03 -07:00
Eugene M. Kim
015440ded5 Actually hand-spin and use a tzinfo subclass
This is for Python 2.x compatibility.

Suggested-by: David Lord <davidism@gmail.com>
2017-06-14 14:23:13 -07:00
Eugene M. Kim
fee894e9e8 Re-revert to not using pytz
Will spin a tzinfo subclass.
2017-06-14 14:14:18 -07:00
Eugene M. Kim
e8113c4b77 Skip aware datetime tests if pytz is unavailable 2017-06-14 14:08:42 -07:00
Eugene M. Kim
ed5ff89800 Use pytz again for tests
This is because datetime.timezone is Python 3 only.  The only
alternative would be to hand-spin a datetime.tzinfo subclass, an
overkill.

This reverts commit 0e6cab3576.
2017-06-14 13:57:40 -07:00
Eugene M. Kim
45bfd49231 Rewrite test_jsonify_aware_datetimes without pytz 2017-06-14 13:06:26 -07:00
Eugene M. Kim
8b3fb19a0a Add UTs for #2372
test_encode_aware_datetime() fails for non-UTC timezones due to the bug.
2017-06-14 12:22:09 -07:00
David Lord
f542c5f599 failing test for streaming session 2017-06-02 11:07:53 -07:00
David Lord
1fbe779fd2 make debugging bad key errors easier
* TRAP_BAD_REQUEST_ERRORS is enabled by default in debug mode
* BadRequestKeyError has the key in the description in debug mode

closes #382
2017-05-29 19:08:25 -07:00
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