1+ from typing import Callable
2+
13from starlette .applications import Starlette
24from starlette .endpoints import HTTPEndpoint
5+ from starlette .requests import Request
6+ from starlette .responses import Response
37from starlette .routing import Host , Mount , Route , Router , WebSocketRoute
48from starlette .schemas import SchemaGenerator
9+ from starlette .testclient import TestClient
10+ from starlette .websockets import WebSocket
511
612schemas = SchemaGenerator (
713 {"openapi" : "3.0.0" , "info" : {"title" : "Example API" , "version" : "1.0" }}
814)
915
16+ TestClientFactory = Callable [..., TestClient ]
17+
1018
11- def ws (session ) :
19+ def ws (session : WebSocket ) -> None :
1220 """ws"""
1321 pass # pragma: no cover
1422
1523
16- def get_user (request ) :
24+ def get_user (request : Request ) -> None :
1725 """
1826 responses:
1927 200:
@@ -24,7 +32,7 @@ def get_user(request):
2432 pass # pragma: no cover
2533
2634
27- def list_users (request ) :
35+ def list_users (request : Request ) -> None :
2836 """
2937 responses:
3038 200:
@@ -35,7 +43,7 @@ def list_users(request):
3543 pass # pragma: no cover
3644
3745
38- def create_user (request ) :
46+ def create_user (request : Request ) -> None :
3947 """
4048 responses:
4149 200:
@@ -47,7 +55,7 @@ def create_user(request):
4755
4856
4957class OrganisationsEndpoint (HTTPEndpoint ):
50- def get (self , request ) :
58+ def get (self , request : Request ) -> None :
5159 """
5260 responses:
5361 200:
@@ -57,7 +65,7 @@ def get(self, request):
5765 """
5866 pass # pragma: no cover
5967
60- def post (self , request ) :
68+ def post (self , request : Request ) -> None :
6169 """
6270 responses:
6371 200:
@@ -68,7 +76,7 @@ def post(self, request):
6876 pass # pragma: no cover
6977
7078
71- def regular_docstring_and_schema (request ) :
79+ def regular_docstring_and_schema (request : Request ) -> None :
7280 """
7381 This a regular docstring example (not included in schema)
7482
@@ -81,18 +89,18 @@ def regular_docstring_and_schema(request):
8189 pass # pragma: no cover
8290
8391
84- def regular_docstring (request ) :
92+ def regular_docstring (request : Request ) -> None :
8593 """
8694 This a regular docstring example (not included in schema)
8795 """
8896 pass # pragma: no cover
8997
9098
91- def no_docstring (request ) :
99+ def no_docstring (request : Request ) -> None :
92100 pass # pragma: no cover
93101
94102
95- def subapp_endpoint (request ) :
103+ def subapp_endpoint (request : Request ) -> None :
96104 """
97105 responses:
98106 200:
@@ -101,7 +109,7 @@ def subapp_endpoint(request):
101109 pass # pragma: no cover
102110
103111
104- def schema (request ) :
112+ def schema (request : Request ) -> Response :
105113 return schemas .OpenAPIResponse (request = request )
106114
107115
@@ -128,7 +136,7 @@ def schema(request):
128136)
129137
130138
131- def test_schema_generation ():
139+ def test_schema_generation () -> None :
132140 schema = schemas .get_schema (routes = app .routes )
133141 assert schema == {
134142 "openapi" : "3.0.0" ,
@@ -261,7 +269,7 @@ def test_schema_generation():
261269"""
262270
263271
264- def test_schema_endpoint (test_client_factory ) :
272+ def test_schema_endpoint (test_client_factory : TestClientFactory ) -> None :
265273 client = test_client_factory (app )
266274 response = client .get ("/schema" )
267275 assert response .headers ["Content-Type" ] == "application/vnd.oai.openapi"
0 commit comments