Files
proxmox/venv/lib/python3.12/site-packages/flask/__pycache__/testing.cpython-312.pyc

129 lines
13 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<0E>Hi<48>'<00><01>^<00>ddlmZddlZddlZddlmZddlmZddl m Z ddl
m Z ddl m Z ddlZddlmZdd lmZdd
lmZdd lmZd d lmZd dlmZej6rddlmZddlmZd dlm Z Gd<12>dejBjD<00>Z"da#dd<15>Z$Gd<16>de<13>Z%Gd<18>de<11>Z&y)<1B>)<01> annotationsN)<01>contextmanager)<01> ExitStack)<01>copy)<01> TracebackType)<01>urlsplit)<01> CliRunner)<01>Result)<01>Client)<01>Request<73>)<01>
ScriptInfo)<01> SessionMixin)<01>WSGIEnvironment)<01> TestResponse)<01>Flaskc<01>T<00><00>eZdZdZ d d<05>fd<02> Zdd<03>Z<05>xZS)<07>EnvironBuildera<72>An :class:`~werkzeug.test.EnvironBuilder`, that takes defaults from the
application.
:param app: The Flask application to configure the environment from.
:param path: URL path being requested.
:param base_url: Base URL where the app is being served, which
``path`` is relative to. If not given, built from
:data:`PREFERRED_URL_SCHEME`, ``subdomain``,
:data:`SERVER_NAME`, and :data:`APPLICATION_ROOT`.
:param subdomain: Subdomain name to append to :data:`SERVER_NAME`.
:param url_scheme: Scheme to use instead of
:data:`PREFERRED_URL_SCHEME`.
:param json: If given, this is serialized as JSON and passed as
``data``. Also defaults ``content_type`` to
``application/json``.
:param args: other positional arguments passed to
:class:`~werkzeug.test.EnvironBuilder`.
:param kwargs: other keyword arguments passed to
:class:`~werkzeug.test.EnvironBuilder`.
c<01><><00><01>|s|s|r|dut|xs|<05>k7sJd<01><00>|<03><>|jjd<02>xsd}|jd} |r|<04>d|<08><00>}|<05>|jd}t|<02>}
|
jxs|<05>d|
j
xs|<08>d| j d<08><00><00>}|
j}|
jr|<02>d |
j<00><00>}||_ t<00> |<00>,||g|<06><01>i|<07><01>y)
Nz8Cannot pass "subdomain" or "url_scheme" with "base_url".<2E> SERVER_NAME<4D> localhost<73>APPLICATION_ROOT<4F>.<2E>PREFERRED_URL_SCHEMEz://<2F>/<2F>?) <0C>bool<6F>config<69>getr<00>scheme<6D>netloc<6F>lstrip<69>path<74>query<72>app<70>super<65>__init__) <0C>selfr%r#<00>base_url<72> subdomain<69>
url_scheme<EFBFBD>args<67>kwargs<67> http_host<73>app_root<6F>url<72> __class__s <20><>O/home/intlc/projects/proxmox/venv/lib/python3.12/site-packages/flask/testing.pyr'zEnvironBuilder.__init__1s<00><><00><1D> <09>Z<EFBFBD> <14>D<EFBFBD> <20> <11>)<29>)<29>z<EFBFBD> *<2A>=+<2B>
<EFBFBD> G<01>
<EFBFBD>+<2B> <14> <1B><1B>
<EFBFBD>
<EFBFBD><0E><0E>}<7D>5<>D<><1B>I<EFBFBD><1A>z<EFBFBD>z<EFBFBD>"4<>5<>H<EFBFBD><18>(<28>k<EFBFBD><11>9<EFBFBD>+<2B>6<> <09><19>!<21> <20>Z<EFBFBD>Z<EFBFBD>(><3E>?<3F>
<EFBFBD><1A>4<EFBFBD>.<2E>C<EFBFBD><16>:<3A>:<3A>+<2B><1A>,<2C>C<EFBFBD><03>
<EFBFBD>
<EFBFBD>0G<EFBFBD>i<EFBFBD>/H<><13>H<EFBFBD>O<EFBFBD>O<EFBFBD>C<EFBFBD>(<28>)<29>+<2B> <15><17>8<EFBFBD>8<EFBFBD>D<EFBFBD><12>y<EFBFBD>y<EFBFBD><1E><16>q<EFBFBD><13><19><19> <0B>,<2C><04><16><04><08> <0A><07><18><14>x<EFBFBD>9<>$<24>9<>&<26>9<>c <01>P<00>|jjj|fi|<02><01>S)z<>Serialize ``obj`` to a JSON-formatted string.
The serialization will be configured according to the config associated
with this EnvironBuilder's ``app``.
)r%<00>json<6F>dumps)r(<00>objr-s r2<00>
json_dumpszEnvironBuilder.json_dumpsXs$<00><00> #<23>t<EFBFBD>x<EFBFBD>x<EFBFBD>}<7D>}<7D>"<22>"<22>3<EFBFBD>1<>&<26>1<>1r3)rNNN)r%rr#<00>strr)<00>
str | Noner*r:r+r:r,<00>t.Anyr-r;<00>return<72>None)r7r;r-r;r<r9)<07>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__r'r8<00> __classcell__<5F>r1s@r2rrso<00><><00><08>0<18>#<23> $<24>!%<25> %:<3A> <12>%:<3A><12>%:<3A><1D> %:<3A>
<1E> %:<3A> <1F> %:<3A><15>%:<3A><18>%:<3A>
<0E>%:<3A>N2r3r<00>c<01>X<00>tstjjd<01>atS)N<>werkzeug)<04>_werkzeug_version<6F> importlib<69>metadata<74>version<6F>r3r2<00>_get_werkzeug_versionrLds$<00><00> <1D>%<25>.<2E>.<2E>6<>6<>z<EFBFBD>B<><19> <1C>r3c<01><><00><00>eZdZUdZded<d <0A>fd<04> Ze dd<05><04>Zdd<06>Z dd<07>Z ddd <09> d<11>fd
<EFBFBD>Z
dd <0B>Z dd <0C>Z <0C>xZ S)<14> FlaskClientaWorks like a regular Werkzeug test client but has knowledge about
Flask's contexts to defer the cleanup of the request context until
the end of a ``with`` block. For general information about how to
use this class refer to :class:`werkzeug.test.Client`.
.. versionchanged:: 0.12
`app.test_client()` includes preset default environment, which can be
set after instantiation of the `app.test_client()` object in
`client.environ_base`.
Basic usage is outlined in the :doc:`/testing` chapter.
r<00> applicationc<01><><00><01>t<00>|<00>|i|<02><01>d|_g|_t <00>|_ddt <00><00><00>d<04>|_y)NFz 127.0.0.1z Werkzeug/)<02> REMOTE_ADDR<44>HTTP_USER_AGENT)r&r'<00>preserve_context<78> _new_contextsr<00>_context_stackrL<00> environ_base)r(r,r-r1s <20>r2r'zFlaskClient.__init__}sK<00><><00> <0A><07><18>$<24>)<29>&<26>)<29> %<25><04><1D><><3E><04><1A>'<27>k<EFBFBD><04><1B>&<26>!*<2A>+@<40>+B<>*C<>D<>
<EFBFBD><04>r3c/<01><>K<00>|j<00> td<02><00>|j}|j|i|<02><01>}|j |j
j <00>|5|jj||j
<00>}ddd<01><05> td<03><00>|<05><01>|j<00>}|jj|<05>ry|5|jj|||<06>ddd<01>|j|j
jjd<04>d|j
j |j"j%d<06><00>y#1swY<00><>xYw#1swY<00>|xYw<01>w)a<>When used in combination with a ``with`` statement this opens a
session transaction. This can be used to modify the session that
the test client uses. Once the ``with`` block is left the session is
stored back.
::
with client.session_transaction() as session:
session['value'] = 42
Internally this is implemented by going through a temporary test
request context and since session handling could depend on
request variables this function accepts the same arguments as
:meth:`~flask.Flask.test_request_context` which are directly
passed through.
Nz>Cookies are disabled. Create a client with 'use_cookies=True'.z'Session backend did not open a session.<2E>:rz
Set-Cookie)<13>_cookies<65> TypeErrorrO<00>test_request_context<78>_add_cookies_to_wsgi<67>request<73>environ<6F>session_interface<63> open_session<6F> RuntimeError<6F>response_class<73>is_null_session<6F> save_session<6F>_update_cookies_from_response<73>host<73> partitionr#<00>headers<72>getlist)r(r,r-r%<00>ctx<74>sess<73>resps r2<00>session_transactionzFlaskClient.session_transaction<6F>sR<00><00><><00>( <10>=<3D>=<3D> <20><1B>P<><0E> <0E><13><1E><1E><03>&<26>c<EFBFBD>&<26>&<26><04>7<><06>7<><03> <0C>!<21>!<21>#<23>+<2B>+<2B>"5<>"5<>6<> <10> H<01><16>(<28>(<28>5<>5<>c<EFBFBD>3<EFBFBD>;<3B>;<3B>G<>D<EFBFBD> H<01> <10><<3C><1E>H<>I<> I<><12>
<EFBFBD><12>!<21>!<21>#<23><04> <0E> <20> <20> 0<> 0<><14> 6<> <12> <10> @<01> <0F> !<21> !<21> .<2E> .<2E>s<EFBFBD>D<EFBFBD>$<24> ?<3F> @<01> <0A>*<2A>*<2A> <0F>K<EFBFBD>K<EFBFBD> <1C> <1C> &<26> &<26>s<EFBFBD> +<2B>A<EFBFBD> .<2E> <0F>K<EFBFBD>K<EFBFBD> <1C> <1C> <10>L<EFBFBD>L<EFBFBD> <20> <20><1C> .<2E>
<EFBFBD> H<01> H<01><> @<01> @<01>s8<00>AE2<01>'E<03>AE2<01> E&<03>+A/E2<01>E#<07>E2<01>&E/<07>+E2c<01>p<00>i|j<00>|<01>}|jr|jj|d<|S)Nzwerkzeug.debug.preserve_context)rVrSrT<00>append)r(<00>other<65>outs r2<00> _copy_environzFlaskClient._copy_environ<6F>s<<00><00>,<2C><14>"<22>"<22>,<2C>e<EFBFBD>,<2C><03> <0F> <20> <20>59<35>5G<35>5G<35>5N<35>5N<35>C<EFBFBD>1<> 2<><12>
r3c<01><><00>|j|jdi<00><00>|d<t|jg|<01><01>i|<02><01>} |j <00>|j <00>S#|j <00>wxYw)NrV)rrrrrO<00> get_request<73>close)r(r,r-<00>builders r2<00>_request_from_builder_argsz&FlaskClient._request_from_builder_args<67>sb<00><00>"&<26>!3<>!3<>F<EFBFBD>J<EFBFBD>J<EFBFBD>~<7E>r<EFBFBD>4R<34>!S<><06>~<7E><1E> <20><14>!1<>!1<>C<>D<EFBFBD>C<>F<EFBFBD>C<><07> <1C><1A>&<26>&<26>(<28> <13>M<EFBFBD>M<EFBFBD>O<EFBFBD><4F>G<EFBFBD>M<EFBFBD>M<EFBFBD>O<EFBFBD>s <00>A<00>A1F<><02>buffered<65>follow_redirectsc<01><><00><01>|<03>r!t|dtjjtt
f<03>r<>t|dtjj<00>rCt |d<00>}|j|jxsi<00>|_|j<00>}n<>t|dt<00>rCtj|d|j|ji<00><00><02>j<00>}nAt |d<00>}|j|j<00>|_ n|j||<04>}|jj<00>t <00> |<00>E|||<02><03>}|jj$|_|j(D]}|jj+|<08><00>|j(j-<00>|S)Nr)r%rVrx)<17>
isinstancerF<00>testr<00>dict<63> BaseRequestrrrrVrt<00> from_environrOr^rwrUrur&<00>openr5<00> json_modulerT<00> enter_context<78>clear)
r(ryrzr,r-rvr]<00>response<73>cmr1s
<20>r2r<>zFlaskClient.open<65>s<><00><><00> <10>J<EFBFBD> <10><11>G<EFBFBD>h<EFBFBD>m<EFBFBD>m<EFBFBD>2<>2<>D<EFBFBD>+<2B>F<>
<EFBFBD><1A>$<24>q<EFBFBD>'<27>8<EFBFBD>=<3D>=<3D>#?<3F>#?<3F>@<40><1E>t<EFBFBD>A<EFBFBD>w<EFBFBD>-<2D><07>'+<2B>'9<>'9<>'<27>:N<>:N<>:T<>RT<52>'U<><07>$<24>!<21>-<2D>-<2D>/<2F><07><1B>D<EFBFBD><11>G<EFBFBD>T<EFBFBD>*<2A>(<28>5<>5<><18><11>G<EFBFBD><14>!1<>!1<><04>@R<>@R<>SU<53>@V<>6<><12><1D>+<2B>-<2D><18>
<1F>t<EFBFBD>A<EFBFBD>w<EFBFBD>-<2D><07>"&<26>"4<>"4<>W<EFBFBD>_<EFBFBD>_<EFBFBD>"E<><07><0F><1B>5<>5<>d<EFBFBD>F<EFBFBD>C<>G<EFBFBD>
<0A><1B><1B>!<21>!<21>#<23><18>7<EFBFBD><<3C> <13><1D>-<2D> <20>
<EFBFBD><08>
$<24>/<2F>/<2F>4<>4<><08><1C><17>$<24>$<24> 2<>B<EFBFBD> <10> <1F> <1F> -<2D> -<2D>b<EFBFBD> 1<> 2<> <0A><1A><1A> <20> <20>"<22><17>r3c<01>B<00>|jr td<01><00>d|_|S)NzCannot nest client invocationsT)rSra<00>r(s r2<00> __enter__zFlaskClient.__enter__<5F>s$<00><00> <0F> <20> <20><1E>?<3F>@<40> @<40> $<24><04><1D><13> r3c<01>F<00>d|_|jj<00>y)NF)rSrUru)r(<00>exc_type<70> exc_value<75>tbs r2<00>__exit__zFlaskClient.__exit__<5F>s<00><00> !&<26><04><1D> <0C><1B><1B>!<21>!<21>#r3)r,r;r-r;r<r=)r,r;r-r;r<zt.Iterator[SessionMixin])rprr<r)r,ztuple[t.Any, ...]r-zdict[str, t.Any]r<r)
r,r;ryrrzrr-r;r<r)r<rN)r<>z type | Noner<65>zBaseException | Noner<65>zTracebackType | Noner<r=)r>r?r@rA<00>__annotations__r'rrmrrrwr<>r<>r<>rBrCs@r2rNrNms<><00><><00> <08><17><16>
<EFBFBD><14>/
<EFBFBD><1A>/
<EFBFBD>&+<2B>/
<EFBFBD> !<21>/
<EFBFBD><14>/
<EFBFBD>b<13> <1C>%<25> <1C>/?<3F> <1C> <14> <1C><1F>!&<26> +<18><14>+<18><17>+<18><1F> +<18>
<18> +<18>
<16> +<18>Z<14> $<24><1D>$<24>(<28>$<24> !<21> $<24>
<0E> $r3rNc<01>B<00><00>eZdZdZd<04>fd<02> Z d d<06>fd<03> Z<05>xZS)<07>FlaskCliRunnerz<72>A :class:`~click.testing.CliRunner` for testing a Flask app's
CLI commands. Typically created using
:meth:`~flask.Flask.test_cli_runner`. See :ref:`testing-cli`.
c <01>2<00><01>||_t<00>|<00>di|<02><01>y)NrK)r%r&r')r(r%r-r1s <20>r2r'zFlaskCliRunner.__init__s<00><><00><16><04><08> <0A><07><18>"<22>6<EFBFBD>"r3c <01><><00><01><00>|<01><16>jj}d|vrt<00>fd<02><08><03>|d<t<00><04><00>||fi|<03><01>S)acInvokes a CLI command in an isolated environment. See
:meth:`CliRunner.invoke <click.testing.CliRunner.invoke>` for
full method documentation. See :ref:`testing-cli` for examples.
If the ``obj`` argument is not given, passes an instance of
:class:`~flask.cli.ScriptInfo` that knows how to load the Flask
app being tested.
:param cli: Command object to invoke. Default is the app's
:attr:`~flask.app.Flask.cli` group.
:param args: List of strings to invoke the command with.
:return: a :class:`~click.testing.Result` object.
r7c<01><00><01><00>jS)N)r%r<>s<00>r2<00><lambda>z'FlaskCliRunner.invoke.<locals>.<lambda>(s <00><><00>$<24>(<28>(<28>r3)<01>
create_app)r%<00>clirr&<00>invoke)r(r<>r,r-r1s` <20>r2r<>zFlaskCliRunner.invokesD<00><><00>" <0F>;<3B><16>(<28>(<28>,<2C>,<2C>C<EFBFBD> <10><06> <1E>&<26>2B<32>C<>F<EFBFBD>5<EFBFBD>M<EFBFBD><14>w<EFBFBD>~<7E>c<EFBFBD>4<EFBFBD>2<>6<EFBFBD>2<>2r3)r%rr-r;r<r=)NN)r<>r;r,r;r-r;r<r
)r>r?r@rAr'r<>rBrCs@r2r<>r<> s<<00><><00><08>
#<23>
04<30>3<><18>3<>',<2C>3<>?D<>3<> <0F>3<>3r3r<>)r<r9)'<27>
__future__r<00>importlib.metadatarH<00>typing<6E>t<>
contextlibrrr<00>typesr<00> urllib.parser<00> werkzeug.testrF<00> click.testingr r
r <00>werkzeug.wrappersr rr<>r<00>sessionsr<00> TYPE_CHECKING<4E>_typeshed.wsgirrr%rr}rrGrLrNr<>rKr3r2<00><module>r<>s<><00><01>"<22><19><12>%<25> <20><15><1F>!<21><14>#<23> <20> <20>4<><1B>"<22><04>?<3F>?<3F>.<2E>*<2A><1A>C2<>X<EFBFBD>]<5D>]<5D>1<>1<>C2<>L<17><11><1D>Y$<24>&<26>Y$<24>x!3<>Y<EFBFBD>!3r3