1212
1313import httpx
1414import pytest
15- from fastapi import FastAPI
15+ from fastapi import FastAPI , status
1616from models_library .services_metadata_published import ServiceMetaDataPublished
1717from pytest_simcore .helpers .monkeypatch_envs import setenvs_from_dict
1818from pytest_simcore .helpers .typing_env import EnvVarsDict
@@ -34,6 +34,14 @@ def app_environment(
3434 )
3535
3636
37+ @pytest .fixture
38+ def service_key_and_version (
39+ expected_director_rest_api_list_services : list [dict [str , Any ]],
40+ ) -> tuple [str , str ]:
41+ expected_service = expected_director_rest_api_list_services [0 ]
42+ return expected_service ["key" ], expected_service ["version" ]
43+
44+
3745async def test_director_client_high_level_api (
3846 repository_lifespan_disabled : None ,
3947 background_task_lifespan_disabled : None ,
@@ -66,14 +74,12 @@ async def test_director_client_low_level_api(
6674 background_task_lifespan_disabled : None ,
6775 rabbitmq_and_rpc_setup_disabled : None ,
6876 mocked_director_rest_api : MockRouter ,
69- expected_director_rest_api_list_services : list [ dict [ str , Any ] ],
77+ service_key_and_version : tuple [ str , str ],
7078 app : FastAPI ,
7179):
7280 director_api = get_director_client (app )
7381
74- expected_service = expected_director_rest_api_list_services [0 ]
75- key = expected_service ["key" ]
76- version = expected_service ["version" ]
82+ key , version = service_key_and_version
7783
7884 service_labels = await director_api .get (
7985 f"/services/{ urllib .parse .quote_plus (key )} /{ version } /labels"
@@ -92,14 +98,12 @@ async def test_director_client_get_service_extras_with_org_labels(
9298 background_task_lifespan_disabled : None ,
9399 rabbitmq_and_rpc_setup_disabled : None ,
94100 mocked_director_rest_api : MockRouter ,
95- expected_director_rest_api_list_services : list [ dict [ str , Any ] ],
101+ service_key_and_version : tuple [ str , str ],
96102 app : FastAPI ,
97103):
98104 director_api = get_director_client (app )
99105
100- expected_service = expected_director_rest_api_list_services [0 ]
101- key = expected_service ["key" ]
102- version = expected_service ["version" ]
106+ key , version = service_key_and_version
103107
104108 service_extras = await director_api .get_service_extras (key , version )
105109
@@ -126,14 +130,12 @@ async def test_director_client_get_service_extras_without_org_labels(
126130 background_task_lifespan_disabled : None ,
127131 rabbitmq_and_rpc_setup_disabled : None ,
128132 mocked_director_rest_api_base : MockRouter ,
129- expected_director_rest_api_list_services : list [ dict [ str , Any ] ],
133+ service_key_and_version : tuple [ str , str ],
130134 get_mocked_service_labels : Callable [[str , str , bool ], dict ],
131135 app : FastAPI ,
132136):
133137 # Setup mock without org.label-schema labels
134- expected_service = expected_director_rest_api_list_services [0 ]
135- service_key = expected_service ["key" ]
136- service_version = expected_service ["version" ]
138+ service_key , service_version = service_key_and_version
137139
138140 # Mock the labels endpoint without org labels
139141 @mocked_director_rest_api_base .get (
@@ -142,7 +144,7 @@ async def test_director_client_get_service_extras_without_org_labels(
142144 )
143145 def _get_service_labels_no_org (request , service_key , service_version ):
144146 return httpx .Response (
145- status_code = 200 ,
147+ status_code = status . HTTP_200_OK ,
146148 json = {
147149 "data" : get_mocked_service_labels (
148150 service_key , service_version , include_org_labels = False
0 commit comments