@@ -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
455498async def test_evaluate_single_inference_result_for_conversation_scenario (
456499 eval_service , mock_eval_sets_manager , mocker
0 commit comments