Home / File/ testing.py — flask Source File

testing.py — flask Source File

Architecture documentation for testing.py, a python file in the flask codebase. 16 imports, 1 dependents.

File python ApplicationCore Scaffolding 16 imports 1 dependents 2 functions 3 classes

Entity Profile

Dependency Diagram

graph LR
  9d1103a6_3809_8e43_8b99_b375b026b496["testing.py"]
  a96499c3_f8a9_e782_f156_1c1ee4a86c69["cli.py"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> a96499c3_f8a9_e782_f156_1c1ee4a86c69
  9fb0ba66_32bf_1412_77b1_174dae79c4b2["ScriptInfo"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> 9fb0ba66_32bf_1412_77b1_174dae79c4b2
  f793a407_79ea_667a_f29e_29bbf57c781f["sessions.py"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> f793a407_79ea_667a_f29e_29bbf57c781f
  22ae6a8e_9381_0dda_c9eb_5c5c7c0d67b1["SessionMixin"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> 22ae6a8e_9381_0dda_c9eb_5c5c7c0d67b1
  9612cfdd_2178_92c0_2ed7_16ebb0c72901["app.py"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> 9612cfdd_2178_92c0_2ed7_16ebb0c72901
  9f8cc56e_d5c4_e7a8_438a_3124c0dd5de5["Flask"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> 9f8cc56e_d5c4_e7a8_438a_3124c0dd5de5
  7d9ebc53_a992_d150_c79b_39c114a84acf["importlib.metadata"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> 7d9ebc53_a992_d150_c79b_39c114a84acf
  d3e9218c_bf0a_48f5_15c9_90795af6f3ac["typing.py"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> d3e9218c_bf0a_48f5_15c9_90795af6f3ac
  edaa6006_b261_47ac_daeb_d732207d6228["contextlib"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> edaa6006_b261_47ac_daeb_d732207d6228
  aef75fbf_d390_e3dc_fd26_c253abef7107["copy"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> aef75fbf_d390_e3dc_fd26_c253abef7107
  27bc050a_0167_5d02_546e_7c5efffc737b["types"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> 27bc050a_0167_5d02_546e_7c5efffc737b
  ba7e76fa_bc4e_0090_ae5c_45b8d66e7f44["urllib.parse"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> ba7e76fa_bc4e_0090_ae5c_45b8d66e7f44
  b4d7f661_75f2_f916_a6d8_d57c00d0dd76["werkzeug.test"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> b4d7f661_75f2_f916_a6d8_d57c00d0dd76
  9bcf2241_db1d_b093_280a_f2c1bcd9b5a8["click.testing"]
  9d1103a6_3809_8e43_8b99_b375b026b496 --> 9bcf2241_db1d_b093_280a_f2c1bcd9b5a8
  style 9d1103a6_3809_8e43_8b99_b375b026b496 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from __future__ import annotations

import importlib.metadata
import typing as t
from contextlib import contextmanager
from contextlib import ExitStack
from copy import copy
from types import TracebackType
from urllib.parse import urlsplit

import werkzeug.test
from click.testing import CliRunner
from click.testing import Result
from werkzeug.test import Client
from werkzeug.wrappers import Request as BaseRequest

from .cli import ScriptInfo
from .sessions import SessionMixin

if t.TYPE_CHECKING:  # pragma: no cover
    from _typeshed.wsgi import WSGIEnvironment
    from werkzeug.test import TestResponse

    from .app import Flask


class EnvironBuilder(werkzeug.test.EnvironBuilder):
    """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`.
    """

    def __init__(
        self,
        app: Flask,
        path: str = "/",
        base_url: str | None = None,
        subdomain: str | None = None,
        url_scheme: str | None = None,
        *args: t.Any,
        **kwargs: t.Any,
    ) -> None:
        assert not (base_url or subdomain or url_scheme) or (
            base_url is not None
// ... (239 more lines)

Subdomains

Dependencies

Imported By

Frequently Asked Questions

What does testing.py do?
testing.py is a source file in the flask codebase, written in python. It belongs to the ApplicationCore domain, Scaffolding subdomain.
What functions are defined in testing.py?
testing.py defines 2 function(s): _get_werkzeug_version, _typeshed.
What does testing.py depend on?
testing.py imports 16 module(s): Flask, ScriptInfo, SessionMixin, _typeshed.wsgi, app.py, cli.py, click.testing, contextlib, and 8 more.
What files import testing.py?
testing.py is imported by 1 file(s): app.py.
Where is testing.py in the architecture?
testing.py is located at src/flask/testing.py (domain: ApplicationCore, subdomain: Scaffolding, directory: src/flask).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free