]> git.ipfire.org Git - thirdparty/starlette.git/commitdiff
Added type annotations to test_convertors.py (#2476)
authorScirlat Danut <danut.scirlat@gmail.com>
Sun, 4 Feb 2024 18:39:34 +0000 (20:39 +0200)
committerGitHub <noreply@github.com>
Sun, 4 Feb 2024 18:39:34 +0000 (18:39 +0000)
* added type annotations to test_convertors.py

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
tests/test_convertors.py

index 2a866309ff17ded610aa7b16137ff2beef4acd8e..72ee17a82267671e870c1cab14a405d6ba722b6c 100644 (file)
@@ -1,15 +1,20 @@
 from datetime import datetime
+from typing import Callable, Iterator
 
 import pytest
 
 from starlette import convertors
 from starlette.convertors import Convertor, register_url_convertor
+from starlette.requests import Request
 from starlette.responses import JSONResponse
 from starlette.routing import Route, Router
+from starlette.testclient import TestClient
+
+TestClientFactory = Callable[..., TestClient]
 
 
 @pytest.fixture(scope="module", autouse=True)
-def refresh_convertor_types():
+def refresh_convertor_types() -> Iterator[None]:
     convert_types = convertors.CONVERTOR_TYPES.copy()
     yield
     convertors.CONVERTOR_TYPES = convert_types
@@ -29,7 +34,7 @@ class DateTimeConvertor(Convertor[datetime]):
 def app() -> Router:
     register_url_convertor("datetime", DateTimeConvertor())
 
-    def datetime_convertor(request):
+    def datetime_convertor(request: Request) -> JSONResponse:
         param = request.path_params["param"]
         assert isinstance(param, datetime)
         return JSONResponse({"datetime": param.strftime("%Y-%m-%dT%H:%M:%S")})
@@ -45,7 +50,9 @@ def app() -> Router:
     )
 
 
-def test_datetime_convertor(test_client_factory, app: Router):
+def test_datetime_convertor(
+    test_client_factory: TestClientFactory, app: Router
+) -> None:
     client = test_client_factory(app)
     response = client.get("/datetime/2020-01-01T00:00:00")
     assert response.json() == {"datetime": "2020-01-01T00:00:00"}
@@ -57,8 +64,10 @@ def test_datetime_convertor(test_client_factory, app: Router):
 
 
 @pytest.mark.parametrize("param, status_code", [("1.0", 200), ("1-0", 404)])
-def test_default_float_convertor(test_client_factory, param: str, status_code: int):
-    def float_convertor(request):
+def test_default_float_convertor(
+    test_client_factory: TestClientFactory, param: str, status_code: int
+) -> None:
+    def float_convertor(request: Request) -> JSONResponse:
         param = request.path_params["param"]
         assert isinstance(param, float)
         return JSONResponse({"float": param})