Skip to content

Commit 177be60

Browse files
committed
added a test for test_evaluate_single_inference_result_handles_missing_inferences where the status is not a FAILURE but the inferences are missing
1 parent a470c6a commit 177be60

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

tests/unittests/evaluation/test_local_eval_service.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,49 @@ async def test_evaluate_single_inference_result_handles_failed_inference(
451451
)
452452

453453

454+
@pytest.mark.asyncio
455+
async def test_evaluate_single_inference_result_handles_missing_inferences(
456+
eval_service, mock_eval_sets_manager, mocker
457+
):
458+
invocation = Invocation(
459+
user_content=genai_types.Content(
460+
parts=[genai_types.Part(text="test user content.")]
461+
),
462+
final_response=genai_types.Content(
463+
parts=[genai_types.Part(text="test final response.")]
464+
),
465+
)
466+
inference_result = InferenceResult(
467+
app_name="test_app",
468+
eval_set_id="test_eval_set",
469+
eval_case_id="case1",
470+
inferences=None,
471+
session_id="session1",
472+
status=InferenceStatus.SUCCESS,
473+
)
474+
eval_metric = EvalMetric(metric_name="fake_metric", threshold=0.5)
475+
evaluate_config = EvaluateConfig(eval_metrics=[eval_metric], parallelism=1)
476+
477+
mock_eval_case = mocker.MagicMock(spec=EvalCase)
478+
mock_eval_case.conversation = [invocation.model_copy(deep=True)]
479+
mock_eval_case.conversation_scenario = None
480+
mock_eval_case.session_input = None
481+
mock_eval_sets_manager.get_eval_case.return_value = mock_eval_case
482+
483+
_, result = await eval_service._evaluate_single_inference_result(
484+
inference_result=inference_result, evaluate_config=evaluate_config
485+
)
486+
487+
assert isinstance(result, EvalCaseResult)
488+
assert result.eval_id == "case1"
489+
assert result.final_eval_status == EvalStatus.NOT_EVALUATED
490+
assert result.overall_eval_metric_results == []
491+
assert result.eval_metric_result_per_invocation == []
492+
mock_eval_sets_manager.get_eval_case.assert_called_once_with(
493+
app_name="test_app", eval_set_id="test_eval_set", eval_case_id="case1"
494+
)
495+
496+
454497
@pytest.mark.asyncio
455498
async def test_evaluate_single_inference_result_for_conversation_scenario(
456499
eval_service, mock_eval_sets_manager, mocker

0 commit comments

Comments
 (0)