Skip to content

Commit 335996a

Browse files
committed
test fixes
1 parent 500ce9b commit 335996a

1 file changed

Lines changed: 38 additions & 2 deletions

File tree

tests/core/test_base_client.py

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,12 +318,12 @@ def test_validation_requires_auth_credentials(self):
318318
LLMGatewaySettings()
319319

320320
def test_get_available_models(self, llmgw_env_vars):
321-
"""Test get_available_models returns a list of models."""
321+
"""Test get_available_models returns a list of models on success."""
322322
with patch.dict(os.environ, llmgw_env_vars, clear=True):
323323
settings = LLMGatewaySettings()
324324

325-
# Mock the HTTP request since this is a unit test
326325
mock_response = MagicMock()
326+
mock_response.is_error = False
327327
mock_response.json.return_value = [
328328
{"modelName": "gpt-4o", "vendor": "openai"},
329329
{"modelName": "claude-3-opus", "vendor": "anthropic"},
@@ -334,6 +334,42 @@ def test_get_available_models(self, llmgw_env_vars):
334334
assert isinstance(models, list)
335335
assert len(models) == 2
336336

337+
def test_get_available_models_raises_on_http_error(self, llmgw_env_vars):
338+
"""Test get_available_models raises UiPathAPIError on bad request / server error."""
339+
with patch.dict(os.environ, llmgw_env_vars, clear=True):
340+
settings = LLMGatewaySettings()
341+
342+
mock_response = MagicMock()
343+
mock_response.is_error = True
344+
mock_response.status_code = 500
345+
mock_response.reason_phrase = "Internal Server Error"
346+
mock_response.json.return_value = {"error": "Something went wrong"}
347+
mock_response.request = MagicMock()
348+
mock_response.text = ""
349+
350+
with patch.object(Client, "get", return_value=mock_response):
351+
with pytest.raises(UiPathAPIError) as exc_info:
352+
settings.get_available_models()
353+
assert exc_info.value.status_code == 500
354+
355+
def test_get_available_models_raises_on_unauthorized(self, llmgw_env_vars):
356+
"""Test get_available_models raises UiPathAuthenticationError on 401."""
357+
with patch.dict(os.environ, llmgw_env_vars, clear=True):
358+
settings = LLMGatewaySettings()
359+
360+
mock_response = MagicMock()
361+
mock_response.is_error = True
362+
mock_response.status_code = 401
363+
mock_response.reason_phrase = "Unauthorized"
364+
mock_response.json.return_value = {}
365+
mock_response.request = MagicMock()
366+
mock_response.text = ""
367+
368+
with patch.object(Client, "get", return_value=mock_response):
369+
with pytest.raises(UiPathAuthenticationError) as exc_info:
370+
settings.get_available_models()
371+
assert exc_info.value.status_code == 401
372+
337373

338374
# ============================================================================
339375
# Test LLMGateway Auth Refresh Logic

0 commit comments

Comments
 (0)