]> git.ipfire.org Git - thirdparty/starlette.git/commitdiff
Remove routing decorators in test_schemas.py (#1500)
authorAmin Alaee <mohammadamin.alaee@gmail.com>
Thu, 10 Feb 2022 11:51:13 +0000 (12:51 +0100)
committerGitHub <noreply@github.com>
Thu, 10 Feb 2022 11:51:13 +0000 (11:51 +0000)
starlette/routing.py
tests/test_schemas.py

index 647a75c58bc989eec3ebd8413ad012ee5f1eae57..9a3747e62f489f28a3c19639e1e3f51070942455 100644 (file)
@@ -748,7 +748,7 @@ class Router:
 
     def add_websocket_route(
         self, path: str, endpoint: typing.Callable, name: str = None
-    ) -> None:
+    ) -> None:  # pragma: no cover
         route = WebSocketRoute(path, endpoint=endpoint, name=name)
         self.routes.append(route)
 
index 28fe777f09aec12a5965b44ef0ae288f9369b7cb..fa43785b98fd8c4c511353d20bcb1bead7aec920 100644 (file)
@@ -1,25 +1,18 @@
 from starlette.applications import Starlette
 from starlette.endpoints import HTTPEndpoint
+from starlette.routing import Mount, Route, WebSocketRoute
 from starlette.schemas import SchemaGenerator
 
 schemas = SchemaGenerator(
     {"openapi": "3.0.0", "info": {"title": "Example API", "version": "1.0"}}
 )
 
-app = Starlette()
 
-
-subapp = Starlette()
-app.mount("/subapp", subapp)
-
-
-@app.websocket_route("/ws")
 def ws(session):
     """ws"""
     pass  # pragma: no cover
 
 
-@app.route("/users", methods=["GET", "HEAD"])
 def list_users(request):
     """
     responses:
@@ -31,7 +24,6 @@ def list_users(request):
     pass  # pragma: no cover
 
 
-@app.route("/users", methods=["POST"])
 def create_user(request):
     """
     responses:
@@ -43,7 +35,6 @@ def create_user(request):
     pass  # pragma: no cover
 
 
-@app.route("/orgs")
 class OrganisationsEndpoint(HTTPEndpoint):
     def get(self, request):
         """
@@ -66,7 +57,6 @@ class OrganisationsEndpoint(HTTPEndpoint):
         pass  # pragma: no cover
 
 
-@app.route("/regular-docstring-and-schema")
 def regular_docstring_and_schema(request):
     """
     This a regular docstring example (not included in schema)
@@ -80,7 +70,6 @@ def regular_docstring_and_schema(request):
     pass  # pragma: no cover
 
 
-@app.route("/regular-docstring")
 def regular_docstring(request):
     """
     This a regular docstring example (not included in schema)
@@ -88,12 +77,10 @@ def regular_docstring(request):
     pass  # pragma: no cover
 
 
-@app.route("/no-docstring")
 def no_docstring(request):
     pass  # pragma: no cover
 
 
-@subapp.route("/subapp-endpoint")
 def subapp_endpoint(request):
     """
     responses:
@@ -103,11 +90,31 @@ def subapp_endpoint(request):
     pass  # pragma: no cover
 
 
-@app.route("/schema", methods=["GET"], include_in_schema=False)
 def schema(request):
     return schemas.OpenAPIResponse(request=request)
 
 
+subapp = Starlette(
+    routes=[
+        Route("/subapp-endpoint", endpoint=subapp_endpoint),
+    ]
+)
+
+app = Starlette(
+    routes=[
+        WebSocketRoute("/ws", endpoint=ws),
+        Route("/users", endpoint=list_users, methods=["GET", "HEAD"]),
+        Route("/users", endpoint=create_user, methods=["POST"]),
+        Route("/orgs", endpoint=OrganisationsEndpoint),
+        Route("/regular-docstring-and-schema", endpoint=regular_docstring_and_schema),
+        Route("/regular-docstring", endpoint=regular_docstring),
+        Route("/no-docstring", endpoint=no_docstring),
+        Route("/schema", endpoint=schema, methods=["GET"], include_in_schema=False),
+        Mount("/subapp", subapp),
+    ]
+)
+
+
 def test_schema_generation():
     schema = schemas.get_schema(routes=app.routes)
     assert schema == {