Coverage for tests / test_operations_signatures.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-04-06 01:24 +0000

1import inspect 1efgh

2 

3from fastapi import APIRouter, FastAPI 1efgh

4 

5method_names = ["get", "put", "post", "delete", "options", "head", "patch", "trace"] 1efgh

6 

7 

8def test_signatures_consistency(): 1efgh

9 base_sig = inspect.signature(APIRouter.get) 1abcd

10 for method_name in method_names: 1abcd

11 router_method = getattr(APIRouter, method_name) 1abcd

12 app_method = getattr(FastAPI, method_name) 1abcd

13 router_sig = inspect.signature(router_method) 1abcd

14 app_sig = inspect.signature(app_method) 1abcd

15 param: inspect.Parameter 

16 for key, param in base_sig.parameters.items(): 1abcd

17 router_param: inspect.Parameter = router_sig.parameters[key] 1abcd

18 app_param: inspect.Parameter = app_sig.parameters[key] 1abcd

19 assert param.annotation == router_param.annotation 1abcd

20 assert param.annotation == app_param.annotation 1abcd

21 assert param.default == router_param.default 1abcd

22 assert param.default == app_param.default 1abcd