mirror of https://github.com/pallets/flask.git
commit
050a659c2f
7
CHANGES
7
CHANGES
|
|
@ -8,6 +8,9 @@ Version 1.0
|
||||||
|
|
||||||
(release date to be announced, codename to be selected)
|
(release date to be announced, codename to be selected)
|
||||||
|
|
||||||
|
- Added `**kwargs` to :meth:`flask.Test.test_client` to support passing
|
||||||
|
additional keyword arguments to the constructor of
|
||||||
|
:attr:`flask.Flask.test_client_class`.
|
||||||
- Added ``SESSION_REFRESH_EACH_REQUEST`` config key that controls the
|
- Added ``SESSION_REFRESH_EACH_REQUEST`` config key that controls the
|
||||||
set-cookie behavior. If set to `True` a permanent session will be
|
set-cookie behavior. If set to `True` a permanent session will be
|
||||||
refreshed each request and get their lifetime extended, if set to
|
refreshed each request and get their lifetime extended, if set to
|
||||||
|
|
@ -20,8 +23,8 @@ Version 1.0
|
||||||
- Added :meth:`flask.Config.from_json`.
|
- Added :meth:`flask.Config.from_json`.
|
||||||
- Added :attr:`flask.Flask.config_class`.
|
- Added :attr:`flask.Flask.config_class`.
|
||||||
- Added :meth:`flask.config.Config.get_namespace`.
|
- Added :meth:`flask.config.Config.get_namespace`.
|
||||||
- Added ``TEMPLATES_AUTO_RELOAD`` config key. If disabled the
|
- Added ``TEMPLATES_AUTO_RELOAD`` config key. If disabled the
|
||||||
templates will be reloaded only if the application is running in
|
templates will be reloaded only if the application is running in
|
||||||
debug mode. For higher performance it’s possible to disable that.
|
debug mode. For higher performance it’s possible to disable that.
|
||||||
- Added a workaround for a limitation in Python 3.3's namespace loader.
|
- Added a workaround for a limitation in Python 3.3's namespace loader.
|
||||||
- Added support for explicit root paths when using Python 3.3's namespace
|
- Added support for explicit root paths when using Python 3.3's namespace
|
||||||
|
|
|
||||||
22
flask/app.py
22
flask/app.py
|
|
@ -821,7 +821,7 @@ class Flask(_PackageBoundObject):
|
||||||
# without reloader and that stuff from an interactive shell.
|
# without reloader and that stuff from an interactive shell.
|
||||||
self._got_first_request = False
|
self._got_first_request = False
|
||||||
|
|
||||||
def test_client(self, use_cookies=True):
|
def test_client(self, use_cookies=True, **kwargs):
|
||||||
"""Creates a test client for this application. For information
|
"""Creates a test client for this application. For information
|
||||||
about unit testing head over to :ref:`testing`.
|
about unit testing head over to :ref:`testing`.
|
||||||
|
|
||||||
|
|
@ -844,6 +844,20 @@ class Flask(_PackageBoundObject):
|
||||||
rv = c.get('/?vodka=42')
|
rv = c.get('/?vodka=42')
|
||||||
assert request.args['vodka'] == '42'
|
assert request.args['vodka'] == '42'
|
||||||
|
|
||||||
|
Additionally, you may pass optional keyword arguments that will then
|
||||||
|
be passed to the application's :attr:`test_client_class` constructor.
|
||||||
|
For example::
|
||||||
|
|
||||||
|
from flask.testing import FlaskClient
|
||||||
|
|
||||||
|
class CustomClient(FlaskClient):
|
||||||
|
def __init__(self, authentication=None, *args, **kwargs):
|
||||||
|
FlaskClient.__init__(*args, **kwargs)
|
||||||
|
self._authentication = authentication
|
||||||
|
|
||||||
|
app.test_client_class = CustomClient
|
||||||
|
client = app.test_client(authentication='Basic ....')
|
||||||
|
|
||||||
See :class:`~flask.testing.FlaskClient` for more information.
|
See :class:`~flask.testing.FlaskClient` for more information.
|
||||||
|
|
||||||
.. versionchanged:: 0.4
|
.. versionchanged:: 0.4
|
||||||
|
|
@ -853,11 +867,15 @@ class Flask(_PackageBoundObject):
|
||||||
The `use_cookies` parameter was added as well as the ability
|
The `use_cookies` parameter was added as well as the ability
|
||||||
to override the client to be used by setting the
|
to override the client to be used by setting the
|
||||||
:attr:`test_client_class` attribute.
|
:attr:`test_client_class` attribute.
|
||||||
|
|
||||||
|
.. versionchanged:: 1.0
|
||||||
|
Added `**kwargs` to support passing additional keyword arguments to
|
||||||
|
the constructor of :attr:`test_client_class`.
|
||||||
"""
|
"""
|
||||||
cls = self.test_client_class
|
cls = self.test_client_class
|
||||||
if cls is None:
|
if cls is None:
|
||||||
from flask.testing import FlaskClient as cls
|
from flask.testing import FlaskClient as cls
|
||||||
return cls(self, self.response_class, use_cookies=use_cookies)
|
return cls(self, self.response_class, use_cookies=use_cookies, **kwargs)
|
||||||
|
|
||||||
def open_session(self, request):
|
def open_session(self, request):
|
||||||
"""Creates or opens a new session. Default implementation stores all
|
"""Creates or opens a new session. Default implementation stores all
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue