@@ -258,6 +258,14 @@ def test_fetch_failure_stops_iteration(self, mock_get_session):
258258class TestGetJobs :
259259 """Tests for _get_jobs() which fetches job IDs from the API."""
260260
261+ def _make_settings (self ):
262+ settings = MagicMock ()
263+ settings .antenna_api_base_url = "http://api.test/api/v2"
264+ settings .antenna_api_auth_token = "mytoken"
265+ settings .antenna_api_retry_max = 3
266+ settings .antenna_api_retry_backoff = 0.5
267+ return settings
268+
261269 @patch ("trapdata.cli.worker.get_http_session" )
262270 def test_returns_job_ids (self , mock_get_session ):
263271 response = MagicMock ()
@@ -266,9 +274,11 @@ def test_returns_job_ids(self, mock_get_session):
266274
267275 mock_session = MagicMock ()
268276 mock_session .get .return_value = response
269- mock_get_session .return_value = mock_session
277+ mock_get_session .return_value .__enter__ = MagicMock (return_value = mock_session )
278+ mock_get_session .return_value .__exit__ = MagicMock (return_value = False )
270279
271- result = _get_jobs ("http://api.test/api/v2" , "mytoken" , "moths_2024" )
280+ settings = self ._make_settings ()
281+ result = _get_jobs (settings , "moths_2024" )
272282 assert result == [10 , 20 , 30 ]
273283
274284 @patch ("trapdata.cli.worker.get_http_session" )
@@ -279,9 +289,12 @@ def test_auth_header(self, mock_get_session):
279289
280290 mock_session = MagicMock ()
281291 mock_session .get .return_value = response
282- mock_get_session .return_value = mock_session
292+ mock_get_session .return_value .__enter__ = MagicMock (return_value = mock_session )
293+ mock_get_session .return_value .__exit__ = MagicMock (return_value = False )
283294
284- _get_jobs ("http://api.test/api/v2" , "secret-token" , "pipeline1" )
295+ settings = self ._make_settings ()
296+ settings .antenna_api_auth_token = "secret-token"
297+ _get_jobs (settings , "pipeline1" )
285298
286299 # Verify auth_token was passed to get_http_session
287300 mock_get_session .assert_called_once ()
@@ -296,9 +309,11 @@ def test_query_params(self, mock_get_session):
296309
297310 mock_session = MagicMock ()
298311 mock_session .get .return_value = response
299- mock_get_session .return_value = mock_session
312+ mock_get_session .return_value .__enter__ = MagicMock (return_value = mock_session )
313+ mock_get_session .return_value .__exit__ = MagicMock (return_value = False )
300314
301- _get_jobs ("http://api.test/api/v2" , "tok" , "my_pipeline" )
315+ settings = self ._make_settings ()
316+ _get_jobs (settings , "my_pipeline" )
302317
303318 call_kwargs = mock_session .get .call_args [1 ]
304319 params = call_kwargs ["params" ]
@@ -310,9 +325,11 @@ def test_query_params(self, mock_get_session):
310325 def test_network_error (self , mock_get_session ):
311326 mock_session = MagicMock ()
312327 mock_session .get .side_effect = requests .RequestException ("timeout" )
313- mock_get_session .return_value = mock_session
328+ mock_get_session .return_value .__enter__ = MagicMock (return_value = mock_session )
329+ mock_get_session .return_value .__exit__ = MagicMock (return_value = False )
314330
315- result = _get_jobs ("http://api.test/api/v2" , "tok" , "pipeline1" )
331+ settings = self ._make_settings ()
332+ result = _get_jobs (settings , "pipeline1" )
316333 assert result == []
317334
318335 @patch ("trapdata.cli.worker.get_http_session" )
@@ -323,9 +340,11 @@ def test_invalid_response(self, mock_get_session):
323340
324341 mock_session = MagicMock ()
325342 mock_session .get .return_value = response
326- mock_get_session .return_value = mock_session
343+ mock_get_session .return_value .__enter__ = MagicMock (return_value = mock_session )
344+ mock_get_session .return_value .__exit__ = MagicMock (return_value = False )
327345
328- result = _get_jobs ("http://api.test/api/v2" , "tok" , "pipeline1" )
346+ settings = self ._make_settings ()
347+ result = _get_jobs (settings , "pipeline1" )
329348 assert result == []
330349
331350
@@ -342,6 +361,8 @@ def _make_settings(self):
342361 settings .antenna_api_base_url = "http://api.test/api/v2"
343362 settings .antenna_api_auth_token = "test-token"
344363 settings .antenna_api_batch_size = 4
364+ settings .antenna_api_retry_max = 3
365+ settings .antenna_api_retry_backoff = 0.5
345366 settings .num_workers = 0
346367 return settings
347368
0 commit comments