11from fastapi import status
22from fastapi .testclient import TestClient
33
4- from .utils import find_link
4+ from stapi_fastapi .models .conformance import CORE
5+
6+ from .utils import assert_link
57
68
79def test_root (stapi_client : TestClient , url_for ) -> None :
@@ -10,19 +12,13 @@ def test_root(stapi_client: TestClient, url_for) -> None:
1012 assert res .status_code == status .HTTP_200_OK
1113 assert res .headers ["Content-Type" ] == "application/json"
1214
13- data = res .json ()
14-
15- link = find_link (data ["links" ], "self" )
16- assert link , "GET / Link[rel=self] should exist"
17- assert link ["type" ] == "application/json"
18- assert link ["href" ] == url_for ("/" )
15+ body = res .json ()
1916
20- link = find_link (data ["links" ], "service-description" )
21- assert link , "GET / Link[rel=service-description] should exist"
22- assert link ["type" ] == "application/json"
23- assert str (link ["href" ]) == url_for ("/openapi.json" )
17+ assert body ["conformsTo" ] == [CORE ]
2418
25- link = find_link (data ["links" ], "service-docs" )
26- assert link , "GET / Link[rel=service-docs] should exist"
27- assert link ["type" ] == "text/html"
28- assert str (link ["href" ]) == url_for ("/docs" )
19+ assert_link ("GET /" , body , "self" , "/" , url_for )
20+ assert_link ("GET /" , body , "service-description" , "/openapi.json" , url_for )
21+ assert_link ("GET /" , body , "service-docs" , "/docs" , url_for , media_type = "text/html" )
22+ assert_link ("GET /" , body , "conformance" , "/conformance" , url_for )
23+ assert_link ("GET /" , body , "products" , "/products" , url_for )
24+ assert_link ("GET /" , body , "orders" , "/orders" , url_for )
0 commit comments