==> Building on q ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-fastapi ./ PKGBUILD 2,699 100% 0.00kB/s 0:00:00 2,699 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=1/3) python-fastapi-0.78.0-1.log 353 100% 344.73kB/s 0:00:00 353 100% 344.73kB/s 0:00:00 (xfr#2, to-chk=0/3) sent 1,714 bytes received 103 bytes 1,211.33 bytes/sec total size is 2,887 speedup is 1.59 ==> Running extra-riscv64-build -- -d /home/felix/packages/riscv64-pkg-cache:/var/cache/pacman/pkg -l felix15 on remote host... [?25l:: Synchronizing package databases... core downloading... extra downloading... community downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix15]...done ==> Making package: python-fastapi 0.78.0-1 (Thu Jul 14 02:43:21 2022) ==> Retrieving sources...  -> Downloading fastapi-0.78.0.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 81952 0 81952 0 0 147k 0 --:--:-- --:--:-- --:--:-- 147k 100 6699k 0 6699k 0 0 7078k 0 --:--:-- --:--:-- --:--:-- 16.0M ==> Validating source files with sha512sums... fastapi-0.78.0.tar.gz ... Passed ==> Validating source files with b2sums... fastapi-0.78.0.tar.gz ... Passed ==> Making package: python-fastapi 0.78.0-1 (Thu Jul 14 02:44:21 2022) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (8) New Version Net Change Download Size core/libnsl 2.0.0-2 0.06 MiB core/python 3.10.5-1 80.43 MiB community/python-anyio 3.6.1-1 0.83 MiB extra/python-idna 3.3-4 0.66 MiB community/python-sniffio 1.2.0-5 0.02 MiB community/python-typing_extensions 4.2.0-1 0.19 MiB community/python-pydantic 1.8.2-3 1.07 MiB community/python-starlette 0.20.4-1 0.58 MiB 0.12 MiB Total Download Size: 0.12 MiB Total Installed Size: 83.84 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-starlette-0.20.4-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing libnsl... installing python... Optional dependencies for python python-setuptools python-pip sqlite [installed] mpdecimal: for decimal xz: for lzma [installed] tk: for tkinter installing python-typing_extensions... installing python-pydantic... Optional dependencies for python-pydantic python-email-validator: email installing python-idna... installing python-sniffio... installing python-anyio... Optional dependencies for python-anyio python-trio: trio backend python-uvloop: use uvloop for asyncio backend installing python-starlette... Optional dependencies for python-starlette python-itsdangerous: for session middleware support python-jinja: for jinja templates python-python-multipart: for form parsing python-pyyaml: for schema generator python-requests: for test client [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (68) New Version Net Change Download Size extra/http-parser 2.9.4-1 0.06 MiB extra/libuv 1.43.0-1 0.51 MiB extra/libyaml 0.2.5-1 0.14 MiB community/python-apipkg 2.1.1-1 0.03 MiB extra/python-asgiref 3.5.2-1 0.15 MiB community/python-async_generator 1.10-7 0.16 MiB extra/python-attrs 21.4.0-1 0.45 MiB community/python-certifi 2022.06.15-1 0.01 MiB extra/python-cffi 1.15.1-1 1.00 MiB extra/python-chardet 4.0.0-5 2.10 MiB community/python-click 8.1.3-1 0.89 MiB community/python-coverage 6.1.1-3 1.19 MiB community/python-dnspython 1:2.2.1-1 1.95 MiB community/python-docutils 1:0.19-1 4.28 MiB community/python-ecdsa 0.17.0-3 1.12 MiB community/python-flit-core 3.7.1-1 0.17 MiB community/python-future 0.18.2-7 3.86 MiB community/python-greenlet 1.1.2-3 0.38 MiB community/python-h11 0.12.0-3 0.39 MiB community/python-httpcore 0.15.0-1 0.58 MiB community/python-httptools 0.3.0-3 0.75 MiB community/python-iniconfig 1.1.1-5 0.02 MiB extra/python-markupsafe 2.1.1-1 0.06 MiB community/python-outcome 1.2.0-1 0.02 MiB extra/python-packaging 21.3-1 0.26 MiB extra/python-pep517 0.12.0-4 0.13 MiB community/python-pluggy 1.0.0-1 0.10 MiB extra/python-ply 3.11-10 0.31 MiB community/python-py 1.11.0-1 0.71 MiB extra/python-pyasn1 0.4.8-7 0.60 MiB extra/python-pycparser 2.21-3 1.39 MiB extra/python-pyparsing 3.0.9-1 0.96 MiB community/python-rfc3986 1.5.0-3 0.24 MiB community/python-rsa 4.8-3 0.23 MiB extra/python-six 1.16.0-5 0.09 MiB community/python-sortedcontainers 2.4.0-3 0.33 MiB extra/python-tomli 2.0.1-1 0.08 MiB extra/python-tomli-w 1.0.0-4 0.02 MiB extra/python-urllib3 1.26.7-5 0.69 MiB community/python-uvloop 0.16.0-3 8.26 MiB community/python-websockets 10.3-1 8.06 MiB community/python-werkzeug 2.1.2-1 2.01 MiB community/python-aiosqlite 0.17.0-3 0.13 MiB 0.03 MiB community/python-bcrypt 3.2.2-1 0.05 MiB community/python-build 0.8.0-1 0.97 MiB extra/python-cryptography 37.0.2-1 3.57 MiB community/python-databases 0.5.3-3 0.18 MiB 0.03 MiB community/python-email-validator 1.1.3-3 0.07 MiB community/python-flask 2.1.2-1 0.81 MiB community/python-flit 3.7.1-1 0.19 MiB community/python-httpx 0.23.0-2 0.75 MiB 0.14 MiB community/python-installer 0.5.1-1 1.13 MiB community/python-itsdangerous 2.1.2-2 0.11 MiB community/python-jinja 1:3.1.2-2 1.28 MiB community/python-jose 3.3.0-3 0.27 MiB 0.05 MiB community/python-orjson 3.7.7-1 0.51 MiB 0.21 MiB community/python-passlib 1.7.4-5 4.18 MiB community/python-peewee 3.14.10-1 1.64 MiB 0.36 MiB community/python-pytest 7.1.2-1 2.62 MiB community/python-pytest-cov 2.12.1-6 0.11 MiB community/python-python-multipart 0.0.5-5 0.30 MiB 0.06 MiB extra/python-requests 2.27.1-1 0.45 MiB community/python-sqlalchemy 1.4.39-1 10.97 MiB 1.93 MiB community/python-trio 0.21.0-1 2.88 MiB community/python-ujson 5.4.0-1 0.09 MiB 0.04 MiB community/python-wheel 0.37.1-1 0.16 MiB community/python-yaml 6.0-1 0.68 MiB community/uvicorn 0.18.2-1 0.43 MiB Total Download Size: 2.86 MiB Total Installed Size: 79.27 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-sqlalchemy-1.4.39-1-riscv64 downloading... python-peewee-3.14.10-1-riscv64 downloading... python-orjson-3.7.7-1-riscv64 downloading... python-httpx-0.23.0-2-any downloading... python-python-multipart-0.0.5-5-any downloading... python-jose-3.3.0-3-any downloading... python-ujson-5.4.0-1-riscv64 downloading... python-databases-0.5.3-3-any downloading... python-aiosqlite-0.17.0-3-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-tomli... installing python-pep517... installing python-pyparsing... Optional dependencies for python-pyparsing python-railroad-diagrams: for generating Railroad Diagrams python-jinja: for generating Railroad Diagrams [pending] installing python-packaging... installing python-build... Optional dependencies for python-build python-virtualenv: Use virtualenv for build isolation installing python-installer... installing python-tomli-w... installing python-flit-core... installing python-urllib3... Optional dependencies for python-urllib3 python-pysocks: SOCKS support python-brotli: Brotli support python-pyopenssl: security support python-idna: security support [installed] installing python-chardet... installing python-requests... Optional dependencies for python-requests python-pysocks: SOCKS proxy support installing python-docutils... installing python-flit... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures installing python-aiosqlite... installing python-databases... Optional dependencies for python-databases python-asyncpg: postgresql support python-aiopg: postgresql + aiopg support python-aiomysql: mysql support python-aiosqlite: sqlite support [installed] installing python-werkzeug... installing python-markupsafe... installing python-jinja... Optional dependencies for python-jinja python-babel: for i18n support installing python-itsdangerous... installing python-click... installing python-flask... Optional dependencies for python-flask python-asgiref: async functions and views [pending] python-dotenv: loading env vars from files installing python-certifi... installing python-h11... installing python-httpcore... Optional dependencies for python-httpcore python-h2: for HTTP/2 support python-socksio: for SOCKS support python-trio: for trio backend [pending] installing python-rfc3986... installing python-httpx... Optional dependencies for python-httpx python-brotlicffi: for brotli response decompression python-h2: HTTP/2 support python-socksio: SOCKS proxy support python-click: command line client support [installed] python-rich: command line client support python-trio: alternative async library [pending] installing python-peewee... Optional dependencies for python-peewee python-psycopg2: for PostgreSQL database support python-pymysql: for MySQL database support installing python-attrs... installing python-iniconfig... installing python-pluggy... installing python-apipkg... installing python-py... installing python-pytest... installing python-coverage... Optional dependencies for python-coverage python-tomli: for pyproject.toml support [installed] installing python-pytest-cov... installing python-greenlet... installing python-sqlalchemy... Optional dependencies for python-sqlalchemy python-psycopg2: connect to PostgreSQL database installing python-async_generator... installing python-outcome... installing python-sortedcontainers... installing python-trio... installing python-dnspython... Optional dependencies for python-dnspython python-cryptography: DNSSEC support [pending] python-requests-toolbelt: DoH support python-idna: support for updated IDNA 2008 [installed] python-curio: async support python-trio: async support [installed] python-sniffio: async support [installed] installing python-email-validator... installing python-orjson... installing python-six... installing python-python-multipart... installing libyaml... installing python-yaml... installing python-ujson... installing python-asgiref... installing python-websockets... installing http-parser... installing python-httptools... installing libuv... installing python-uvloop... installing uvicorn... Optional dependencies for uvicorn python-watchgod: watchgod reload installing python-ply... installing python-pycparser... installing python-cffi... installing python-bcrypt... installing python-cryptography... installing python-pyasn1... installing python-rsa... installing python-ecdsa... installing python-future... Optional dependencies for python-future python-setuptools: futurize and pasteurize scripts installing python-jose... Optional dependencies for python-jose python-cryptography: one option for better performance [installed] python-pycryptodome: one option for better performance installing python-passlib... Optional dependencies for python-passlib python-fastpbkdf2: accelerate PBKDF2-based hashes python-bcrypt: accelerate Bcrypt hashes [installed] python-scrypt: accelerate SCrypt hashes [?25h==> Retrieving sources...  -> Found fastapi-0.78.0.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting fastapi-0.78.0.tar.gz with bsdtar ==> Starting prepare()... ==> Starting build()... * Building wheel... Successfully built fastapi-0.78.0-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.10.5, pytest-7.1.2, pluggy-1.0.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /build/python-fastapi/src/fastapi-0.78.0, configfile: pyproject.toml plugins: anyio-3.6.1, cov-2.12.1 collecting ... collected 1338 items / 2 deselected / 1336 selected docs_src/app_testing/test_main.py::test_read_main PASSED [ 0%] docs_src/app_testing/app_b/test_main.py::test_read_item PASSED [ 0%] docs_src/app_testing/app_b/test_main.py::test_read_item_bad_token PASSED [ 0%] docs_src/app_testing/app_b/test_main.py::test_read_inexistent_item PASSED [ 0%] docs_src/app_testing/app_b/test_main.py::test_create_item PASSED [ 0%] docs_src/app_testing/app_b/test_main.py::test_create_item_bad_token PASSED [ 0%] docs_src/app_testing/app_b/test_main.py::test_create_existing_item PASSED [ 0%] docs_src/app_testing/app_b_py310/test_main.py::test_read_item PASSED [ 0%] docs_src/app_testing/app_b_py310/test_main.py::test_read_item_bad_token PASSED [ 0%] docs_src/app_testing/app_b_py310/test_main.py::test_read_inexistent_item PASSED [ 0%] docs_src/app_testing/app_b_py310/test_main.py::test_create_item PASSED [ 0%] docs_src/app_testing/app_b_py310/test_main.py::test_create_item_bad_token PASSED [ 0%] docs_src/app_testing/app_b_py310/test_main.py::test_create_existing_item PASSED [ 0%] docs_src/async_tests/test_main.py::test_root[asyncio] PASSED [ 1%] docs_src/async_tests/test_main.py::test_root[trio] PASSED [ 1%] docs_src/settings/app02/test_main.py::test_app PASSED [ 1%] docs_src/sql_databases/sql_app/tests/test_sql_app.py::test_create_user PASSED [ 1%] tests/test_additional_properties.py::test_additional_properties_schema PASSED [ 1%] tests/test_additional_properties.py::test_additional_properties_post PASSED [ 1%] tests/test_additional_response_extra.py::test_openapi_schema PASSED [ 1%] tests/test_additional_response_extra.py::test_path_operation PASSED [ 1%] tests/test_additional_responses_bad.py::test_openapi_schema PASSED [ 1%] tests/test_additional_responses_custom_model_in_callback.py::test_openapi_schema PASSED [ 1%] tests/test_additional_responses_custom_validationerror.py::test_openapi_schema PASSED [ 1%] tests/test_additional_responses_default_validationerror.py::test_openapi_schema PASSED [ 1%] tests/test_additional_responses_response_class.py::test_openapi_schema PASSED [ 1%] tests/test_additional_responses_router.py::test_openapi_schema PASSED [ 2%] tests/test_additional_responses_router.py::test_a PASSED [ 2%] tests/test_additional_responses_router.py::test_b PASSED [ 2%] tests/test_additional_responses_router.py::test_c PASSED [ 2%] tests/test_application.py::test_get_path[/api_route-200-expected_response0] PASSED [ 2%] tests/test_application.py::test_get_path[/non_decorated_route-200-expected_response1] PASSED [ 2%] tests/test_application.py::test_get_path[/nonexistent-404-expected_response2] PASSED [ 2%] tests/test_application.py::test_get_path[/openapi.json-200-expected_response3] PASSED [ 2%] tests/test_application.py::test_swagger_ui PASSED [ 2%] tests/test_application.py::test_swagger_ui_oauth2_redirect PASSED [ 2%] tests/test_application.py::test_redoc PASSED [ 2%] tests/test_application.py::test_enum_status_code_response PASSED [ 2%] tests/test_callable_endpoint.py::test_partial PASSED [ 2%] tests/test_custom_route_class.py::test_get_path[/a-200-expected_response0] PASSED [ 2%] tests/test_custom_route_class.py::test_get_path[/a/b-200-expected_response1] PASSED [ 3%] tests/test_custom_route_class.py::test_get_path[/a/b/c-200-expected_response2] PASSED [ 3%] tests/test_custom_route_class.py::test_get_path[/openapi.json-200-expected_response3] PASSED [ 3%] tests/test_custom_route_class.py::test_route_classes PASSED [ 3%] tests/test_custom_schema_fields.py::test_custom_response_schema PASSED [ 3%] tests/test_custom_schema_fields.py::test_response PASSED [ 3%] tests/test_custom_swagger_ui_redirect.py::test_swagger_ui PASSED [ 3%] tests/test_custom_swagger_ui_redirect.py::test_swagger_ui_oauth2_redirect PASSED [ 3%] tests/test_custom_swagger_ui_redirect.py::test_response PASSED [ 3%] tests/test_datastructures.py::test_upload_file_invalid PASSED [ 3%] tests/test_datastructures.py::test_default_placeholder_equals PASSED [ 3%] tests/test_datastructures.py::test_default_placeholder_bool PASSED [ 3%] tests/test_datetime_custom_encoder.py::test_dt PASSED [ 3%] tests/test_default_response_class.py::test_app PASSED [ 4%] tests/test_default_response_class.py::test_app_override PASSED [ 4%] tests/test_default_response_class.py::test_router_a PASSED [ 4%] tests/test_default_response_class.py::test_router_a_override PASSED [ 4%] tests/test_default_response_class.py::test_router_a_a PASSED [ 4%] tests/test_default_response_class.py::test_router_a_a_override PASSED [ 4%] tests/test_default_response_class.py::test_router_a_b PASSED [ 4%] tests/test_default_response_class.py::test_router_a_b_override PASSED [ 4%] tests/test_default_response_class.py::test_router_b PASSED [ 4%] tests/test_default_response_class.py::test_router_b_override PASSED [ 4%] tests/test_default_response_class.py::test_router_b_a PASSED [ 4%] tests/test_default_response_class.py::test_router_b_a_override PASSED [ 4%] tests/test_default_response_class.py::test_router_b_a_c PASSED [ 4%] tests/test_default_response_class.py::test_router_b_a_c_override PASSED [ 5%] tests/test_default_response_class_router.py::test_app PASSED [ 5%] tests/test_default_response_class_router.py::test_app_override PASSED [ 5%] tests/test_default_response_class_router.py::test_router_a PASSED [ 5%] tests/test_default_response_class_router.py::test_router_a_override PASSED [ 5%] tests/test_default_response_class_router.py::test_router_a_a PASSED [ 5%] tests/test_default_response_class_router.py::test_router_a_a_override PASSED [ 5%] tests/test_default_response_class_router.py::test_router_a_b PASSED [ 5%] tests/test_default_response_class_router.py::test_router_a_b_override PASSED [ 5%] tests/test_default_response_class_router.py::test_router_b PASSED [ 5%] tests/test_default_response_class_router.py::test_router_b_override PASSED [ 5%] tests/test_default_response_class_router.py::test_router_b_a PASSED [ 5%] tests/test_default_response_class_router.py::test_router_b_a_override PASSED [ 5%] tests/test_default_response_class_router.py::test_router_b_a_c PASSED [ 5%] tests/test_default_response_class_router.py::test_router_b_a_c_override PASSED [ 6%] tests/test_dependency_cache.py::test_normal_counter PASSED [ 6%] tests/test_dependency_cache.py::test_sub_counter PASSED [ 6%] tests/test_dependency_cache.py::test_sub_counter_no_cache PASSED [ 6%] tests/test_dependency_class.py::test_class_dependency[/callable-dependency-callable-dependency] PASSED [ 6%] tests/test_dependency_class.py::test_class_dependency[/callable-gen-dependency-callable-gen-dependency] PASSED [ 6%] tests/test_dependency_class.py::test_class_dependency[/async-callable-dependency-async-callable-dependency] PASSED [ 6%] tests/test_dependency_class.py::test_class_dependency[/async-callable-gen-dependency-async-callable-gen-dependency] PASSED [ 6%] tests/test_dependency_class.py::test_class_dependency[/synchronous-method-dependency-synchronous-method-dependency] PASSED [ 6%] tests/test_dependency_class.py::test_class_dependency[/synchronous-method-gen-dependency-synchronous-method-gen-dependency] PASSED [ 6%] tests/test_dependency_class.py::test_class_dependency[/asynchronous-method-dependency-asynchronous-method-dependency] PASSED [ 6%] tests/test_dependency_class.py::test_class_dependency[/asynchronous-method-gen-dependency-asynchronous-method-gen-dependency] PASSED [ 6%] tests/test_dependency_contextmanager.py::test_async_state PASSED [ 6%] tests/test_dependency_contextmanager.py::test_sync_state PASSED [ 7%] tests/test_dependency_contextmanager.py::test_async_raise_other PASSED [ 7%] tests/test_dependency_contextmanager.py::test_sync_raise_other PASSED [ 7%] tests/test_dependency_contextmanager.py::test_async_raise_raises PASSED [ 7%] tests/test_dependency_contextmanager.py::test_async_raise_server_error PASSED [ 7%] tests/test_dependency_contextmanager.py::test_context_b PASSED [ 7%] tests/test_dependency_contextmanager.py::test_context_b_raise PASSED [ 7%] tests/test_dependency_contextmanager.py::test_background_tasks PASSED [ 7%] tests/test_dependency_contextmanager.py::test_sync_raise_raises PASSED [ 7%] tests/test_dependency_contextmanager.py::test_sync_raise_server_error PASSED [ 7%] tests/test_dependency_contextmanager.py::test_sync_async_state PASSED [ 7%] tests/test_dependency_contextmanager.py::test_sync_sync_state PASSED [ 7%] tests/test_dependency_contextmanager.py::test_sync_async_raise_other PASSED [ 7%] tests/test_dependency_contextmanager.py::test_sync_sync_raise_other PASSED [ 8%] tests/test_dependency_contextmanager.py::test_sync_async_raise_raises PASSED [ 8%] tests/test_dependency_contextmanager.py::test_sync_async_raise_server_error PASSED [ 8%] tests/test_dependency_contextmanager.py::test_sync_sync_raise_raises PASSED [ 8%] tests/test_dependency_contextmanager.py::test_sync_sync_raise_server_error PASSED [ 8%] tests/test_dependency_contextmanager.py::test_sync_context_b PASSED [ 8%] tests/test_dependency_contextmanager.py::test_sync_context_b_raise PASSED [ 8%] tests/test_dependency_contextmanager.py::test_sync_background_tasks PASSED [ 8%] tests/test_dependency_contextvars.py::test_dependency_contextvars PASSED [ 8%] tests/test_dependency_duplicates.py::test_openapi_schema PASSED [ 8%] tests/test_dependency_duplicates.py::test_no_duplicates_invalid PASSED [ 8%] tests/test_dependency_duplicates.py::test_no_duplicates PASSED [ 8%] tests/test_dependency_duplicates.py::test_duplicates PASSED [ 8%] tests/test_dependency_duplicates.py::test_sub_duplicates PASSED [ 8%] tests/test_dependency_normal_exceptions.py::test_dependency_gets_exception PASSED [ 9%] tests/test_dependency_normal_exceptions.py::test_dependency_no_exception PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/main-depends/-422-expected0] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/main-depends/?q=foo-200-expected1] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/main-depends/?q=foo&skip=100&limit=200-200-expected2] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/decorator-depends/-422-expected3] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/decorator-depends/?q=foo-200-expected4] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/decorator-depends/?q=foo&skip=100&limit=200-200-expected5] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/router-depends/-422-expected6] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/router-depends/?q=foo-200-expected7] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/router-depends/?q=foo&skip=100&limit=200-200-expected8] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/router-decorator-depends/-422-expected9] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/router-decorator-depends/?q=foo-200-expected10] PASSED [ 9%] tests/test_dependency_overrides.py::test_normal_app[/router-decorator-depends/?q=foo&skip=100&limit=200-200-expected11] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_simple[/main-depends/-200-expected0] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_simple[/main-depends/?q=foo-200-expected1] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_simple[/main-depends/?q=foo&skip=100&limit=200-200-expected2] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_simple[/decorator-depends/-200-expected3] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_simple[/router-depends/-200-expected4] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_simple[/router-depends/?q=foo-200-expected5] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_simple[/router-depends/?q=foo&skip=100&limit=200-200-expected6] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_simple[/router-decorator-depends/-200-expected7] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_with_sub[/main-depends/-422-expected0] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_with_sub[/main-depends/?q=foo-422-expected1] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_with_sub[/main-depends/?k=bar-200-expected2] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_with_sub[/decorator-depends/-422-expected3] PASSED [ 10%] tests/test_dependency_overrides.py::test_override_with_sub[/decorator-depends/?q=foo-422-expected4] PASSED [ 11%] tests/test_dependency_overrides.py::test_override_with_sub[/decorator-depends/?k=bar-200-expected5] PASSED [ 11%] tests/test_dependency_overrides.py::test_override_with_sub[/router-depends/-422-expected6] PASSED [ 11%] tests/test_dependency_overrides.py::test_override_with_sub[/router-depends/?q=foo-422-expected7] PASSED [ 11%] tests/test_dependency_overrides.py::test_override_with_sub[/router-depends/?k=bar-200-expected8] PASSED [ 11%] tests/test_dependency_overrides.py::test_override_with_sub[/router-decorator-depends/-422-expected9] PASSED [ 11%] tests/test_dependency_overrides.py::test_override_with_sub[/router-decorator-depends/?q=foo-422-expected10] PASSED [ 11%] tests/test_dependency_overrides.py::test_override_with_sub[/router-decorator-depends/?k=bar-200-expected11] PASSED [ 11%] tests/test_dependency_security_overrides.py::test_normal PASSED [ 11%] tests/test_dependency_security_overrides.py::test_override_data PASSED [ 11%] tests/test_dependency_security_overrides.py::test_override_security PASSED [ 11%] tests/test_deprecated_openapi_prefix.py::test_openapi PASSED [ 11%] tests/test_deprecated_openapi_prefix.py::test_main PASSED [ 11%] tests/test_duplicate_models_openapi.py::test_openapi_schema PASSED [ 11%] tests/test_duplicate_models_openapi.py::test_get_api_route PASSED [ 12%] tests/test_empty_router.py::test_use_empty PASSED [ 12%] tests/test_empty_router.py::test_include_empty PASSED [ 12%] tests/test_exception_handlers.py::test_override_http_exception PASSED [ 12%] tests/test_exception_handlers.py::test_override_request_validation_exception PASSED [ 12%] tests/test_exception_handlers.py::test_override_server_error_exception_raises PASSED [ 12%] tests/test_exception_handlers.py::test_override_server_error_exception_response PASSED [ 12%] tests/test_extra_routes.py::test_openapi_schema PASSED [ 12%] tests/test_extra_routes.py::test_get_api_route PASSED [ 12%] tests/test_extra_routes.py::test_get_api_route_not_decorated PASSED [ 12%] tests/test_extra_routes.py::test_delete PASSED [ 12%] tests/test_extra_routes.py::test_head PASSED [ 12%] tests/test_extra_routes.py::test_options PASSED [ 12%] tests/test_extra_routes.py::test_patch PASSED [ 13%] tests/test_extra_routes.py::test_trace PASSED [ 13%] tests/test_filter_pydantic_sub_model.py::test_openapi_schema PASSED [ 13%] tests/test_filter_pydantic_sub_model.py::test_filter_sub_model PASSED [ 13%] tests/test_filter_pydantic_sub_model.py::test_validator_is_cloned PASSED [ 13%] tests/test_forms_from_non_typing_sequences.py::test_python_list_param_as_form PASSED [ 13%] tests/test_forms_from_non_typing_sequences.py::test_python_set_param_as_form PASSED [ 13%] tests/test_forms_from_non_typing_sequences.py::test_python_tuple_param_as_form PASSED [ 13%] tests/test_generate_unique_id_function.py::test_top_level_generate_unique_id PASSED [ 13%] tests/test_generate_unique_id_function.py::test_router_overrides_generate_unique_id PASSED [ 13%] tests/test_generate_unique_id_function.py::test_router_include_overrides_generate_unique_id PASSED [ 13%] tests/test_generate_unique_id_function.py::test_subrouter_top_level_include_overrides_generate_unique_id PASSED [ 13%] tests/test_generate_unique_id_function.py::test_router_path_operation_overrides_generate_unique_id PASSED [ 13%] tests/test_generate_unique_id_function.py::test_app_path_operation_overrides_generate_unique_id PASSED [ 13%] tests/test_generate_unique_id_function.py::test_callback_override_generate_unique_id PASSED [ 14%] tests/test_generate_unique_id_function.py::test_warn_duplicate_operation_id PASSED [ 14%] tests/test_get_request_body.py::test_openapi_schema PASSED [ 14%] tests/test_get_request_body.py::test_get_with_body PASSED [ 14%] tests/test_http_connection_injection.py::test_value_extracting_by_http PASSED [ 14%] tests/test_http_connection_injection.py::test_value_extracting_by_ws PASSED [ 14%] tests/test_include_route.py::test_sub_router PASSED [ 14%] tests/test_include_router_defaults_overrides.py::test_openapi PASSED [ 14%] tests/test_include_router_defaults_overrides.py::test_level1_override PASSED [ 14%] tests/test_include_router_defaults_overrides.py::test_level1_default PASSED [ 14%] tests/test_include_router_defaults_overrides.py::test_paths_level3[True-True-True] PASSED [ 14%] tests/test_include_router_defaults_overrides.py::test_paths_level3[True-True-False] PASSED [ 14%] tests/test_include_router_defaults_overrides.py::test_paths_level3[True-False-True] PASSED [ 14%] tests/test_include_router_defaults_overrides.py::test_paths_level3[True-False-False] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level3[False-True-True] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level3[False-True-False] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level3[False-False-True] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level3[False-False-False] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-True-True-True-True] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-True-True-True-False] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-True-True-False-True] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-True-True-False-False] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-True-False-True-True] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-True-False-True-False] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-True-False-False-True] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-True-False-False-False] PASSED [ 15%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-False-True-True-True] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-False-True-True-False] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-False-True-False-True] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-False-True-False-False] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-False-False-True-True] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-False-False-True-False] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-False-False-False-True] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[True-False-False-False-False] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-True-True-True-True] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-True-True-True-False] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-True-True-False-True] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-True-True-False-False] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-True-False-True-True] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-True-False-True-False] PASSED [ 16%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-True-False-False-True] PASSED [ 17%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-True-False-False-False] PASSED [ 17%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-False-True-True-True] PASSED [ 17%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-False-True-True-False] PASSED [ 17%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-False-True-False-True] PASSED [ 17%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-False-True-False-False] PASSED [ 17%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-False-False-True-True] PASSED [ 17%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-False-False-True-False] PASSED [ 17%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-False-False-False-True] PASSED [ 17%] tests/test_include_router_defaults_overrides.py::test_paths_level5[False-False-False-False-False] PASSED [ 17%] tests/test_infer_param_optionality.py::test_get_users PASSED [ 17%] tests/test_infer_param_optionality.py::test_get_user PASSED [ 17%] tests/test_infer_param_optionality.py::test_get_items_1 PASSED [ 17%] tests/test_infer_param_optionality.py::test_get_items_2 PASSED [ 18%] tests/test_infer_param_optionality.py::test_get_item_1 PASSED [ 18%] tests/test_infer_param_optionality.py::test_get_item_2 PASSED [ 18%] tests/test_infer_param_optionality.py::test_get_users_items PASSED [ 18%] tests/test_infer_param_optionality.py::test_get_users_item PASSED [ 18%] tests/test_infer_param_optionality.py::test_schema_1 PASSED [ 18%] tests/test_infer_param_optionality.py::test_schema_2 PASSED [ 18%] tests/test_inherited_custom_class.py::test_dt PASSED [ 18%] tests/test_invalid_path_param.py::test_invalid_sequence PASSED [ 18%] tests/test_invalid_path_param.py::test_invalid_tuple PASSED [ 18%] tests/test_invalid_path_param.py::test_invalid_dict PASSED [ 18%] tests/test_invalid_path_param.py::test_invalid_simple_list PASSED [ 18%] tests/test_invalid_path_param.py::test_invalid_simple_tuple PASSED [ 18%] tests/test_invalid_path_param.py::test_invalid_simple_set PASSED [ 19%] tests/test_invalid_path_param.py::test_invalid_simple_dict PASSED [ 19%] tests/test_invalid_sequence_param.py::test_invalid_sequence PASSED [ 19%] tests/test_invalid_sequence_param.py::test_invalid_tuple PASSED [ 19%] tests/test_invalid_sequence_param.py::test_invalid_dict PASSED [ 19%] tests/test_invalid_sequence_param.py::test_invalid_simple_dict PASSED [ 19%] tests/test_jsonable_encoder.py::test_encode_class PASSED [ 19%] tests/test_jsonable_encoder.py::test_encode_dictable PASSED [ 19%] tests/test_jsonable_encoder.py::test_encode_unsupported PASSED [ 19%] tests/test_jsonable_encoder.py::test_encode_custom_json_encoders_model PASSED [ 19%] tests/test_jsonable_encoder.py::test_encode_custom_json_encoders_model_subclass PASSED [ 19%] tests/test_jsonable_encoder.py::test_encode_model_with_config PASSED [ 19%] tests/test_jsonable_encoder.py::test_encode_model_with_alias_raises PASSED [ 19%] tests/test_jsonable_encoder.py::test_encode_model_with_alias PASSED [ 19%] tests/test_jsonable_encoder.py::test_encode_model_with_default PASSED [ 20%] tests/test_jsonable_encoder.py::test_custom_encoders PASSED [ 20%] tests/test_jsonable_encoder.py::test_custom_enum_encoders PASSED [ 20%] tests/test_jsonable_encoder.py::test_encode_model_with_path[PurePath] PASSED [ 20%] tests/test_jsonable_encoder.py::test_encode_model_with_path[PurePosixPath] PASSED [ 20%] tests/test_jsonable_encoder.py::test_encode_model_with_path[PureWindowsPath] PASSED [ 20%] tests/test_jsonable_encoder.py::test_encode_root PASSED [ 20%] tests/test_local_docs.py::test_strings_in_generated_swagger PASSED [ 20%] tests/test_local_docs.py::test_strings_in_custom_swagger PASSED [ 20%] tests/test_local_docs.py::test_strings_in_generated_redoc PASSED [ 20%] tests/test_local_docs.py::test_strings_in_custom_redoc PASSED [ 20%] tests/test_local_docs.py::test_google_fonts_in_generated_redoc PASSED [ 20%] tests/test_multi_body_errors.py::test_openapi_schema PASSED [ 20%] tests/test_multi_body_errors.py::test_put_correct_body PASSED [ 21%] tests/test_multi_body_errors.py::test_jsonable_encoder_requiring_error PASSED [ 21%] tests/test_multi_body_errors.py::test_put_incorrect_body_multiple PASSED [ 21%] tests/test_multi_query_errors.py::test_openapi_schema PASSED [ 21%] tests/test_multi_query_errors.py::test_multi_query PASSED [ 21%] tests/test_multi_query_errors.py::test_multi_query_incorrect PASSED [ 21%] tests/test_multipart_installation.py::test_incorrect_multipart_installed_form PASSED [ 21%] tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_upload PASSED [ 21%] tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_bytes PASSED [ 21%] tests/test_multipart_installation.py::test_incorrect_multipart_installed_multi_form PASSED [ 21%] tests/test_multipart_installation.py::test_incorrect_multipart_installed_form_file PASSED [ 21%] tests/test_multipart_installation.py::test_no_multipart_installed PASSED [ 21%] tests/test_multipart_installation.py::test_no_multipart_installed_file PASSED [ 21%] tests/test_multipart_installation.py::test_no_multipart_installed_file_bytes PASSED [ 22%] tests/test_multipart_installation.py::test_no_multipart_installed_multi_form PASSED [ 22%] tests/test_multipart_installation.py::test_no_multipart_installed_form_file PASSED [ 22%] tests/test_no_swagger_ui_redirect.py::test_swagger_ui PASSED [ 22%] tests/test_no_swagger_ui_redirect.py::test_swagger_ui_no_oauth2_redirect PASSED [ 22%] tests/test_no_swagger_ui_redirect.py::test_response PASSED [ 22%] tests/test_openapi_route_extensions.py::test_openapi PASSED [ 22%] tests/test_openapi_route_extensions.py::test_get_route PASSED [ 22%] tests/test_openapi_servers.py::test_openapi_servers PASSED [ 22%] tests/test_openapi_servers.py::test_app PASSED [ 22%] tests/test_operations_signatures.py::test_signatures_consistency PASSED [ 22%] tests/test_param_class.py::test_default_param_query_none PASSED [ 22%] tests/test_param_class.py::test_default_param_query PASSED [ 22%] tests/test_param_in_path_and_dependency.py::test_reused_param PASSED [ 22%] tests/test_param_in_path_and_dependency.py::test_read_users PASSED [ 23%] tests/test_param_include_in_schema.py::test_openapi_schema PASSED [ 23%] tests/test_param_include_in_schema.py::test_hidden_cookie[/hidden_cookie-cookies0-200-expected_response0] PASSED [ 23%] tests/test_param_include_in_schema.py::test_hidden_cookie[/hidden_cookie-cookies1-200-expected_response1] PASSED [ 23%] tests/test_param_include_in_schema.py::test_hidden_header[/hidden_header-headers0-200-expected_response0] PASSED [ 23%] tests/test_param_include_in_schema.py::test_hidden_header[/hidden_header-headers1-200-expected_response1] PASSED [ 23%] tests/test_param_include_in_schema.py::test_hidden_path PASSED [ 23%] tests/test_param_include_in_schema.py::test_hidden_query[/hidden_query-200-expected_response0] PASSED [ 23%] tests/test_param_include_in_schema.py::test_hidden_query[/hidden_query?hidden_query=somevalue-200-expected_response1] PASSED [ 23%] tests/test_params_repr.py::test_param_repr[teststr] PASSED [ 23%] tests/test_params_repr.py::test_param_repr[None] PASSED [ 23%] tests/test_params_repr.py::test_param_repr[params2] PASSED [ 23%] tests/test_params_repr.py::test_param_repr[1] PASSED [ 23%] tests/test_params_repr.py::test_param_repr[params4] PASSED [ 24%] tests/test_params_repr.py::test_path_repr[teststr] PASSED [ 24%] tests/test_params_repr.py::test_path_repr[None] PASSED [ 24%] tests/test_params_repr.py::test_path_repr[params2] PASSED [ 24%] tests/test_params_repr.py::test_path_repr[1] PASSED [ 24%] tests/test_params_repr.py::test_path_repr[params4] PASSED [ 24%] tests/test_params_repr.py::test_query_repr[teststr] PASSED [ 24%] tests/test_params_repr.py::test_query_repr[None] PASSED [ 24%] tests/test_params_repr.py::test_query_repr[params2] PASSED [ 24%] tests/test_params_repr.py::test_query_repr[1] PASSED [ 24%] tests/test_params_repr.py::test_query_repr[params4] PASSED [ 24%] tests/test_params_repr.py::test_header_repr[teststr] PASSED [ 24%] tests/test_params_repr.py::test_header_repr[None] PASSED [ 24%] tests/test_params_repr.py::test_header_repr[params2] PASSED [ 25%] tests/test_params_repr.py::test_header_repr[1] PASSED [ 25%] tests/test_params_repr.py::test_header_repr[params4] PASSED [ 25%] tests/test_params_repr.py::test_cookie_repr[teststr] PASSED [ 25%] tests/test_params_repr.py::test_cookie_repr[None] PASSED [ 25%] tests/test_params_repr.py::test_cookie_repr[params2] PASSED [ 25%] tests/test_params_repr.py::test_cookie_repr[1] PASSED [ 25%] tests/test_params_repr.py::test_cookie_repr[params4] PASSED [ 25%] tests/test_params_repr.py::test_body_repr[teststr] PASSED [ 25%] tests/test_params_repr.py::test_body_repr[None] PASSED [ 25%] tests/test_params_repr.py::test_body_repr[params2] PASSED [ 25%] tests/test_params_repr.py::test_body_repr[1] PASSED [ 25%] tests/test_params_repr.py::test_body_repr[params4] PASSED [ 25%] tests/test_params_repr.py::test_depends_repr PASSED [ 25%] tests/test_path.py::test_text_get PASSED [ 26%] tests/test_path.py::test_nonexistent PASSED [ 26%] tests/test_path.py::test_get_path[/path/foobar-200-foobar] PASSED [ 26%] tests/test_path.py::test_get_path[/path/str/foobar-200-foobar] PASSED [ 26%] tests/test_path.py::test_get_path[/path/str/42-200-42] PASSED [ 26%] tests/test_path.py::test_get_path[/path/str/True-200-True] PASSED [ 26%] tests/test_path.py::test_get_path[/path/int/foobar-422-expected_response4] PASSED [ 26%] tests/test_path.py::test_get_path[/path/int/True-422-expected_response5] PASSED [ 26%] tests/test_path.py::test_get_path[/path/int/42-200-42] PASSED [ 26%] tests/test_path.py::test_get_path[/path/int/42.5-422-expected_response7] PASSED [ 26%] tests/test_path.py::test_get_path[/path/float/foobar-422-expected_response8] PASSED [ 26%] tests/test_path.py::test_get_path[/path/float/True-422-expected_response9] PASSED [ 26%] tests/test_path.py::test_get_path[/path/float/42-200-42] PASSED [ 26%] tests/test_path.py::test_get_path[/path/float/42.5-200-42.5] PASSED [ 27%] tests/test_path.py::test_get_path[/path/bool/foobar-422-expected_response12] PASSED [ 27%] tests/test_path.py::test_get_path[/path/bool/True-200-True] PASSED [ 27%] tests/test_path.py::test_get_path[/path/bool/42-422-expected_response14] PASSED [ 27%] tests/test_path.py::test_get_path[/path/bool/42.5-422-expected_response15] PASSED [ 27%] tests/test_path.py::test_get_path[/path/bool/1-200-True] PASSED [ 27%] tests/test_path.py::test_get_path[/path/bool/0-200-False] PASSED [ 27%] tests/test_path.py::test_get_path[/path/bool/true-200-True] PASSED [ 27%] tests/test_path.py::test_get_path[/path/bool/False-200-False] PASSED [ 27%] tests/test_path.py::test_get_path[/path/bool/false-200-False] PASSED [ 27%] tests/test_path.py::test_get_path[/path/param/foo-200-foo] PASSED [ 27%] tests/test_path.py::test_get_path[/path/param-required/foo-200-foo] PASSED [ 27%] tests/test_path.py::test_get_path[/path/param-minlength/foo-200-foo] PASSED [ 27%] tests/test_path.py::test_get_path[/path/param-minlength/fo-422-expected_response24] PASSED [ 27%] tests/test_path.py::test_get_path[/path/param-maxlength/foo-200-foo] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-maxlength/foobar-422-expected_response26] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-min_maxlength/foo-200-foo] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-min_maxlength/foobar-422-expected_response28] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-min_maxlength/f-422-expected_response29] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-gt/42-200-42] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-gt/2-422-expected_response31] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-gt0/0.05-200-0.05] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-gt0/0-422-expected_response33] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-ge/42-200-42] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-ge/3-200-3] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-ge/2-422-expected_response36] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-lt/42-422-expected_response37] PASSED [ 28%] tests/test_path.py::test_get_path[/path/param-lt/2-200-2] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-lt0/-1-200--1] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-lt0/0-422-expected_response40] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-le/42-422-expected_response41] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-le/3-200-3] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-le/2-200-2] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-lt-gt/2-200-2] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-lt-gt/4-422-expected_response45] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-lt-gt/0-422-expected_response46] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-le-ge/2-200-2] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-le-ge/1-200-1] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-le-ge/3-200-3] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-le-ge/4-422-expected_response50] PASSED [ 29%] tests/test_path.py::test_get_path[/path/param-lt-int/2-200-2] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-lt-int/42-422-expected_response52] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-lt-int/2.7-422-expected_response53] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-gt-int/42-200-42] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-gt-int/2-422-expected_response55] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-gt-int/2.7-422-expected_response56] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-le-int/42-422-expected_response57] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-le-int/3-200-3] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-le-int/2-200-2] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-le-int/2.7-422-expected_response60] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-ge-int/42-200-42] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-ge-int/3-200-3] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-ge-int/2-422-expected_response63] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-ge-int/2.7-422-expected_response64] PASSED [ 30%] tests/test_path.py::test_get_path[/path/param-lt-gt-int/2-200-2] PASSED [ 31%] tests/test_path.py::test_get_path[/path/param-lt-gt-int/4-422-expected_response66] PASSED [ 31%] tests/test_path.py::test_get_path[/path/param-lt-gt-int/0-422-expected_response67] PASSED [ 31%] tests/test_path.py::test_get_path[/path/param-lt-gt-int/2.7-422-expected_response68] PASSED [ 31%] tests/test_path.py::test_get_path[/path/param-le-ge-int/2-200-2] PASSED [ 31%] tests/test_path.py::test_get_path[/path/param-le-ge-int/1-200-1] PASSED [ 31%] tests/test_path.py::test_get_path[/path/param-le-ge-int/3-200-3] PASSED [ 31%] tests/test_path.py::test_get_path[/path/param-le-ge-int/4-422-expected_response72] PASSED [ 31%] tests/test_path.py::test_get_path[/path/param-le-ge-int/2.7-422-expected_response73] PASSED [ 31%] tests/test_put_no_body.py::test_openapi_schema PASSED [ 31%] tests/test_put_no_body.py::test_put_no_body PASSED [ 31%] tests/test_put_no_body.py::test_put_no_body_with_body PASSED [ 31%] tests/test_query.py::test_get_path[/query-422-expected_response0] PASSED [ 31%] tests/test_query.py::test_get_path[/query?query=baz-200-foo bar baz] PASSED [ 32%] tests/test_query.py::test_get_path[/query?not_declared=baz-422-expected_response2] PASSED [ 32%] tests/test_query.py::test_get_path[/query/optional-200-foo bar] PASSED [ 32%] tests/test_query.py::test_get_path[/query/optional?query=baz-200-foo bar baz] PASSED [ 32%] tests/test_query.py::test_get_path[/query/optional?not_declared=baz-200-foo bar] PASSED [ 32%] tests/test_query.py::test_get_path[/query/int-422-expected_response6] PASSED [ 32%] tests/test_query.py::test_get_path[/query/int?query=42-200-foo bar 42] PASSED [ 32%] tests/test_query.py::test_get_path[/query/int?query=42.5-422-expected_response8] PASSED [ 32%] tests/test_query.py::test_get_path[/query/int?query=baz-422-expected_response9] PASSED [ 32%] tests/test_query.py::test_get_path[/query/int?not_declared=baz-422-expected_response10] PASSED [ 32%] tests/test_query.py::test_get_path[/query/int/optional-200-foo bar] PASSED [ 32%] tests/test_query.py::test_get_path[/query/int/optional?query=50-200-foo bar 50] PASSED [ 32%] tests/test_query.py::test_get_path[/query/int/optional?query=foo-422-expected_response13] PASSED [ 32%] tests/test_query.py::test_get_path[/query/int/default-200-foo bar 10] PASSED [ 33%] tests/test_query.py::test_get_path[/query/int/default?query=50-200-foo bar 50] PASSED [ 33%] tests/test_query.py::test_get_path[/query/int/default?query=foo-422-expected_response16] PASSED [ 33%] tests/test_query.py::test_get_path[/query/param-200-foo bar] PASSED [ 33%] tests/test_query.py::test_get_path[/query/param?query=50-200-foo bar 50] PASSED [ 33%] tests/test_query.py::test_get_path[/query/param-required-422-expected_response19] PASSED [ 33%] tests/test_query.py::test_get_path[/query/param-required?query=50-200-foo bar 50] PASSED [ 33%] tests/test_query.py::test_get_path[/query/param-required/int-422-expected_response21] PASSED [ 33%] tests/test_query.py::test_get_path[/query/param-required/int?query=50-200-foo bar 50] PASSED [ 33%] tests/test_query.py::test_get_path[/query/param-required/int?query=foo-422-expected_response23] PASSED [ 33%] tests/test_read_with_orm_mode.py::test_read_with_orm_mode PASSED [ 33%] tests/test_repeated_cookie_headers.py::test_cookie_is_set_once PASSED [ 33%] tests/test_repeated_dependency_schema.py::test_schema PASSED [ 33%] tests/test_repeated_dependency_schema.py::test_response PASSED [ 33%] tests/test_request_body_parameters_media_type.py::test_openapi_schema PASSED [ 34%] tests/test_required_noneable.py::test_required_nonable_query_invalid PASSED [ 34%] tests/test_required_noneable.py::test_required_noneable_query_value PASSED [ 34%] tests/test_required_noneable.py::test_required_nonable_explicit_query_invalid PASSED [ 34%] tests/test_required_noneable.py::test_required_nonable_explicit_query_value PASSED [ 34%] tests/test_required_noneable.py::test_required_nonable_body_embed_no_content PASSED [ 34%] tests/test_required_noneable.py::test_required_nonable_body_embed_invalid PASSED [ 34%] tests/test_required_noneable.py::test_required_noneable_body_embed_value PASSED [ 34%] tests/test_response_by_alias.py::test_openapi_schema PASSED [ 34%] tests/test_response_by_alias.py::test_read_dict PASSED [ 34%] tests/test_response_by_alias.py::test_read_model PASSED [ 34%] tests/test_response_by_alias.py::test_read_list PASSED [ 34%] tests/test_response_by_alias.py::test_read_dict_by_alias PASSED [ 34%] tests/test_response_by_alias.py::test_read_model_by_alias PASSED [ 35%] tests/test_response_by_alias.py::test_read_list_by_alias PASSED [ 35%] tests/test_response_by_alias.py::test_read_dict_no_alias PASSED [ 35%] tests/test_response_by_alias.py::test_read_model_no_alias PASSED [ 35%] tests/test_response_by_alias.py::test_read_list_no_alias PASSED [ 35%] tests/test_response_change_status_code.py::test_dependency_set_status_code PASSED [ 35%] tests/test_response_class_no_mediatype.py::test_openapi_schema PASSED [ 35%] tests/test_response_code_no_body.py::test_openapi_schema PASSED [ 35%] tests/test_response_model_include_exclude.py::test_nested_include_simple PASSED [ 35%] tests/test_response_model_include_exclude.py::test_nested_include_simple_dict PASSED [ 35%] tests/test_response_model_include_exclude.py::test_nested_exclude_simple PASSED [ 35%] tests/test_response_model_include_exclude.py::test_nested_exclude_simple_dict PASSED [ 35%] tests/test_response_model_include_exclude.py::test_nested_include_mixed PASSED [ 35%] tests/test_response_model_include_exclude.py::test_nested_include_mixed_dict PASSED [ 36%] tests/test_response_model_invalid.py::test_invalid_response_model_raises PASSED [ 36%] tests/test_response_model_invalid.py::test_invalid_response_model_sub_type_raises PASSED [ 36%] tests/test_response_model_invalid.py::test_invalid_response_model_in_responses_raises PASSED [ 36%] tests/test_response_model_invalid.py::test_invalid_response_model_sub_type_in_responses_raises PASSED [ 36%] tests/test_response_model_sub_types.py::test_openapi_schema PASSED [ 36%] tests/test_response_model_sub_types.py::test_path_operations PASSED [ 36%] tests/test_route_scope.py::test_get PASSED [ 36%] tests/test_route_scope.py::test_invalid_method_doesnt_match PASSED [ 36%] tests/test_route_scope.py::test_invalid_path_doesnt_match PASSED [ 36%] tests/test_route_scope.py::test_websocket PASSED [ 36%] tests/test_route_scope.py::test_websocket_invalid_path_doesnt_match PASSED [ 36%] tests/test_router_events.py::test_router_events PASSED [ 36%] tests/test_router_prefix_with_template.py::test_get PASSED [ 36%] tests/test_schema_extra_examples.py::test_openapi_schema PASSED [ 37%] tests/test_schema_extra_examples.py::test_call_api PASSED [ 37%] tests/test_security_api_key_cookie.py::test_openapi_schema PASSED [ 37%] tests/test_security_api_key_cookie.py::test_security_api_key PASSED [ 37%] tests/test_security_api_key_cookie.py::test_security_api_key_no_key PASSED [ 37%] tests/test_security_api_key_cookie_description.py::test_openapi_schema PASSED [ 37%] tests/test_security_api_key_cookie_description.py::test_security_api_key PASSED [ 37%] tests/test_security_api_key_cookie_description.py::test_security_api_key_no_key PASSED [ 37%] tests/test_security_api_key_cookie_optional.py::test_openapi_schema PASSED [ 37%] tests/test_security_api_key_cookie_optional.py::test_security_api_key PASSED [ 37%] tests/test_security_api_key_cookie_optional.py::test_security_api_key_no_key PASSED [ 37%] tests/test_security_api_key_header.py::test_openapi_schema PASSED [ 37%] tests/test_security_api_key_header.py::test_security_api_key PASSED [ 37%] tests/test_security_api_key_header.py::test_security_api_key_no_key PASSED [ 38%] tests/test_security_api_key_header_description.py::test_openapi_schema PASSED [ 38%] tests/test_security_api_key_header_description.py::test_security_api_key PASSED [ 38%] tests/test_security_api_key_header_description.py::test_security_api_key_no_key PASSED [ 38%] tests/test_security_api_key_header_optional.py::test_openapi_schema PASSED [ 38%] tests/test_security_api_key_header_optional.py::test_security_api_key PASSED [ 38%] tests/test_security_api_key_header_optional.py::test_security_api_key_no_key PASSED [ 38%] tests/test_security_api_key_query.py::test_openapi_schema PASSED [ 38%] tests/test_security_api_key_query.py::test_security_api_key PASSED [ 38%] tests/test_security_api_key_query.py::test_security_api_key_no_key PASSED [ 38%] tests/test_security_api_key_query_description.py::test_openapi_schema PASSED [ 38%] tests/test_security_api_key_query_description.py::test_security_api_key PASSED [ 38%] tests/test_security_api_key_query_description.py::test_security_api_key_no_key PASSED [ 38%] tests/test_security_api_key_query_optional.py::test_openapi_schema PASSED [ 38%] tests/test_security_api_key_query_optional.py::test_security_api_key PASSED [ 39%] tests/test_security_api_key_query_optional.py::test_security_api_key_no_key PASSED [ 39%] tests/test_security_http_base.py::test_openapi_schema PASSED [ 39%] tests/test_security_http_base.py::test_security_http_base PASSED [ 39%] tests/test_security_http_base.py::test_security_http_base_no_credentials PASSED [ 39%] tests/test_security_http_base_description.py::test_openapi_schema PASSED [ 39%] tests/test_security_http_base_description.py::test_security_http_base PASSED [ 39%] tests/test_security_http_base_description.py::test_security_http_base_no_credentials PASSED [ 39%] tests/test_security_http_base_optional.py::test_openapi_schema PASSED [ 39%] tests/test_security_http_base_optional.py::test_security_http_base PASSED [ 39%] tests/test_security_http_base_optional.py::test_security_http_base_no_credentials PASSED [ 39%] tests/test_security_http_basic_optional.py::test_openapi_schema PASSED [ 39%] tests/test_security_http_basic_optional.py::test_security_http_basic PASSED [ 39%] tests/test_security_http_basic_optional.py::test_security_http_basic_no_credentials PASSED [ 40%] tests/test_security_http_basic_optional.py::test_security_http_basic_invalid_credentials PASSED [ 40%] tests/test_security_http_basic_optional.py::test_security_http_basic_non_basic_credentials PASSED [ 40%] tests/test_security_http_basic_realm.py::test_openapi_schema PASSED [ 40%] tests/test_security_http_basic_realm.py::test_security_http_basic PASSED [ 40%] tests/test_security_http_basic_realm.py::test_security_http_basic_no_credentials PASSED [ 40%] tests/test_security_http_basic_realm.py::test_security_http_basic_invalid_credentials PASSED [ 40%] tests/test_security_http_basic_realm.py::test_security_http_basic_non_basic_credentials PASSED [ 40%] tests/test_security_http_basic_realm_description.py::test_openapi_schema PASSED [ 40%] tests/test_security_http_basic_realm_description.py::test_security_http_basic PASSED [ 40%] tests/test_security_http_basic_realm_description.py::test_security_http_basic_no_credentials PASSED [ 40%] tests/test_security_http_basic_realm_description.py::test_security_http_basic_invalid_credentials PASSED [ 40%] tests/test_security_http_basic_realm_description.py::test_security_http_basic_non_basic_credentials PASSED [ 40%] tests/test_security_http_bearer.py::test_openapi_schema PASSED [ 41%] tests/test_security_http_bearer.py::test_security_http_bearer PASSED [ 41%] tests/test_security_http_bearer.py::test_security_http_bearer_no_credentials PASSED [ 41%] tests/test_security_http_bearer.py::test_security_http_bearer_incorrect_scheme_credentials PASSED [ 41%] tests/test_security_http_bearer_description.py::test_openapi_schema PASSED [ 41%] tests/test_security_http_bearer_description.py::test_security_http_bearer PASSED [ 41%] tests/test_security_http_bearer_description.py::test_security_http_bearer_no_credentials PASSED [ 41%] tests/test_security_http_bearer_description.py::test_security_http_bearer_incorrect_scheme_credentials PASSED [ 41%] tests/test_security_http_bearer_optional.py::test_openapi_schema PASSED [ 41%] tests/test_security_http_bearer_optional.py::test_security_http_bearer PASSED [ 41%] tests/test_security_http_bearer_optional.py::test_security_http_bearer_no_credentials PASSED [ 41%] tests/test_security_http_bearer_optional.py::test_security_http_bearer_incorrect_scheme_credentials PASSED [ 41%] tests/test_security_http_digest.py::test_openapi_schema PASSED [ 41%] tests/test_security_http_digest.py::test_security_http_digest PASSED [ 41%] tests/test_security_http_digest.py::test_security_http_digest_no_credentials PASSED [ 42%] tests/test_security_http_digest.py::test_security_http_digest_incorrect_scheme_credentials PASSED [ 42%] tests/test_security_http_digest_description.py::test_openapi_schema PASSED [ 42%] tests/test_security_http_digest_description.py::test_security_http_digest PASSED [ 42%] tests/test_security_http_digest_description.py::test_security_http_digest_no_credentials PASSED [ 42%] tests/test_security_http_digest_description.py::test_security_http_digest_incorrect_scheme_credentials PASSED [ 42%] tests/test_security_http_digest_optional.py::test_openapi_schema PASSED [ 42%] tests/test_security_http_digest_optional.py::test_security_http_digest PASSED [ 42%] tests/test_security_http_digest_optional.py::test_security_http_digest_no_credentials PASSED [ 42%] tests/test_security_http_digest_optional.py::test_security_http_digest_incorrect_scheme_credentials PASSED [ 42%] tests/test_security_oauth2.py::test_openapi_schema PASSED [ 42%] tests/test_security_oauth2.py::test_security_oauth2 PASSED [ 42%] tests/test_security_oauth2.py::test_security_oauth2_password_other_header PASSED [ 42%] tests/test_security_oauth2.py::test_security_oauth2_password_bearer_no_header PASSED [ 43%] tests/test_security_oauth2.py::test_strict_login[None-422-expected_response0] PASSED [ 43%] tests/test_security_oauth2.py::test_strict_login[data1-422-expected_response1] PASSED [ 43%] tests/test_security_oauth2.py::test_strict_login[data2-422-expected_response2] PASSED [ 43%] tests/test_security_oauth2.py::test_strict_login[data3-200-expected_response3] PASSED [ 43%] tests/test_security_oauth2_authorization_code_bearer.py::test_openapi_schema PASSED [ 43%] tests/test_security_oauth2_authorization_code_bearer.py::test_no_token PASSED [ 43%] tests/test_security_oauth2_authorization_code_bearer.py::test_incorrect_token PASSED [ 43%] tests/test_security_oauth2_authorization_code_bearer.py::test_token PASSED [ 43%] tests/test_security_oauth2_authorization_code_bearer_description.py::test_openapi_schema PASSED [ 43%] tests/test_security_oauth2_authorization_code_bearer_description.py::test_no_token PASSED [ 43%] tests/test_security_oauth2_authorization_code_bearer_description.py::test_incorrect_token PASSED [ 43%] tests/test_security_oauth2_authorization_code_bearer_description.py::test_token PASSED [ 43%] tests/test_security_oauth2_optional.py::test_openapi_schema PASSED [ 44%] tests/test_security_oauth2_optional.py::test_security_oauth2 PASSED [ 44%] tests/test_security_oauth2_optional.py::test_security_oauth2_password_other_header PASSED [ 44%] tests/test_security_oauth2_optional.py::test_security_oauth2_password_bearer_no_header PASSED [ 44%] tests/test_security_oauth2_optional.py::test_strict_login[None-422-expected_response0] PASSED [ 44%] tests/test_security_oauth2_optional.py::test_strict_login[data1-422-expected_response1] PASSED [ 44%] tests/test_security_oauth2_optional.py::test_strict_login[data2-422-expected_response2] PASSED [ 44%] tests/test_security_oauth2_optional.py::test_strict_login[data3-200-expected_response3] PASSED [ 44%] tests/test_security_oauth2_optional_description.py::test_openapi_schema PASSED [ 44%] tests/test_security_oauth2_optional_description.py::test_security_oauth2 PASSED [ 44%] tests/test_security_oauth2_optional_description.py::test_security_oauth2_password_other_header PASSED [ 44%] tests/test_security_oauth2_optional_description.py::test_security_oauth2_password_bearer_no_header PASSED [ 44%] tests/test_security_oauth2_optional_description.py::test_strict_login[None-422-expected_response0] PASSED [ 44%] tests/test_security_oauth2_optional_description.py::test_strict_login[data1-422-expected_response1] PASSED [ 44%] tests/test_security_oauth2_optional_description.py::test_strict_login[data2-422-expected_response2] PASSED [ 45%] tests/test_security_oauth2_optional_description.py::test_strict_login[data3-200-expected_response3] PASSED [ 45%] tests/test_security_oauth2_password_bearer_optional.py::test_openapi_schema PASSED [ 45%] tests/test_security_oauth2_password_bearer_optional.py::test_no_token PASSED [ 45%] tests/test_security_oauth2_password_bearer_optional.py::test_token PASSED [ 45%] tests/test_security_oauth2_password_bearer_optional.py::test_incorrect_token PASSED [ 45%] tests/test_security_oauth2_password_bearer_optional_description.py::test_openapi_schema PASSED [ 45%] tests/test_security_oauth2_password_bearer_optional_description.py::test_no_token PASSED [ 45%] tests/test_security_oauth2_password_bearer_optional_description.py::test_token PASSED [ 45%] tests/test_security_oauth2_password_bearer_optional_description.py::test_incorrect_token PASSED [ 45%] tests/test_security_openid_connect.py::test_openapi_schema PASSED [ 45%] tests/test_security_openid_connect.py::test_security_oauth2 PASSED [ 45%] tests/test_security_openid_connect.py::test_security_oauth2_password_other_header PASSED [ 45%] tests/test_security_openid_connect.py::test_security_oauth2_password_bearer_no_header PASSED [ 46%] tests/test_security_openid_connect_description.py::test_openapi_schema PASSED [ 46%] tests/test_security_openid_connect_description.py::test_security_oauth2 PASSED [ 46%] tests/test_security_openid_connect_description.py::test_security_oauth2_password_other_header PASSED [ 46%] tests/test_security_openid_connect_description.py::test_security_oauth2_password_bearer_no_header PASSED [ 46%] tests/test_security_openid_connect_optional.py::test_openapi_schema PASSED [ 46%] tests/test_security_openid_connect_optional.py::test_security_oauth2 PASSED [ 46%] tests/test_security_openid_connect_optional.py::test_security_oauth2_password_other_header PASSED [ 46%] tests/test_security_openid_connect_optional.py::test_security_oauth2_password_bearer_no_header PASSED [ 46%] tests/test_serialize_response.py::test_valid PASSED [ 46%] tests/test_serialize_response.py::test_coerce PASSED [ 46%] tests/test_serialize_response.py::test_validlist PASSED [ 46%] tests/test_serialize_response_dataclass.py::test_valid PASSED [ 46%] tests/test_serialize_response_dataclass.py::test_object PASSED [ 47%] tests/test_serialize_response_dataclass.py::test_coerce PASSED [ 47%] tests/test_serialize_response_dataclass.py::test_validlist PASSED [ 47%] tests/test_serialize_response_dataclass.py::test_objectlist PASSED [ 47%] tests/test_serialize_response_dataclass.py::test_no_response_model_object PASSED [ 47%] tests/test_serialize_response_dataclass.py::test_no_response_model_objectlist PASSED [ 47%] tests/test_serialize_response_model.py::test_valid PASSED [ 47%] tests/test_serialize_response_model.py::test_coerce PASSED [ 47%] tests/test_serialize_response_model.py::test_validlist PASSED [ 47%] tests/test_serialize_response_model.py::test_validdict PASSED [ 47%] tests/test_serialize_response_model.py::test_valid_exclude_unset PASSED [ 47%] tests/test_serialize_response_model.py::test_coerce_exclude_unset PASSED [ 47%] tests/test_serialize_response_model.py::test_validlist_exclude_unset PASSED [ 47%] tests/test_serialize_response_model.py::test_validdict_exclude_unset PASSED [ 47%] tests/test_skip_defaults.py::test_return_defaults PASSED [ 48%] tests/test_skip_defaults.py::test_return_exclude_unset PASSED [ 48%] tests/test_skip_defaults.py::test_return_exclude_defaults PASSED [ 48%] tests/test_skip_defaults.py::test_return_exclude_none PASSED [ 48%] tests/test_skip_defaults.py::test_return_exclude_unset_none PASSED [ 48%] tests/test_starlette_exception.py::test_openapi_schema PASSED [ 48%] tests/test_starlette_exception.py::test_get_item PASSED [ 48%] tests/test_starlette_exception.py::test_get_item_not_found PASSED [ 48%] tests/test_starlette_exception.py::test_get_starlette_item PASSED [ 48%] tests/test_starlette_exception.py::test_get_starlette_item_not_found PASSED [ 48%] tests/test_starlette_urlconvertors.py::test_route_converters_int PASSED [ 48%] tests/test_starlette_urlconvertors.py::test_route_converters_float PASSED [ 48%] tests/test_starlette_urlconvertors.py::test_route_converters_path PASSED [ 48%] tests/test_starlette_urlconvertors.py::test_url_path_for_path_convertor PASSED [ 49%] tests/test_sub_callbacks.py::test_openapi PASSED [ 49%] tests/test_sub_callbacks.py::test_get PASSED [ 49%] tests/test_swagger_ui_init_oauth.py::test_swagger_ui PASSED [ 49%] tests/test_swagger_ui_init_oauth.py::test_response PASSED [ 49%] tests/test_tuples.py::test_openapi_schema FAILED [ 49%] tests/test_tuples.py::test_model_with_tuple_valid PASSED [ 49%] tests/test_tuples.py::test_model_with_tuple_invalid PASSED [ 49%] tests/test_tuples.py::test_tuple_with_model_valid PASSED [ 49%] tests/test_tuples.py::test_tuple_with_model_invalid PASSED [ 49%] tests/test_tuples.py::test_tuple_form_valid PASSED [ 49%] tests/test_tuples.py::test_tuple_form_invalid PASSED [ 49%] tests/test_typing_python39.py::test_typing PASSED [ 49%] tests/test_union_body.py::test_item_openapi_schema PASSED [ 50%] tests/test_union_body.py::test_post_other_item PASSED [ 50%] tests/test_union_body.py::test_post_item PASSED [ 50%] tests/test_union_inherited_body.py::test_inherited_item_openapi_schema PASSED [ 50%] tests/test_union_inherited_body.py::test_post_extended_item PASSED [ 50%] tests/test_union_inherited_body.py::test_post_item PASSED [ 50%] tests/test_validate_response.py::test_invalid PASSED [ 50%] tests/test_validate_response.py::test_double_invalid PASSED [ 50%] tests/test_validate_response.py::test_invalid_list PASSED [ 50%] tests/test_validate_response_dataclass.py::test_invalid PASSED [ 50%] tests/test_validate_response_dataclass.py::test_double_invalid PASSED [ 50%] tests/test_validate_response_dataclass.py::test_invalid_list PASSED [ 50%] tests/test_validate_response_recursive.py::test_recursive PASSED [ 50%] tests/test_ws_router.py::test_app PASSED [ 50%] tests/test_ws_router.py::test_router PASSED [ 51%] tests/test_ws_router.py::test_prefix_router PASSED [ 51%] tests/test_ws_router.py::test_native_prefix_router PASSED [ 51%] tests/test_ws_router.py::test_router2 PASSED [ 51%] tests/test_ws_router.py::test_router_ws_depends PASSED [ 51%] tests/test_ws_router.py::test_router_ws_depends_with_override PASSED [ 51%] tests/test_modules_same_name_body/test_main.py::test_openapi_schema PASSED [ 51%] tests/test_modules_same_name_body/test_main.py::test_post_a PASSED [ 51%] tests/test_modules_same_name_body/test_main.py::test_post_a_invalid PASSED [ 51%] tests/test_modules_same_name_body/test_main.py::test_post_b PASSED [ 51%] tests/test_modules_same_name_body/test_main.py::test_post_b_invalid PASSED [ 51%] tests/test_tutorial/test_additional_responses/test_tutorial001.py::test_openapi_schema PASSED [ 51%] tests/test_tutorial/test_additional_responses/test_tutorial001.py::test_path_operation PASSED [ 51%] tests/test_tutorial/test_additional_responses/test_tutorial001.py::test_path_operation_not_found PASSED [ 52%] tests/test_tutorial/test_additional_responses/test_tutorial002.py::test_openapi_schema PASSED [ 52%] tests/test_tutorial/test_additional_responses/test_tutorial002.py::test_path_operation PASSED [ 52%] tests/test_tutorial/test_additional_responses/test_tutorial002.py::test_path_operation_img PASSED [ 52%] tests/test_tutorial/test_additional_responses/test_tutorial003.py::test_openapi_schema PASSED [ 52%] tests/test_tutorial/test_additional_responses/test_tutorial003.py::test_path_operation PASSED [ 52%] tests/test_tutorial/test_additional_responses/test_tutorial003.py::test_path_operation_not_found PASSED [ 52%] tests/test_tutorial/test_additional_responses/test_tutorial004.py::test_openapi_schema PASSED [ 52%] tests/test_tutorial/test_additional_responses/test_tutorial004.py::test_path_operation PASSED [ 52%] tests/test_tutorial/test_additional_responses/test_tutorial004.py::test_path_operation_img PASSED [ 52%] tests/test_tutorial/test_additional_status_codes/test_tutorial001.py::test_update PASSED [ 52%] tests/test_tutorial/test_additional_status_codes/test_tutorial001.py::test_create PASSED [ 52%] tests/test_tutorial/test_advanced_middleware/test_tutorial001.py::test_middleware PASSED [ 52%] tests/test_tutorial/test_advanced_middleware/test_tutorial002.py::test_middleware PASSED [ 52%] tests/test_tutorial/test_advanced_middleware/test_tutorial003.py::test_middleware PASSED [ 53%] tests/test_tutorial/test_async_sql_databases/test_tutorial001.py::test_openapi_schema PASSED [ 53%] tests/test_tutorial/test_async_sql_databases/test_tutorial001.py::test_create_read PASSED [ 53%] tests/test_tutorial/test_async_tests/test_main.py::test_root[asyncio] <- docs_src/async_tests/test_main.py PASSED [ 53%] tests/test_tutorial/test_async_tests/test_main.py::test_root[trio] <- docs_src/async_tests/test_main.py PASSED [ 53%] tests/test_tutorial/test_async_tests/test_main.py::test_async_testing[asyncio] PASSED [ 53%] tests/test_tutorial/test_async_tests/test_main.py::test_async_testing[trio] PASSED [ 53%] tests/test_tutorial/test_background_tasks/test_tutorial001.py::test PASSED [ 53%] tests/test_tutorial/test_background_tasks/test_tutorial002.py::test PASSED [ 53%] tests/test_tutorial/test_background_tasks/test_tutorial002_py310.py::test PASSED [ 53%] tests/test_tutorial/test_behind_a_proxy/test_tutorial001.py::test_openapi PASSED [ 53%] tests/test_tutorial/test_behind_a_proxy/test_tutorial001.py::test_main PASSED [ 53%] tests/test_tutorial/test_behind_a_proxy/test_tutorial002.py::test_openapi PASSED [ 53%] tests/test_tutorial/test_behind_a_proxy/test_tutorial002.py::test_main PASSED [ 54%] tests/test_tutorial/test_behind_a_proxy/test_tutorial003.py::test_openapi PASSED [ 54%] tests/test_tutorial/test_behind_a_proxy/test_tutorial003.py::test_main PASSED [ 54%] tests/test_tutorial/test_behind_a_proxy/test_tutorial004.py::test_openapi PASSED [ 54%] tests/test_tutorial/test_behind_a_proxy/test_tutorial004.py::test_main PASSED [ 54%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/users?token=jessica-200-expected_response0-headers0] PASSED [ 54%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/users-422-expected_response1-headers1] PASSED [ 54%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/users/foo?token=jessica-200-expected_response2-headers2] PASSED [ 54%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/users/foo-422-expected_response3-headers3] PASSED [ 54%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/users/me?token=jessica-200-expected_response4-headers4] PASSED [ 54%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/users/me-422-expected_response5-headers5] PASSED [ 54%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/users?token=monica-400-expected_response6-headers6] PASSED [ 54%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/items?token=jessica-200-expected_response7-headers7] PASSED [ 54%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/items-422-expected_response8-headers8] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/items/plumbus?token=jessica-200-expected_response9-headers9] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/items/bar?token=jessica-404-expected_response10-headers10] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/items/plumbus-422-expected_response11-headers11] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/items?token=jessica-400-expected_response12-headers12] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/items/bar?token=jessica-400-expected_response13-headers13] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/items?token=jessica-422-expected_response14-headers14] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/items/plumbus?token=jessica-422-expected_response15-headers15] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/?token=jessica-200-expected_response16-headers16] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/-422-expected_response17-headers17] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_get_path[/openapi.json-200-expected_response18-headers18] PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_put_no_header PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_put_invalid_header PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_put PASSED [ 55%] tests/test_tutorial/test_bigger_applications/test_main.py::test_put_forbidden PASSED [ 56%] tests/test_tutorial/test_bigger_applications/test_main.py::test_admin PASSED [ 56%] tests/test_tutorial/test_bigger_applications/test_main.py::test_admin_invalid_header PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_openapi_schema PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_body[/items/-body0-200-expected_response0] PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_body[/items/-body1-200-expected_response1] PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_body[/items/-body2-200-expected_response2] PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_body[/items/-body3-200-expected_response3] PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_body[/items/-body4-422-expected_response4] PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_body[/items/-body5-422-expected_response5] PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_body[/items/-body6-422-expected_response6] PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_body[/items/-None-422-expected_response7] PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_broken_body PASSED [ 56%] tests/test_tutorial/test_body/test_tutorial001.py::test_post_form_for_json PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001.py::test_explicit_content_type PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001.py::test_geo_json PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001.py::test_no_content_type_is_json PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001.py::test_wrong_headers PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001.py::test_other_exceptions PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_openapi_schema PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_body[/items/-body0-200-expected_response0] PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_body[/items/-body1-200-expected_response1] PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_body[/items/-body2-200-expected_response2] PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_body[/items/-body3-200-expected_response3] PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_body[/items/-body4-422-expected_response4] PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_body[/items/-body5-422-expected_response5] PASSED [ 57%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_body[/items/-body6-422-expected_response6] PASSED [ 58%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_body[/items/-None-422-expected_response7] PASSED [ 58%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_broken_body PASSED [ 58%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_post_form_for_json PASSED [ 58%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_explicit_content_type PASSED [ 58%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_geo_json PASSED [ 58%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_no_content_type_is_json PASSED [ 58%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_wrong_headers PASSED [ 58%] tests/test_tutorial/test_body/test_tutorial001_py310.py::test_other_exceptions PASSED [ 58%] tests/test_tutorial/test_body_fields/test_tutorial001.py::test_openapi_schema PASSED [ 58%] tests/test_tutorial/test_body_fields/test_tutorial001.py::test[/items/5-body0-200-expected_response0] PASSED [ 58%] tests/test_tutorial/test_body_fields/test_tutorial001.py::test[/items/6-body1-200-expected_response1] PASSED [ 58%] tests/test_tutorial/test_body_fields/test_tutorial001.py::test[/items/5-body2-422-expected_response2] PASSED [ 58%] tests/test_tutorial/test_body_fields/test_tutorial001_py310.py::test_openapi_schema PASSED [ 58%] tests/test_tutorial/test_body_fields/test_tutorial001_py310.py::test[/items/5-body0-200-expected_response0] PASSED [ 59%] tests/test_tutorial/test_body_fields/test_tutorial001_py310.py::test[/items/6-body1-200-expected_response1] PASSED [ 59%] tests/test_tutorial/test_body_fields/test_tutorial001_py310.py::test[/items/5-body2-422-expected_response2] PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001.py::test_openapi_schema PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001.py::test_post_body[/items/5?q=bar-body0-200-expected_response0] PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001.py::test_post_body[/items/5?q=bar-None-200-expected_response1] PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001.py::test_post_body[/items/5-None-200-expected_response2] PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001.py::test_post_body[/items/foo-None-422-expected_response3] PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001_py310.py::test_openapi_schema PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001_py310.py::test_post_body[/items/5?q=bar-body0-200-expected_response0] PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001_py310.py::test_post_body[/items/5?q=bar-None-200-expected_response1] PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001_py310.py::test_post_body[/items/5-None-200-expected_response2] PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial001_py310.py::test_post_body[/items/foo-None-422-expected_response3] PASSED [ 59%] tests/test_tutorial/test_body_multiple_params/test_tutorial003.py::test_openapi_schema PASSED [ 60%] tests/test_tutorial/test_body_multiple_params/test_tutorial003.py::test_post_body[/items/5-body0-200-expected_response0] PASSED [ 60%] tests/test_tutorial/test_body_multiple_params/test_tutorial003.py::test_post_body[/items/5-None-422-expected_response1] PASSED [ 60%] tests/test_tutorial/test_body_multiple_params/test_tutorial003.py::test_post_body[/items/5-body2-422-expected_response2] PASSED [ 60%] tests/test_tutorial/test_body_multiple_params/test_tutorial003_py310.py::test_openapi_schema PASSED [ 60%] tests/test_tutorial/test_body_multiple_params/test_tutorial003_py310.py::test_post_body[/items/5-body0-200-expected_response0] PASSED [ 60%] tests/test_tutorial/test_body_multiple_params/test_tutorial003_py310.py::test_post_body[/items/5-None-422-expected_response1] PASSED [ 60%] tests/test_tutorial/test_body_multiple_params/test_tutorial003_py310.py::test_post_body[/items/5-body2-422-expected_response2] PASSED [ 60%] tests/test_tutorial/test_body_nested_models/test_tutorial009.py::test_openapi_schema PASSED [ 60%] tests/test_tutorial/test_body_nested_models/test_tutorial009.py::test_post_body PASSED [ 60%] tests/test_tutorial/test_body_nested_models/test_tutorial009.py::test_post_invalid_body PASSED [ 60%] tests/test_tutorial/test_body_nested_models/test_tutorial009_py39.py::test_openapi_schema PASSED [ 60%] tests/test_tutorial/test_body_nested_models/test_tutorial009_py39.py::test_post_body PASSED [ 60%] tests/test_tutorial/test_body_nested_models/test_tutorial009_py39.py::test_post_invalid_body PASSED [ 61%] tests/test_tutorial/test_body_updates/test_tutorial001.py::test_openapi_schema PASSED [ 61%] tests/test_tutorial/test_body_updates/test_tutorial001.py::test_get PASSED [ 61%] tests/test_tutorial/test_body_updates/test_tutorial001.py::test_put PASSED [ 61%] tests/test_tutorial/test_body_updates/test_tutorial001_py310.py::test_openapi_schema PASSED [ 61%] tests/test_tutorial/test_body_updates/test_tutorial001_py310.py::test_get PASSED [ 61%] tests/test_tutorial/test_body_updates/test_tutorial001_py310.py::test_put PASSED [ 61%] tests/test_tutorial/test_body_updates/test_tutorial001_py39.py::test_openapi_schema PASSED [ 61%] tests/test_tutorial/test_body_updates/test_tutorial001_py39.py::test_get PASSED [ 61%] tests/test_tutorial/test_body_updates/test_tutorial001_py39.py::test_put PASSED [ 61%] tests/test_tutorial/test_conditional_openapi/test_tutorial001.py::test_default_openapi PASSED [ 61%] tests/test_tutorial/test_conditional_openapi/test_tutorial001.py::test_disable_openapi PASSED [ 61%] tests/test_tutorial/test_conditional_openapi/test_tutorial001.py::test_root PASSED [ 61%] tests/test_tutorial/test_cookie_params/test_tutorial001.py::test[/openapi.json-None-200-expected_response0] PASSED [ 61%] tests/test_tutorial/test_cookie_params/test_tutorial001.py::test[/items-None-200-expected_response1] PASSED [ 62%] tests/test_tutorial/test_cookie_params/test_tutorial001.py::test[/items-cookies2-200-expected_response2] PASSED [ 62%] tests/test_tutorial/test_cookie_params/test_tutorial001.py::test[/items-cookies3-200-expected_response3] PASSED [ 62%] tests/test_tutorial/test_cookie_params/test_tutorial001.py::test[/items-cookies4-200-expected_response4] PASSED [ 62%] tests/test_tutorial/test_cookie_params/test_tutorial001_py310.py::test[/openapi.json-None-200-expected_response0] PASSED [ 62%] tests/test_tutorial/test_cookie_params/test_tutorial001_py310.py::test[/items-None-200-expected_response1] PASSED [ 62%] tests/test_tutorial/test_cookie_params/test_tutorial001_py310.py::test[/items-cookies2-200-expected_response2] PASSED [ 62%] tests/test_tutorial/test_cookie_params/test_tutorial001_py310.py::test[/items-cookies3-200-expected_response3] PASSED [ 62%] tests/test_tutorial/test_cookie_params/test_tutorial001_py310.py::test[/items-cookies4-200-expected_response4] PASSED [ 62%] tests/test_tutorial/test_cors/test_tutorial001.py::test_cors PASSED [ 62%] tests/test_tutorial/test_custom_request_and_route/test_tutorial001.py::test_gzip_request[True] PASSED [ 62%] tests/test_tutorial/test_custom_request_and_route/test_tutorial001.py::test_gzip_request[False] PASSED [ 62%] tests/test_tutorial/test_custom_request_and_route/test_tutorial001.py::test_request_class PASSED [ 62%] tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py::test_endpoint_works PASSED [ 63%] tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py::test_exception_handler_body_access PASSED [ 63%] tests/test_tutorial/test_custom_request_and_route/test_tutorial003.py::test_get PASSED [ 63%] tests/test_tutorial/test_custom_request_and_route/test_tutorial003.py::test_get_timed PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial001.py::test_openapi_schema PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial001.py::test_get_custom_response PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial001b.py::test_openapi_schema PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial001b.py::test_get_custom_response PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial004.py::test_openapi_schema PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial004.py::test_get_custom_response PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial005.py::test_openapi_schema PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial005.py::test_get PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial006.py::test_openapi_schema PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial006.py::test_get PASSED [ 63%] tests/test_tutorial/test_custom_response/test_tutorial006b.py::test_openapi_schema PASSED [ 64%] tests/test_tutorial/test_custom_response/test_tutorial006b.py::test_redirect_response_class PASSED [ 64%] tests/test_tutorial/test_custom_response/test_tutorial006c.py::test_openapi_schema PASSED [ 64%] tests/test_tutorial/test_custom_response/test_tutorial006c.py::test_redirect_status_code PASSED [ 64%] tests/test_tutorial/test_custom_response/test_tutorial007.py::test_get PASSED [ 64%] tests/test_tutorial/test_custom_response/test_tutorial008.py::test_get PASSED [ 64%] tests/test_tutorial/test_custom_response/test_tutorial009.py::test_get PASSED [ 64%] tests/test_tutorial/test_custom_response/test_tutorial009b.py::test_get PASSED [ 64%] tests/test_tutorial/test_dataclasses/test_tutorial001.py::test_openapi_schema PASSED [ 64%] tests/test_tutorial/test_dataclasses/test_tutorial001.py::test_post_item PASSED [ 64%] tests/test_tutorial/test_dataclasses/test_tutorial001.py::test_post_invalid_item PASSED [ 64%] tests/test_tutorial/test_dataclasses/test_tutorial002.py::test_openapi_schema PASSED [ 64%] tests/test_tutorial/test_dataclasses/test_tutorial002.py::test_get_item PASSED [ 64%] tests/test_tutorial/test_dataclasses/test_tutorial003.py::test_openapi_schema PASSED [ 65%] tests/test_tutorial/test_dataclasses/test_tutorial003.py::test_post_authors_item PASSED [ 65%] tests/test_tutorial/test_dataclasses/test_tutorial003.py::test_get_authors PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001.py::test_openapi_schema PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001.py::test_get[/items-200-expected_response0] PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001.py::test_get[/items?q=foo-200-expected_response1] PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001.py::test_get[/items?q=foo&skip=5-200-expected_response2] PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001.py::test_get[/items?q=foo&skip=5&limit=30-200-expected_response3] PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001.py::test_get[/users-200-expected_response4] PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001.py::test_get[/openapi.json-200-expected_response5] PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001_py310.py::test_openapi_schema PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001_py310.py::test_get[/items-200-expected_response0] PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001_py310.py::test_get[/items?q=foo-200-expected_response1] PASSED [ 65%] tests/test_tutorial/test_dependencies/test_tutorial001_py310.py::test_get[/items?q=foo&skip=5-200-expected_response2] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial001_py310.py::test_get[/items?q=foo&skip=5&limit=30-200-expected_response3] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial001_py310.py::test_get[/users-200-expected_response4] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial001_py310.py::test_get[/openapi.json-200-expected_response5] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004.py::test_openapi_schema PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004.py::test_get[/items-200-expected_response0] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004.py::test_get[/items?q=foo-200-expected_response1] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004.py::test_get[/items?q=foo&skip=1-200-expected_response2] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004.py::test_get[/items?q=bar&limit=2-200-expected_response3] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004.py::test_get[/items?q=bar&skip=1&limit=1-200-expected_response4] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004.py::test_get[/items?limit=1&q=bar&skip=1-200-expected_response5] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004_py310.py::test_openapi_schema PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004_py310.py::test_get[/items-200-expected_response0] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004_py310.py::test_get[/items?q=foo-200-expected_response1] PASSED [ 66%] tests/test_tutorial/test_dependencies/test_tutorial004_py310.py::test_get[/items?q=foo&skip=1-200-expected_response2] PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial004_py310.py::test_get[/items?q=bar&limit=2-200-expected_response3] PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial004_py310.py::test_get[/items?q=bar&skip=1&limit=1-200-expected_response4] PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial004_py310.py::test_get[/items?limit=1&q=bar&skip=1-200-expected_response5] PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial006.py::test_openapi_schema PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial006.py::test_get_no_headers PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial006.py::test_get_invalid_one_header PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial006.py::test_get_invalid_second_header PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial006.py::test_get_valid_headers PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial012.py::test_openapi_schema PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial012.py::test_get_no_headers_items PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial012.py::test_get_no_headers_users PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial012.py::test_get_invalid_one_header_items PASSED [ 67%] tests/test_tutorial/test_dependencies/test_tutorial012.py::test_get_invalid_one_users PASSED [ 68%] tests/test_tutorial/test_dependencies/test_tutorial012.py::test_get_invalid_second_header_items PASSED [ 68%] tests/test_tutorial/test_dependencies/test_tutorial012.py::test_get_invalid_second_header_users PASSED [ 68%] tests/test_tutorial/test_dependencies/test_tutorial012.py::test_get_valid_headers_items PASSED [ 68%] tests/test_tutorial/test_dependencies/test_tutorial012.py::test_get_valid_headers_users PASSED [ 68%] tests/test_tutorial/test_events/test_tutorial001.py::test_events PASSED [ 68%] tests/test_tutorial/test_events/test_tutorial002.py::test_events PASSED [ 68%] tests/test_tutorial/test_extending_openapi/test_tutorial001.py::test_openapi_schema PASSED [ 68%] tests/test_tutorial/test_extending_openapi/test_tutorial001.py::test PASSED [ 68%] tests/test_tutorial/test_extending_openapi/test_tutorial002.py::test_swagger_ui_html PASSED [ 68%] tests/test_tutorial/test_extending_openapi/test_tutorial002.py::test_swagger_ui_oauth2_redirect_html PASSED [ 68%] tests/test_tutorial/test_extending_openapi/test_tutorial002.py::test_redoc_html PASSED [ 68%] tests/test_tutorial/test_extending_openapi/test_tutorial002.py::test_api PASSED [ 68%] tests/test_tutorial/test_extending_openapi/test_tutorial003.py::test_swagger_ui PASSED [ 69%] tests/test_tutorial/test_extending_openapi/test_tutorial003.py::test_get_users PASSED [ 69%] tests/test_tutorial/test_extending_openapi/test_tutorial004.py::test_swagger_ui PASSED [ 69%] tests/test_tutorial/test_extending_openapi/test_tutorial004.py::test_get_users PASSED [ 69%] tests/test_tutorial/test_extending_openapi/test_tutorial005.py::test_swagger_ui PASSED [ 69%] tests/test_tutorial/test_extending_openapi/test_tutorial005.py::test_get_users PASSED [ 69%] tests/test_tutorial/test_extra_data_types/test_tutorial001.py::test_openapi_schema PASSED [ 69%] tests/test_tutorial/test_extra_data_types/test_tutorial001.py::test_extra_types PASSED [ 69%] tests/test_tutorial/test_extra_data_types/test_tutorial001_py310.py::test_openapi_schema PASSED [ 69%] tests/test_tutorial/test_extra_data_types/test_tutorial001_py310.py::test_extra_types PASSED [ 69%] tests/test_tutorial/test_extra_models/test_tutorial003.py::test_openapi_schema PASSED [ 69%] tests/test_tutorial/test_extra_models/test_tutorial003.py::test_get_car PASSED [ 69%] tests/test_tutorial/test_extra_models/test_tutorial003.py::test_get_plane PASSED [ 69%] tests/test_tutorial/test_extra_models/test_tutorial003_py310.py::test_openapi_schema PASSED [ 69%] tests/test_tutorial/test_extra_models/test_tutorial003_py310.py::test_get_car PASSED [ 70%] tests/test_tutorial/test_extra_models/test_tutorial003_py310.py::test_get_plane PASSED [ 70%] tests/test_tutorial/test_extra_models/test_tutorial004.py::test_openapi_schema PASSED [ 70%] tests/test_tutorial/test_extra_models/test_tutorial004.py::test_get_items PASSED [ 70%] tests/test_tutorial/test_extra_models/test_tutorial004_py39.py::test_openapi_schema PASSED [ 70%] tests/test_tutorial/test_extra_models/test_tutorial004_py39.py::test_get_items PASSED [ 70%] tests/test_tutorial/test_extra_models/test_tutorial005.py::test_openapi_schema PASSED [ 70%] tests/test_tutorial/test_extra_models/test_tutorial005.py::test_get_items PASSED [ 70%] tests/test_tutorial/test_extra_models/test_tutorial005_py39.py::test_openapi_schema PASSED [ 70%] tests/test_tutorial/test_extra_models/test_tutorial005_py39.py::test_get_items PASSED [ 70%] tests/test_tutorial/test_first_steps/test_tutorial001.py::test_get_path[/-200-expected_response0] PASSED [ 70%] tests/test_tutorial/test_first_steps/test_tutorial001.py::test_get_path[/nonexistent-404-expected_response1] PASSED [ 70%] tests/test_tutorial/test_first_steps/test_tutorial001.py::test_get_path[/openapi.json-200-expected_response2] PASSED [ 70%] tests/test_tutorial/test_generate_clients/test_tutorial003.py::test_openapi PASSED [ 71%] tests/test_tutorial/test_generate_clients/test_tutorial003.py::test_post_items PASSED [ 71%] tests/test_tutorial/test_generate_clients/test_tutorial003.py::test_post_users PASSED [ 71%] tests/test_tutorial/test_generate_clients/test_tutorial003.py::test_get_items PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial001.py::test_openapi_schema PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial001.py::test_get_item PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial001.py::test_get_item_not_found PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial002.py::test_openapi_schema PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial002.py::test_get_item_header PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial002.py::test_get_item_not_found_header PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial003.py::test_openapi_schema PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial003.py::test_get PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial003.py::test_get_exception PASSED [ 71%] tests/test_tutorial/test_handling_errors/test_tutorial004.py::test_openapi_schema PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial004.py::test_get_validation_error PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial004.py::test_get_http_error PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial004.py::test_get PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial005.py::test_openapi_schema PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial005.py::test_post_validation_error PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial005.py::test_post PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial006.py::test_openapi_schema PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial006.py::test_get_validation_error PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial006.py::test_get_http_error PASSED [ 72%] tests/test_tutorial/test_handling_errors/test_tutorial006.py::test_get PASSED [ 72%] tests/test_tutorial/test_header_params/test_tutorial001.py::test[/openapi.json-None-200-expected_response0] PASSED [ 72%] tests/test_tutorial/test_header_params/test_tutorial001.py::test[/items-None-200-expected_response1] PASSED [ 72%] tests/test_tutorial/test_header_params/test_tutorial001.py::test[/items-headers2-200-expected_response2] PASSED [ 72%] tests/test_tutorial/test_header_params/test_tutorial001.py::test[/items-headers3-200-expected_response3] PASSED [ 73%] tests/test_tutorial/test_header_params/test_tutorial001_py310.py::test[/openapi.json-None-200-expected_response0] PASSED [ 73%] tests/test_tutorial/test_header_params/test_tutorial001_py310.py::test[/items-None-200-expected_response1] PASSED [ 73%] tests/test_tutorial/test_header_params/test_tutorial001_py310.py::test[/items-headers2-200-expected_response2] PASSED [ 73%] tests/test_tutorial/test_header_params/test_tutorial001_py310.py::test[/items-headers3-200-expected_response3] PASSED [ 73%] tests/test_tutorial/test_metadata/test_tutorial001.py::test_openapi_schema PASSED [ 73%] tests/test_tutorial/test_metadata/test_tutorial001.py::test_items PASSED [ 73%] tests/test_tutorial/test_metadata/test_tutorial004.py::test_openapi_schema PASSED [ 73%] tests/test_tutorial/test_metadata/test_tutorial004.py::test_path_operations PASSED [ 73%] tests/test_tutorial/test_openapi_callbacks/test_tutorial001.py::test_openapi PASSED [ 73%] tests/test_tutorial/test_openapi_callbacks/test_tutorial001.py::test_get PASSED [ 73%] tests/test_tutorial/test_openapi_callbacks/test_tutorial001.py::test_dummy_callback PASSED [ 73%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial001.py::test_openapi_schema PASSED [ 73%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial001.py::test_get PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial002.py::test_openapi_schema PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial002.py::test_get PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial003.py::test_openapi_schema PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial003.py::test_get PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial004.py::test_openapi_schema PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial004.py::test_query_params_str_validations PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial005.py::test_openapi_schema PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial005.py::test_get PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial006.py::test_openapi_schema PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial006.py::test_post PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007.py::test_openapi_schema PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007.py::test_post PASSED [ 74%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007.py::test_post_broken_yaml PASSED [ 75%] tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007.py::test_post_invalid PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial002b.py::test_openapi_schema PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial002b.py::test_get_items PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial002b.py::test_get_users PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial005.py::test_openapi_schema PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial005.py::test_query_params_str_validations PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py310.py::test_openapi_schema PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py310.py::test_query_params_str_validations PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py39.py::test_openapi_schema PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py39.py::test_query_params_str_validations PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial006.py::test_openapi_schema PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial006.py::test_query_params_str_validations[/items/-200-expected_response0] PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial006.py::test_query_params_str_validations[/users/-200-expected_response1] PASSED [ 75%] tests/test_tutorial/test_path_operation_configurations/test_tutorial006.py::test_query_params_str_validations[/elements/-200-expected_response2] PASSED [ 76%] tests/test_tutorial/test_path_params/test_tutorial004.py::test_openapi PASSED [ 76%] tests/test_tutorial/test_path_params/test_tutorial004.py::test_file_path PASSED [ 76%] tests/test_tutorial/test_path_params/test_tutorial004.py::test_root_file_path PASSED [ 76%] tests/test_tutorial/test_path_params/test_tutorial005.py::test_openapi PASSED [ 76%] tests/test_tutorial/test_path_params/test_tutorial005.py::test_get_enums[/models/alexnet-200-expected0] PASSED [ 76%] tests/test_tutorial/test_path_params/test_tutorial005.py::test_get_enums[/models/lenet-200-expected1] PASSED [ 76%] tests/test_tutorial/test_path_params/test_tutorial005.py::test_get_enums[/models/resnet-200-expected2] PASSED [ 76%] tests/test_tutorial/test_path_params/test_tutorial005.py::test_get_enums[/models/foo-422-expected3] PASSED [ 76%] tests/test_tutorial/test_query_params/test_tutorial005.py::test[/openapi.json-200-expected_response0] PASSED [ 76%] tests/test_tutorial/test_query_params/test_tutorial005.py::test[/items/foo?needy=very-200-expected_response1] PASSED [ 76%] tests/test_tutorial/test_query_params/test_tutorial005.py::test[/items/foo-422-expected_response2] PASSED [ 76%] tests/test_tutorial/test_query_params/test_tutorial005.py::test[/items/foo-422-expected_response3] PASSED [ 76%] tests/test_tutorial/test_query_params/test_tutorial006.py::test[/openapi.json-200-expected_response0] PASSED [ 77%] tests/test_tutorial/test_query_params/test_tutorial006.py::test[/items/foo?needy=very-200-expected_response1] PASSED [ 77%] tests/test_tutorial/test_query_params/test_tutorial006.py::test[/items/foo?skip=a&limit=b-422-expected_response2] PASSED [ 77%] tests/test_tutorial/test_query_params/test_tutorial006_py310.py::test[/openapi.json-200-expected_response0] PASSED [ 77%] tests/test_tutorial/test_query_params/test_tutorial006_py310.py::test[/items/foo?needy=very-200-expected_response1] PASSED [ 77%] tests/test_tutorial/test_query_params/test_tutorial006_py310.py::test[/items/foo?skip=a&limit=b-422-expected_response2] PASSED [ 77%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py::test_openapi_schema PASSED [ 77%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py::test_query_params_str_validations[None-None-200-expected_response0] PASSED [ 77%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py::test_query_params_str_validations[item-query-fixedquery-200-expected_response1] PASSED [ 77%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py::test_query_params_str_validations[q-fixedquery-200-expected_response2] PASSED [ 77%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py::test_query_params_str_validations[item-query-nonregexquery-422-expected_response3] PASSED [ 77%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001_py310.py::test_openapi_schema PASSED [ 77%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001_py310.py::test_query_params_str_validations[None-None-200-expected_response0] PASSED [ 77%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001_py310.py::test_query_params_str_validations[item-query-fixedquery-200-expected_response1] PASSED [ 77%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001_py310.py::test_query_params_str_validations[q-fixedquery-200-expected_response2] PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial001_py310.py::test_query_params_str_validations[item-query-nonregexquery-422-expected_response3] PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py::test_openapi_schema PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py::test_multi_query_values PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py::test_query_no_values PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py310.py::test_openapi_schema PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py310.py::test_multi_query_values PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py310.py::test_query_no_values PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py39.py::test_openapi_schema PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py39.py::test_multi_query_values PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py39.py::test_query_no_values PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial012.py::test_openapi_schema PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial012.py::test_default_query_values PASSED [ 78%] tests/test_tutorial/test_query_params_str_validations/test_tutorial012.py::test_multi_query_values PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial012_py39.py::test_openapi_schema PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial012_py39.py::test_default_query_values PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial012_py39.py::test_multi_query_values PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial013.py::test_openapi_schema PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial013.py::test_multi_query_values PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial013.py::test_query_no_values PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial014.py::test_openapi_schema PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial014.py::test_hidden_query PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial014.py::test_no_hidden_query PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial014_py310.py::test_openapi_schema PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial014_py310.py::test_hidden_query PASSED [ 79%] tests/test_tutorial/test_query_params_str_validations/test_tutorial014_py310.py::test_no_hidden_query PASSED [ 79%] tests/test_tutorial/test_request_files/test_tutorial001.py::test_openapi_schema PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001.py::test_post_form_no_body PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001.py::test_post_body_json PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001.py::test_post_file PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001.py::test_post_large_file PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001.py::test_post_upload_file PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001_02.py::test_openapi_schema PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001_02.py::test_post_form_no_body PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001_02.py::test_post_uploadfile_no_body PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001_02.py::test_post_file PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001_02.py::test_post_upload_file PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001_02_py310.py::test_openapi_schema PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001_02_py310.py::test_post_form_no_body PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001_02_py310.py::test_post_uploadfile_no_body PASSED [ 80%] tests/test_tutorial/test_request_files/test_tutorial001_02_py310.py::test_post_file PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial001_02_py310.py::test_post_upload_file PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial001_03.py::test_openapi_schema PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial001_03.py::test_post_file PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial001_03.py::test_post_upload_file PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial002.py::test_openapi_schema PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial002.py::test_post_form_no_body PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial002.py::test_post_body_json PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial002.py::test_post_files PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial002.py::test_post_upload_file PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial002.py::test_get_root PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial002_py39.py::test_openapi_schema PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial002_py39.py::test_post_form_no_body PASSED [ 81%] tests/test_tutorial/test_request_files/test_tutorial002_py39.py::test_post_body_json PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial002_py39.py::test_post_files PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial002_py39.py::test_post_upload_file PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial002_py39.py::test_get_root PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial003.py::test_openapi_schema PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial003.py::test_post_files PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial003.py::test_post_upload_file PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial003.py::test_get_root PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial003_py39.py::test_openapi_schema PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial003_py39.py::test_post_files PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial003_py39.py::test_post_upload_file PASSED [ 82%] tests/test_tutorial/test_request_files/test_tutorial003_py39.py::test_get_root PASSED [ 82%] tests/test_tutorial/test_request_forms/test_tutorial001.py::test_openapi_schema PASSED [ 82%] tests/test_tutorial/test_request_forms/test_tutorial001.py::test_post_body_form[/login/-body0-200-expected_response0] PASSED [ 83%] tests/test_tutorial/test_request_forms/test_tutorial001.py::test_post_body_form[/login/-body1-422-expected_response1] PASSED [ 83%] tests/test_tutorial/test_request_forms/test_tutorial001.py::test_post_body_form[/login/-body2-422-expected_response2] PASSED [ 83%] tests/test_tutorial/test_request_forms/test_tutorial001.py::test_post_body_form[/login/-None-422-expected_response3] PASSED [ 83%] tests/test_tutorial/test_request_forms/test_tutorial001.py::test_post_body_json PASSED [ 83%] tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py::test_openapi_schema PASSED [ 83%] tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py::test_post_form_no_body PASSED [ 83%] tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py::test_post_form_no_file PASSED [ 83%] tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py::test_post_body_json PASSED [ 83%] tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py::test_post_file_no_token PASSED [ 83%] tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py::test_post_files_and_token PASSED [ 83%] tests/test_tutorial/test_response_change_status_code/test_tutorial001.py::test_path_operation PASSED [ 83%] tests/test_tutorial/test_response_cookies/test_tutorial001.py::test_path_operation PASSED [ 83%] tests/test_tutorial/test_response_cookies/test_tutorial002.py::test_path_operation PASSED [ 83%] tests/test_tutorial/test_response_headers/test_tutorial001.py::test_path_operation PASSED [ 84%] tests/test_tutorial/test_response_headers/test_tutorial002.py::test_path_operation PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial003.py::test_openapi_schema PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial003.py::test_post_user PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial003_py310.py::test_openapi_schema PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial003_py310.py::test_post_user PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial004.py::test_openapi_schema PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial004.py::test_get[/items/foo-data0] PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial004.py::test_get[/items/bar-data1] PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial004.py::test_get[/items/baz-data2] PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial004_py310.py::test_openapi_schema PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial004_py310.py::test_get[/items/foo-data0] PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial004_py310.py::test_get[/items/bar-data1] PASSED [ 84%] tests/test_tutorial/test_response_model/test_tutorial004_py310.py::test_get[/items/baz-data2] PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial004_py39.py::test_openapi_schema PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial004_py39.py::test_get[/items/foo-data0] PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial004_py39.py::test_get[/items/bar-data1] PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial004_py39.py::test_get[/items/baz-data2] PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial005.py::test_openapi_schema PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial005.py::test_read_item_name PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial005.py::test_read_item_public_data PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial005_py310.py::test_openapi_schema PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial005_py310.py::test_read_item_name PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial005_py310.py::test_read_item_public_data PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial006.py::test_openapi_schema PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial006.py::test_read_item_name PASSED [ 85%] tests/test_tutorial/test_response_model/test_tutorial006.py::test_read_item_public_data PASSED [ 86%] tests/test_tutorial/test_response_model/test_tutorial006_py310.py::test_openapi_schema PASSED [ 86%] tests/test_tutorial/test_response_model/test_tutorial006_py310.py::test_read_item_name PASSED [ 86%] tests/test_tutorial/test_response_model/test_tutorial006_py310.py::test_read_item_public_data PASSED [ 86%] tests/test_tutorial/test_schema_extra_example/test_tutorial004.py::test_openapi_schema PASSED [ 86%] tests/test_tutorial/test_schema_extra_example/test_tutorial004.py::test_post_body_example PASSED [ 86%] tests/test_tutorial/test_schema_extra_example/test_tutorial004_py310.py::test_openapi_schema PASSED [ 86%] tests/test_tutorial/test_schema_extra_example/test_tutorial004_py310.py::test_post_body_example PASSED [ 86%] tests/test_tutorial/test_security/test_tutorial001.py::test_openapi_schema PASSED [ 86%] tests/test_tutorial/test_security/test_tutorial001.py::test_no_token PASSED [ 86%] tests/test_tutorial/test_security/test_tutorial001.py::test_token PASSED [ 86%] tests/test_tutorial/test_security/test_tutorial001.py::test_incorrect_token PASSED [ 86%] tests/test_tutorial/test_security/test_tutorial003.py::test_openapi_schema PASSED [ 86%] tests/test_tutorial/test_security/test_tutorial003.py::test_login PASSED [ 86%] tests/test_tutorial/test_security/test_tutorial003.py::test_login_incorrect_password PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003.py::test_login_incorrect_username PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003.py::test_no_token PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003.py::test_token PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003.py::test_incorrect_token PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003.py::test_incorrect_token_type PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003.py::test_inactive_user PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003_py310.py::test_openapi_schema PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003_py310.py::test_login PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003_py310.py::test_login_incorrect_password PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003_py310.py::test_login_incorrect_username PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003_py310.py::test_no_token PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003_py310.py::test_token PASSED [ 87%] tests/test_tutorial/test_security/test_tutorial003_py310.py::test_incorrect_token PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial003_py310.py::test_incorrect_token_type PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial003_py310.py::test_inactive_user PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_openapi_schema PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_login PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_login_incorrect_password PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_login_incorrect_username PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_no_token PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_token PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_incorrect_token PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_incorrect_token_type PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_verify_password PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_get_password_hash PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_create_access_token PASSED [ 88%] tests/test_tutorial/test_security/test_tutorial005.py::test_token_no_sub PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005.py::test_token_no_username PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005.py::test_token_no_scope PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005.py::test_token_inexistent_user PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005.py::test_token_inactive_user PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005.py::test_read_items PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005.py::test_read_system_status PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005.py::test_read_system_status_no_token PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_openapi_schema PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_login PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_login_incorrect_password PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_login_incorrect_username PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_no_token PASSED [ 89%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_token PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_incorrect_token PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_incorrect_token_type PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_verify_password PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_get_password_hash PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_create_access_token PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_token_no_sub PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_token_no_username PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_token_no_scope PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_token_inexistent_user PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_token_inactive_user PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_read_items PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_read_system_status PASSED [ 90%] tests/test_tutorial/test_security/test_tutorial005_py310.py::test_read_system_status_no_token PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_openapi_schema PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_login PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_login_incorrect_password PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_login_incorrect_username PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_no_token PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_token PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_incorrect_token PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_incorrect_token_type PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_verify_password PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_get_password_hash PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_create_access_token PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_token_no_sub PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_token_no_username PASSED [ 91%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_token_no_scope PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_token_inexistent_user PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_token_inactive_user PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_read_items PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_read_system_status PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial005_py39.py::test_read_system_status_no_token PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial006.py::test_openapi_schema PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial006.py::test_security_http_basic PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial006.py::test_security_http_basic_no_credentials PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial006.py::test_security_http_basic_invalid_credentials PASSED [ 92%] tests/test_tutorial/test_security/test_tutorial006.py::test_security_http_basic_non_basic_credentials PASSED [ 92%] tests/test_tutorial/test_settings/test_app02.py::test_settings PASSED [ 92%] tests/test_tutorial/test_settings/test_app02.py::test_override_settings PASSED [ 92%] tests/test_tutorial/test_sql_databases/test_sql_databases.py::test_openapi_schema PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases.py::test_create_user PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases.py::test_get_user PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases.py::test_inexistent_user PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases.py::test_get_users PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases.py::test_create_item PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases.py::test_read_items PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py::test_openapi_schema PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py::test_create_user PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py::test_get_user PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py::test_inexistent_user PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py::test_get_users PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py::test_create_item PASSED [ 93%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py::test_read_items PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py::test_openapi_schema PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py::test_create_user PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py::test_get_user PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py::test_inexistent_user PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py::test_get_users PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py::test_create_item PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py::test_read_items PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py::test_openapi_schema PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py::test_create_user PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py::test_get_user PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py::test_inexistent_user PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py::test_get_users PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py::test_create_item PASSED [ 94%] tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py::test_read_items PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py::test_openapi_schema PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py::test_create_user PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py::test_get_user PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py::test_inexistent_user PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py::test_get_users PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py::test_create_item PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py::test_read_items PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py::test_openapi_schema PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py::test_create_user PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py::test_get_user PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py::test_inexistent_user PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py::test_get_users PASSED [ 95%] tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py::test_create_item PASSED [ 96%] tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py::test_read_items PASSED [ 96%] tests/test_tutorial/test_sql_databases/test_testing_databases.py::test_testing_dbs PASSED [ 96%] tests/test_tutorial/test_sql_databases/test_testing_databases_py310.py::test_testing_dbs_py39 PASSED [ 96%] tests/test_tutorial/test_sql_databases/test_testing_databases_py39.py::test_testing_dbs_py39 PASSED [ 96%] tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py::test_openapi_schema PASSED [ 96%] tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py::test_create_user PASSED [ 96%] tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py::test_get_user PASSED [ 96%] tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py::test_inexistent_user PASSED [ 96%] tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py::test_get_users PASSED [ 96%] tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py::test_get_slowusers PASSED [ 96%] tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py::test_create_item PASSED [ 96%] tests/test_tutorial/test_sql_databases_peewee/test_sql_databases_peewee.py::test_read_items PASSED [ 96%] tests/test_tutorial/test_sub_applications/test_tutorial001.py::test_openapi_schema_main PASSED [ 97%] tests/test_tutorial/test_sub_applications/test_tutorial001.py::test_main PASSED [ 97%] tests/test_tutorial/test_sub_applications/test_tutorial001.py::test_openapi_schema_sub PASSED [ 97%] tests/test_tutorial/test_sub_applications/test_tutorial001.py::test_sub PASSED [ 97%] tests/test_tutorial/test_templates/test_tutorial001.py::test_main PASSED [ 97%] tests/test_tutorial/test_testing/test_main.py::test_read_main <- docs_src/app_testing/test_main.py PASSED [ 97%] tests/test_tutorial/test_testing/test_main.py::test_openapi_schema PASSED [ 97%] tests/test_tutorial/test_testing/test_main.py::test_main PASSED [ 97%] tests/test_tutorial/test_testing/test_main_b.py::test_app PASSED [ 97%] tests/test_tutorial/test_testing/test_main_b_py310.py::test_app PASSED [ 97%] tests/test_tutorial/test_testing/test_tutorial001.py::test_read_main <- docs_src/app_testing/tutorial001.py PASSED [ 97%] tests/test_tutorial/test_testing/test_tutorial001.py::test_openapi_schema PASSED [ 97%] tests/test_tutorial/test_testing/test_tutorial001.py::test_main PASSED [ 97%] tests/test_tutorial/test_testing/test_tutorial002.py::test_read_main <- docs_src/app_testing/tutorial002.py PASSED [ 97%] tests/test_tutorial/test_testing/test_tutorial002.py::test_websocket <- docs_src/app_testing/tutorial002.py PASSED [ 98%] tests/test_tutorial/test_testing/test_tutorial002.py::test_main PASSED [ 98%] tests/test_tutorial/test_testing/test_tutorial002.py::test_ws PASSED [ 98%] tests/test_tutorial/test_testing/test_tutorial003.py::test_read_items <- docs_src/app_testing/tutorial003.py PASSED [ 98%] tests/test_tutorial/test_testing/test_tutorial003.py::test_main PASSED [ 98%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_items <- docs_src/dependency_testing/tutorial001.py PASSED [ 98%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_items_with_params <- docs_src/dependency_testing/tutorial001.py PASSED [ 98%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_items_with_q <- docs_src/dependency_testing/tutorial001.py PASSED [ 98%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_items_run PASSED [ 98%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_items_with_q_run PASSED [ 98%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_items_with_params_run PASSED [ 98%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_users PASSED [ 98%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_users_with_q PASSED [ 98%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_override_in_users_with_params PASSED [ 99%] tests/test_tutorial/test_testing_dependencies/test_tutorial001.py::test_normal_app PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial001.py::test_main PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial001.py::test_websocket PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial002.py::test_main PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial002.py::test_websocket_with_cookie PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial002.py::test_websocket_with_header PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial002.py::test_websocket_with_header_and_query PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial002.py::test_websocket_no_credentials PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial002.py::test_websocket_invalid_data PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial003.py::test_get PASSED [ 99%] tests/test_tutorial/test_websockets/test_tutorial003.py::test_websocket_handle_disconnection PASSED [ 99%] tests/test_tutorial/test_wsgi/test_tutorial001.py::test_flask PASSED [ 99%] tests/test_tutorial/test_wsgi/test_tutorial001.py::test_app PASSED [100%] =================================== FAILURES =================================== _____________________________ test_openapi_schema ______________________________ def test_openapi_schema(): response = client.get("/openapi.json") assert response.status_code == 200, response.text > assert response.json() == openapi_schema E AssertionError: assert {'components': {'schemas': {'Body_hello_tuple_form__post': {'properties': {'values': {'items': [{'type': 'integer'},\n {'type': 'integer'}],\n 'title': 'Values',\n 'type': 'array'}},\n 'required': ['values'],\n 'title': 'Body_hello_tuple_form__post',\n 'type': 'object'},\n 'Coordinate': {'properties': {'x': {'title': 'X',\n 'type': 'number'},\n 'y': {'title': 'Y',\n 'type': 'number'}},\n 'required': ['x', 'y'],\n 'title': 'Coordinate',\n 'type': 'object'},\n 'HTTPValidationError': {'properties': {'detail': {'items': {'$ref': '#/components/schemas/ValidationError'},\n 'title': 'Detail',\n 'type': 'array'}},\n 'title': 'HTTPValidationError',\n 'type': 'object'},\n 'ItemGroup': {'properties': {'items': {'items': {'items': [{'type': 'string'},\n {'type': 'string'}],\n 'type': 'array'},\n 'title': 'Items',\n 'type': 'array'}},\n 'required': ['items'],\n 'title': 'ItemGroup',\n 'type': 'object'},\n 'ValidationError': {'properties': {'loc': {'items': {'anyOf': [{'type': 'string'},\n {'type': 'integer'}]},\n 'title': 'Location',\n 'type': 'array'},\n 'msg': {'title': 'Message',\n 'type': 'string'},\n 'type': {'title': 'Error '\n 'Type',\n 'type': 'string'}},\n 'required': ['loc',\n 'msg',\n 'type'],\n 'title': 'ValidationError',\n 'type': 'object'}}},\n 'info': {'title': 'FastAPI', 'version': '0.1.0'},\n 'openapi': '3.0.2',\n 'paths': {'/model-with-tuple/': {'post': {'operationId': 'post_model_with_tuple_model_with_tuple__post',\n 'requestBody': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/ItemGroup'}}},\n 'required': True},\n 'responses': {'200': {'content': {'application/json': {'schema': {}}},\n 'description': 'Successful '\n 'Response'},\n '422': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}},\n 'description': 'Validation '\n 'Error'}},\n 'summary': 'Post Model With Tuple'}},\n '/tuple-form/': {'post': {'operationId': 'hello_tuple_form__post',\n 'requestBody': {'content': {'application/x-www-form-urlencoded': {'schema': {'$ref': '#/components/schemas/Body_hello_tuple_form__post'}}},\n 'required': True},\n 'responses': {'200': {'content': {'application/json': {'schema': {}}},\n 'description': 'Successful '\n 'Response'},\n '422': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}},\n 'description': 'Validation '\n 'Error'}},\n 'summary': 'Hello'}},\n '/tuple-of-models/': {'post': {'operationId': 'post_tuple_of_models_tuple_of_models__post',\n 'requestBody': {'content': {'application/json': {'schema': {'items': [{'$ref': '#/components/schemas/Coordinate'},\n {'$ref': '#/components/schemas/Coordinate'}],\n 'title': 'Square',\n 'type': 'array'}}},\n 'required': True},\n 'responses': {'200': {'content': {'application/json': {'schema': {}}},\n 'description': 'Successful '\n 'Response'},\n '422': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}},\n 'description': 'Validation '\n 'Error'}},\n 'summary': 'Post Tuple Of Models'}}}} == {'components': {'schemas': {'Body_hello_tuple_form__post': {'properties': {'values': {'items': [{'type': 'integer'},\n {'type': 'integer'}],\n 'maxItems': 2,\n 'minItems': 2,\n 'title': 'Values',\n 'type': 'array'}},\n 'required': ['values'],\n 'title': 'Body_hello_tuple_form__post',\n 'type': 'object'},\n 'Coordinate': {'properties': {'x': {'title': 'X',\n 'type': 'number'},\n 'y': {'title': 'Y',\n 'type': 'number'}},\n 'required': ['x', 'y'],\n 'title': 'Coordinate',\n 'type': 'object'},\n 'HTTPValidationError': {'properties': {'detail': {'items': {'$ref': '#/components/schemas/ValidationError'},\n 'title': 'Detail',\n 'type': 'array'}},\n 'title': 'HTTPValidationError',\n 'type': 'object'},\n 'ItemGroup': {'properties': {'items': {'items': {'items': [{'type': 'string'},\n {'type': 'string'}],\n 'maxItems': 2,\n 'minItems': 2,\n 'type': 'array'},\n 'title': 'Items',\n 'type': 'array'}},\n 'required': ['items'],\n 'title': 'ItemGroup',\n 'type': 'object'},\n 'ValidationError': {'properties': {'loc': {'items': {'anyOf': [{'type': 'string'},\n {'type': 'integer'}]},\n 'title': 'Location',\n 'type': 'array'},\n 'msg': {'title': 'Message',\n 'type': 'string'},\n 'type': {'title': 'Error '\n 'Type',\n 'type': 'string'}},\n 'required': ['loc',\n 'msg',\n 'type'],\n 'title': 'ValidationError',\n 'type': 'object'}}},\n 'info': {'title': 'FastAPI', 'version': '0.1.0'},\n 'openapi': '3.0.2',\n 'paths': {'/model-with-tuple/': {'post': {'operationId': 'post_model_with_tuple_model_with_tuple__post',\n 'requestBody': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/ItemGroup'}}},\n 'required': True},\n 'responses': {'200': {'content': {'application/json': {'schema': {}}},\n 'description': 'Successful '\n 'Response'},\n '422': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}},\n 'description': 'Validation '\n 'Error'}},\n 'summary': 'Post Model With Tuple'}},\n '/tuple-form/': {'post': {'operationId': 'hello_tuple_form__post',\n 'requestBody': {'content': {'application/x-www-form-urlencoded': {'schema': {'$ref': '#/components/schemas/Body_hello_tuple_form__post'}}},\n 'required': True},\n 'responses': {'200': {'content': {'application/json': {'schema': {}}},\n 'description': 'Successful '\n 'Response'},\n '422': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}},\n 'description': 'Validation '\n 'Error'}},\n 'summary': 'Hello'}},\n '/tuple-of-models/': {'post': {'operationId': 'post_tuple_of_models_tuple_of_models__post',\n 'requestBody': {'content': {'application/json': {'schema': {'items': [{'$ref': '#/components/schemas/Coordinate'},\n {'$ref': '#/components/schemas/Coordinate'}],\n 'maxItems': 2,\n 'minItems': 2,\n 'title': 'Square',\n 'type': 'array'}}},\n 'required': True},\n 'responses': {'200': {'content': {'application/json': {'schema': {}}},\n 'description': 'Successful '\n 'Response'},\n '422': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}},\n 'description': 'Validation '\n 'Error'}},\n 'summary': 'Post Tuple Of Models'}}}} E Common items: E {'info': {'title': 'FastAPI', 'version': '0.1.0'}, 'openapi': '3.0.2'} E Differing items: E {'components': {'schemas': {'Body_hello_tuple_form__post': {'properties': {'values': {'items': [...], 'title': 'Values...ms': {...}, 'title': 'Items', 'type': 'array'}}, 'required': ['items'], 'title': 'ItemGroup', 'type': 'object'}, ...}}} != {'components': {'schemas': {'Body_hello_tuple_form__post': {'properties': {'values': {'items': [...], 'maxItems': 2, '...ms': {...}, 'title': 'Items', 'type': 'array'}}, 'required': ['items'], 'title': 'ItemGroup', 'type': 'object'}, ...}}} E {'paths': {'/model-with-tuple/': {'post': {'operationId': 'post_model_with_tuple_model_with_tuple__post', 'requestBody...essful Response'}, '422': {'content': {...}, 'description': 'Validation Error'}}, 'summary': 'Post Tuple Of Models'}}}} != {'paths': {'/model-with-tuple/': {'post': {'operationId': 'post_model_with_tuple_model_with_tuple__post', 'requestBody...essful Response'}, '422': {'content': {...}, 'description': 'Validation Error'}}, 'summary': 'Post Tuple Of Models'}}}} E Full diff: E { E 'components': {'schemas': {'Body_hello_tuple_form__post': {'properties': {'values': {'items': [{'type': 'integer'}, E {'type': 'integer'}], E - 'maxItems': 2, E - 'minItems': 2, E 'title': 'Values', E 'type': 'array'}}, E 'required': ['values'], E 'title': 'Body_hello_tuple_form__post', E 'type': 'object'}, E 'Coordinate': {'properties': {'x': {'title': 'X', E 'type': 'number'}, E 'y': {'title': 'Y', E 'type': 'number'}}, E 'required': ['x', E 'y'], E 'title': 'Coordinate', E 'type': 'object'}, E 'HTTPValidationError': {'properties': {'detail': {'items': {'$ref': '#/components/schemas/ValidationError'}, E 'title': 'Detail', E 'type': 'array'}}, E 'title': 'HTTPValidationError', E 'type': 'object'}, E 'ItemGroup': {'properties': {'items': {'items': {'items': [{'type': 'string'}, E {'type': 'string'}], E - 'maxItems': 2, E - 'minItems': 2, E 'type': 'array'}, E 'title': 'Items', E 'type': 'array'}}, E 'required': ['items'], E 'title': 'ItemGroup', E 'type': 'object'}, E 'ValidationError': {'properties': {'loc': {'items': {'anyOf': [{'type': 'string'}, E {'type': 'integer'}]}, E 'title': 'Location', E 'type': 'array'}, E 'msg': {'title': 'Message', E 'type': 'string'}, E 'type': {'title': 'Error ' E 'Type', E 'type': 'string'}}, E 'required': ['loc', E 'msg', E 'type'], E 'title': 'ValidationError', E 'type': 'object'}}}, E 'info': {'title': 'FastAPI', E 'version': '0.1.0'}, E 'openapi': '3.0.2', E 'paths': {'/model-with-tuple/': {'post': {'operationId': 'post_model_with_tuple_model_with_tuple__post', E 'requestBody': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/ItemGroup'}}}, E 'required': True}, E 'responses': {'200': {'content': {'application/json': {'schema': {}}}, E 'description': 'Successful ' E 'Response'}, E '422': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}}, E 'description': 'Validation ' E 'Error'}}, E 'summary': 'Post Model With Tuple'}}, E '/tuple-form/': {'post': {'operationId': 'hello_tuple_form__post', E 'requestBody': {'content': {'application/x-www-form-urlencoded': {'schema': {'$ref': '#/components/schemas/Body_hello_tuple_form__post'}}}, E 'required': True}, E 'responses': {'200': {'content': {'application/json': {'schema': {}}}, E 'description': 'Successful ' E 'Response'}, E '422': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}}, E 'description': 'Validation ' E 'Error'}}, E 'summary': 'Hello'}}, E '/tuple-of-models/': {'post': {'operationId': 'post_tuple_of_models_tuple_of_models__post', E 'requestBody': {'content': {'application/json': {'schema': {'items': [{'$ref': '#/components/schemas/Coordinate'}, E {'$ref': '#/components/schemas/Coordinate'}], E - 'maxItems': 2, E - 'minItems': 2, E 'title': 'Square', E 'type': 'array'}}}, E 'required': True}, E 'responses': {'200': {'content': {'application/json': {'schema': {}}}, E 'description': 'Successful ' E 'Response'}, E '422': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}}, E 'description': 'Validation ' E 'Error'}}, E 'summary': 'Post Tuple Of Models'}}}, E } tests/test_tuples.py:217: AssertionError =========================== short test summary info ============================ FAILED tests/test_tuples.py::test_openapi_schema - AssertionError: assert {'c... =========== 1 failed, 1335 passed, 2 deselected in 463.34s (0:07:43) =========== ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix15/build receiving incremental file list python-fastapi-0.78.0-1-riscv64-build.log python-fastapi-0.78.0-1-riscv64-check.log python-fastapi-0.78.0-1-riscv64-prepare.log sent 81 bytes received 12,123 bytes 8,136.00 bytes/sec total size is 155,459 speedup is 12.74