@@ -84,11 +84,11 @@ def _get_user_access_parametrizations(expected_authed_status_code):
8484 _get_user_access_parametrizations (status .HTTP_200_OK ),
8585)
8686async def test_list_api_keys (
87+ disabled_setup_garbage_collector : MockType ,
8788 client : TestClient ,
8889 logged_user : UserInfoDict ,
8990 user_role : UserRole ,
9091 expected : HTTPStatus ,
91- disabled_setup_garbage_collector : MockType ,
9292):
9393 resp = await client .get ("/v0/auth/api-keys" )
9494 data , errors = await assert_status (resp , expected )
@@ -102,11 +102,11 @@ async def test_list_api_keys(
102102 _get_user_access_parametrizations (status .HTTP_200_OK ),
103103)
104104async def test_create_api_key (
105+ disabled_setup_garbage_collector : MockType ,
105106 client : TestClient ,
106107 logged_user : UserInfoDict ,
107108 user_role : UserRole ,
108109 expected : HTTPStatus ,
109- disabled_setup_garbage_collector : MockType ,
110110):
111111 display_name = "foo"
112112 resp = await client .post ("/v0/auth/api-keys" , json = {"displayName" : display_name })
@@ -128,12 +128,12 @@ async def test_create_api_key(
128128 _get_user_access_parametrizations (status .HTTP_204_NO_CONTENT ),
129129)
130130async def test_delete_api_keys (
131+ disabled_setup_garbage_collector : MockType ,
131132 client : TestClient ,
132133 fake_user_api_keys : list [ApiKey ],
133134 logged_user : UserInfoDict ,
134135 user_role : UserRole ,
135136 expected : HTTPStatus ,
136- disabled_setup_garbage_collector : MockType ,
137137):
138138 resp = await client .delete ("/v0/auth/api-keys/0" )
139139 await assert_status (resp , expected )
@@ -151,46 +151,60 @@ async def test_delete_api_keys(
151151 _get_user_access_parametrizations (status .HTTP_200_OK ),
152152)
153153async def test_create_api_key_with_expiration (
154+ disabled_setup_garbage_collector : MockType ,
154155 client : TestClient ,
155156 logged_user : UserInfoDict ,
156157 user_role : UserRole ,
157158 expected : HTTPStatus ,
158- disabled_setup_garbage_collector : MockType ,
159+ mocker : MockerFixture ,
159160):
160161 assert client .app
161162
163+ gc_prune_mock = mocker .patch (
164+ "simcore_service_webserver.garbage_collector._tasks_api_keys.api_keys_service.prune_expired_api_keys" ,
165+ spec = True ,
166+ )
167+
168+ assert not gc_prune_mock .called
169+
170+ TEST_API_KEY = "foo"
171+
162172 # create api-keys with expiration interval
163173 expiration_interval = timedelta (seconds = 1 )
164174 resp = await client .post (
165175 "/v0/auth/api-keys" ,
166- json = {"displayName" : "foo" , "expiration" : expiration_interval .seconds },
176+ json = {"displayName" : TEST_API_KEY , "expiration" : expiration_interval .seconds },
167177 )
168178
169179 data , errors = await assert_status (resp , expected )
170180 if not errors :
171- assert data ["displayName" ] == "foo"
181+ assert data ["displayName" ] == TEST_API_KEY
172182 assert "apiKey" in data
173183 assert "apiSecret" in data
174184
175185 # list created api-key
176186 resp = await client .get ("/v0/auth/api-keys" )
177187 data , _ = await assert_status (resp , expected )
178- assert [d ["displayName" ] for d in data ] == ["foo" ]
188+ assert [d ["displayName" ] for d in data ] == [TEST_API_KEY ]
189+
190+ assert not gc_prune_mock .called
179191
180192 # wait for api-key for it to expire and force-run scheduled task
181193 await asyncio .sleep (EXPIRATION_WAIT_FACTOR * expiration_interval .seconds )
182194
195+ assert not gc_prune_mock .called
196+
183197 deleted = await api_keys_service .prune_expired_api_keys (client .app )
184- assert deleted == ["foo" ]
198+ assert deleted == [TEST_API_KEY ]
185199
186200 resp = await client .get ("/v0/auth/api-keys" )
187201 data , _ = await assert_status (resp , expected )
188202 assert not data
189203
190204
191205async def test_get_or_create_api_key (
192- client : TestClient ,
193206 disabled_setup_garbage_collector : MockType ,
207+ client : TestClient ,
194208):
195209 async with NewUser (
196210 app = client .app ,
@@ -221,11 +235,11 @@ async def test_get_or_create_api_key(
221235 _get_user_access_parametrizations (status .HTTP_404_NOT_FOUND ),
222236)
223237async def test_get_not_existing_api_key (
238+ disabled_setup_garbage_collector : MockType ,
224239 client : TestClient ,
225240 logged_user : UserInfoDict ,
226241 user_role : UserRole ,
227242 expected : HTTPException ,
228- disabled_setup_garbage_collector : MockType ,
229243):
230244 resp = await client .get ("/v0/auth/api-keys/42" )
231245 data , errors = await assert_status (resp , expected )
0 commit comments