From: Scirlat Danut Date: Mon, 5 Feb 2024 10:46:34 +0000 (+0200) Subject: Add type hints to `test_gzip.py` (#2464) X-Git-Tag: 0.37.1~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ee3cdfd5dc93658a2bb45d5a9bb8387b867cc585;p=thirdparty%2Fstarlette.git Add type hints to `test_gzip.py` (#2464) * added type annotations to test_gzip.py * Apply suggestions from code review * Apply suggestions from code review --------- Co-authored-by: Scirlat Danut Co-authored-by: Marcelo Trylesinski --- diff --git a/tests/middleware/test_gzip.py b/tests/middleware/test_gzip.py index b6ec1f3f..5bfecadb 100644 --- a/tests/middleware/test_gzip.py +++ b/tests/middleware/test_gzip.py @@ -1,12 +1,19 @@ +from typing import Callable + from starlette.applications import Starlette from starlette.middleware import Middleware from starlette.middleware.gzip import GZipMiddleware -from starlette.responses import PlainTextResponse, StreamingResponse +from starlette.requests import Request +from starlette.responses import ContentStream, PlainTextResponse, StreamingResponse from starlette.routing import Route +from starlette.testclient import TestClient +from starlette.types import ASGIApp + +TestClientFactory = Callable[[ASGIApp], TestClient] -def test_gzip_responses(test_client_factory): - def homepage(request): +def test_gzip_responses(test_client_factory: TestClientFactory) -> None: + def homepage(request: Request) -> PlainTextResponse: return PlainTextResponse("x" * 4000, status_code=200) app = Starlette( @@ -22,8 +29,8 @@ def test_gzip_responses(test_client_factory): assert int(response.headers["Content-Length"]) < 4000 -def test_gzip_not_in_accept_encoding(test_client_factory): - def homepage(request): +def test_gzip_not_in_accept_encoding(test_client_factory: TestClientFactory) -> None: + def homepage(request: Request) -> PlainTextResponse: return PlainTextResponse("x" * 4000, status_code=200) app = Starlette( @@ -39,8 +46,10 @@ def test_gzip_not_in_accept_encoding(test_client_factory): assert int(response.headers["Content-Length"]) == 4000 -def test_gzip_ignored_for_small_responses(test_client_factory): - def homepage(request): +def test_gzip_ignored_for_small_responses( + test_client_factory: TestClientFactory, +) -> None: + def homepage(request: Request) -> PlainTextResponse: return PlainTextResponse("OK", status_code=200) app = Starlette( @@ -56,9 +65,9 @@ def test_gzip_ignored_for_small_responses(test_client_factory): assert int(response.headers["Content-Length"]) == 2 -def test_gzip_streaming_response(test_client_factory): - def homepage(request): - async def generator(bytes, count): +def test_gzip_streaming_response(test_client_factory: TestClientFactory) -> None: + def homepage(request: Request) -> StreamingResponse: + async def generator(bytes: bytes, count: int) -> ContentStream: for index in range(count): yield bytes @@ -78,9 +87,11 @@ def test_gzip_streaming_response(test_client_factory): assert "Content-Length" not in response.headers -def test_gzip_ignored_for_responses_with_encoding_set(test_client_factory): - def homepage(request): - async def generator(bytes, count): +def test_gzip_ignored_for_responses_with_encoding_set( + test_client_factory: TestClientFactory, +) -> None: + def homepage(request: Request) -> StreamingResponse: + async def generator(bytes: bytes, count: int) -> ContentStream: for index in range(count): yield bytes