Adam Hopkins
3685b4de85
Lifespan and code cleanup
2019-06-04 10:58:00 +03:00
Adam Hopkins
7b8e3624b8
Prepare initial websocket support
2019-05-22 01:42:19 +03:00
Adam Hopkins
ccd4c9615c
Create requests-async based TestClient, remove aiohttp dependency, drop Python 3.5
...
Update all tests to be compatible with requests-async
Cleanup testing client changes with black and isort
Remove Python 3.5 and other meta doc cleanup
rename pyproject and fix pep517 error
Add black config to tox.ini
Cleanup tests and remove aiohttp
tox.ini change for easier development commands
Remove aiohttp from changelog and requirements
Cleanup imports and Makefile
2019-04-30 15:26:06 +03:00
andreymal
5c9ba189bc
Add options to control the behavior of Request.remote_addr ( #1539 )
...
* Add options to control the behavior of Request.remote_addr
* Update tests for Request.remote_addr
* Update documentation for Request.remote_addr
2019-04-16 08:30:28 -05:00
Serge Fedoruk
2a15583b87
add Request.not_grouped_args, deprecation warning Request.raw_args ( #1476 )
...
* add Request.not_grouped_args, deprecation warning Request.raw_args
* add 1 more test for coverage
* custom parser for Request.args and Request.query_args, some additional tests
* add docs for custom queryset parsing
* fix import sorting
* docstrings for get_query_args and get_args methods
* lost import
2019-03-14 09:04:05 -05:00
Harsha Narayana
34fe26e51b
Add Route Resolution Benchmarking to Unit Test ( #1499 )
...
* feat: add benchmark tester for route resolution and cleanup test warnings
Signed-off-by: Harsha Narayana <harsha2k4@gmail.com>
* feat: refactor sanic benchmark test util into fixtures
Signed-off-by: Harsha Narayana <harsha2k4@gmail.com>
2019-02-28 08:56:41 -06:00
PWZER
8a59907319
Recognizes non-ASCII filenames in RFC 2231, and suport filename length is zero for multipart/form-data. ( #1497 )
...
* suport filename length is 0
* 1. suport filename length is zero for multipart/form-data.
2. Now recognizes non-ASCII filenames in RFC 2231, "filename*" format
3. Add some test cases in tests/test_requests.py::test_request_multipart_files.
* reformat sanic/request.py
2019-02-28 08:55:32 -06:00
章昕
af7ad0a621
Remove unwanted None check for __repr__ in class
2019-01-17 00:24:11 +08:00
Adam Hopkins
4d527035ae
Add dotted endpoint notation and additional tests
2018-12-31 13:40:07 +02:00
Adam Hopkins
05dd3b2e9d
Run linter
2018-12-30 13:18:06 +02:00
Jacob
4efd450b32
Add tests ( #1433 )
...
* Add tests for remove_route()
* Add tests for sanic/router.py
* Add tests for sanic/cookies.py
* Disable reset logging in test_logging.py
* Add tests for sanic/request.py
* Add tests for ContentRangeHandler
* Add tests for exception at response middleware
* Fix cached_handlers for ErrorHandler.lookup()
* Add test for websocket request timeout
* Add tests for getting cookies of StreamResponse, Remove some unused variables in tests/test_cookies.py
* Add tests for nested error handle
2018-12-22 09:21:45 -06:00
Jacob
33297f48a5
Add tests ( #1430 )
2018-12-13 11:50:50 -06:00
Harsha Narayana
ece3cdaa2e
add unit tests for App Config, Cokkies and Request handler
...
Signed-off-by: Harsha Narayana <harsha2k4@gmail.com>
2018-11-10 16:50:30 +05:30
Hasan Ramezani
485ff32e42
Fix all test files lint errors.
2018-10-23 11:04:17 +02:00
dmitry.dygalo
fec81ffe73
Reuse app fixture in tests
2018-08-26 16:43:14 +02:00
Yun Xu
d42cb7ddb3
fix hang build
2018-03-15 21:28:52 -07:00
Arnulfo Solis
68fd1b66b5
Response model now handles the 204 no content
2018-02-01 17:51:51 +01:00
Arnulfo Solis
2135294e2e
changed None to return empty string instead of null string
2018-02-01 11:52:55 +01:00
Jeong YunWon
a8827a5d95
Boost test speed by pytest-xdist
2018-01-03 18:52:25 +09:00
Raphael Deem
63bbcb5152
Merge branch 'master' into 977
2017-10-25 22:18:25 -07:00
Raphael Deem
c2191153cf
remove port from ip
2017-10-23 21:37:59 -07:00
Raphael Deem
75f2180cb1
add handler name to request as endpoint
2017-10-16 22:43:40 -07:00
Yun Xu
75378d3567
add remote_addr property for proxy fix
2017-07-14 09:29:16 -07:00
Yun Xu
3d75e6ed95
case-insensitive check for header fields
2017-07-10 12:29:47 -07:00
François KUBLER
1f24abc3d2
Fixed support for "Bearer" and "Token" auth-schemes.
...
Removed the test for "Authentication: Bearer Token <TOKEN>" which was not supposed to exist (see https://github.com/channelcat/sanic/pull/821 )
Also added a call to `split` when retrieving the token value to handle cases where there are leading or trailing spaces.
2017-06-29 10:23:49 +02:00
François KUBLER
55f860da2f
Added support for 'Authorization: Bearer <TOKEN>' header in Request.token
property.
...
Also added a test case for that kind of header.
2017-06-22 18:11:23 +02:00
Yun Xu
20138ee85f
add match_info to request
2017-06-17 09:47:58 -07:00
Yun Xu
3802f8ff65
unit tests
2017-06-08 17:25:22 -07:00
Yun Xu
81889fd7a3
add unit tests
2017-06-07 20:48:07 -07:00
Johnny
58bae83558
Add a regression test.
2017-05-17 11:15:45 +02:00
38elements
ab8f616385
Add test for uri_template
2017-04-30 21:57:32 +09:00
Raphael Deem
a0cba1aee1
accept token directly in auth header
2017-04-21 22:36:45 -07:00
Raphael Deem
88bf78213f
Merge pull request #512 from subyraman/fix-url-building
...
Fix `request.url` and other url properties
2017-03-10 00:38:16 -08:00
Raphael Deem
90138c4bae
return valid json in request.json
2017-03-07 18:03:45 -08:00
Suby Raman
f0e818a28c
add host test
2017-03-03 13:32:32 -05:00
Suby Raman
1fbde87ec2
initial commit
2017-03-03 11:44:50 -05:00
messense
91b2b40b9a
Fix test cases for requests post
2017-02-23 10:36:08 +08:00
Suby Raman
3b68dc72e7
rework testing
2017-02-14 14:51:20 -05:00
Eli Uriegas
eb059183f7
Merge branch 'master' into master
2017-02-08 19:37:32 -06:00
Jeong YunWon
a15ee3ad06
Fix sanic_endpoint_test working with redirects
...
Before fix, it raises error like:
```
tests/test_utils.py F
================================= FAILURES =================================
______________________________ test_redirect _______________________________
app = <sanic.sanic.Sanic object at 0x1045fda20>, method = 'get', uri = '/1', gather_request = True, debug = False
server_kwargs = {}, request_args = (), request_kwargs = {}
_collect_request = <function sanic_endpoint_test.<locals>._collect_request at 0x1045ec950>
_collect_response = <function sanic_endpoint_test.<locals>._collect_response at 0x1045ec7b8>
def sanic_endpoint_test(app, method='get', uri='/', gather_request=True,
debug=False, server_kwargs={},
*request_args, **request_kwargs):
results = []
exceptions = []
if gather_request:
def _collect_request(request):
results.append(request)
app.request_middleware.appendleft(_collect_request)
async def _collect_response(sanic, loop):
try:
response = await local_request(method, uri, *request_args,
**request_kwargs)
results.append(response)
except Exception as e:
exceptions.append(e)
app.stop()
app.run(host=HOST, debug=debug, port=PORT,
after_start=_collect_response, **server_kwargs)
if exceptions:
raise ValueError("Exception during request: {}".format(exceptions))
if gather_request:
try:
> request, response = results
E ValueError: too many values to unpack (expected 2)
sanic/utils.py:47: ValueError
During handling of the above exception, another exception occurred:
utils_app = <sanic.sanic.Sanic object at 0x1045fda20>
def test_redirect(utils_app):
"""Test sanic_endpoint_test is working for redirection"""
> request, response = sanic_endpoint_test(utils_app, uri='/1')
tests/test_utils.py:33:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
app = <sanic.sanic.Sanic object at 0x1045fda20>, method = 'get', uri = '/1', gather_request = True, debug = False
server_kwargs = {}, request_args = (), request_kwargs = {}
_collect_request = <function sanic_endpoint_test.<locals>._collect_request at 0x1045ec950>
_collect_response = <function sanic_endpoint_test.<locals>._collect_response at 0x1045ec7b8>
def sanic_endpoint_test(app, method='get', uri='/', gather_request=True,
debug=False, server_kwargs={},
*request_args, **request_kwargs):
results = []
exceptions = []
if gather_request:
def _collect_request(request):
results.append(request)
app.request_middleware.appendleft(_collect_request)
async def _collect_response(sanic, loop):
try:
response = await local_request(method, uri, *request_args,
**request_kwargs)
results.append(response)
except Exception as e:
exceptions.append(e)
app.stop()
app.run(host=HOST, debug=debug, port=PORT,
after_start=_collect_response, **server_kwargs)
if exceptions:
raise ValueError("Exception during request: {}".format(exceptions))
if gather_request:
try:
request, response = results
return request, response
except:
raise ValueError(
"Request and response object expected, got ({})".format(
> results))
E ValueError: Request and response object expected, got ([{}, {}, {}, <ClientResponse(http://127.0.0.1:42101/3 ) [200 OK]>
E <CIMultiDictProxy('Content-Type': 'text/plain; charset=utf-8', 'Content-Length': '2', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=1')>
E ])
sanic/utils.py:52: ValueError
```
2017-02-05 13:57:04 +09:00
Kyle Blöm
d193a1eb70
Added the tests, code formatting changes, and the Range Request feature.
2017-01-30 17:04:51 -08:00
Suby Raman
7a1e089725
add headers none test
2017-01-14 00:45:04 -05:00
Suby Raman
7de3f7aa78
rename test app
2017-01-14 00:43:30 -05:00
Suby Raman
02b9a0a297
add redirect code from @pcdinh
2017-01-14 00:41:54 -05:00
Eli Uriegas
738396c2e2
Merge pull request #236 from seanpar203/token_property
...
Add token property to request
2016-12-31 13:21:12 -06:00
Eli Uriegas
f1c2854358
Merge branch 'master' into 178
2016-12-30 12:15:08 -06:00
Sean Parsons
548458c3e0
Added test for new token property on request object.
2016-12-26 06:48:53 -05:00
Raphael Deem
7e6c92dc52
convert header values to strings
2016-12-24 20:56:13 -08:00
Raphael Deem
c2622511ce
Raise error if response is malformed. Issue #115
2016-12-24 17:09:41 -08:00
Raphael Deem
457507d8dc
return 400 on invalid json post data
2016-12-07 20:40:31 -08:00