Coverage for archdocs/features/http_api/renderer.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.15.3, created at 2026-08-03 00:00 +0000

1import typing 

2 

3from archdocs import diagram_model 

4from archdocs.features.http_api.const import HTTPApiFeatures 

5 

6 

7def render_http_api_features( 

8 service_node: diagram_model.DiagramNode, 

9 features_to_draw: HTTPApiFeatures, 

10 /, 

11) -> tuple[diagram_model.DiagramEdge, ...]: 

12 if not features_to_draw.served_methods_existed: 

13 return () 

14 served_methods: typing.Final = ", ".join(sorted(features_to_draw.served_methods)) 

15 return ( 

16 diagram_model.DiagramEdge( 

17 source_node=diagram_model.EXTERNAL_CLIENT_NODE, 

18 target_node=service_node, 

19 edge_label=f"REST ({served_methods})", 

20 ), 

21 )