File tree Expand file tree Collapse file tree
src/google/adk/evaluation
tests/unittests/evaluation Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -22,6 +22,6 @@ class EvalBaseModel(pydantic.BaseModel):
2222 model_config = pydantic .ConfigDict (
2323 alias_generator = alias_generators .to_camel ,
2424 populate_by_name = True ,
25- extra = "forbid " ,
25+ extra = "allow " ,
2626 arbitrary_types_allowed = True ,
2727 )
Original file line number Diff line number Diff line change 2222from google .adk .evaluation .eval_case import IntermediateData
2323from google .adk .evaluation .eval_case import InvocationEvent
2424from google .adk .evaluation .eval_case import InvocationEvents
25+ from google .adk .evaluation .eval_case import SessionInput
2526from google .genai import types as genai_types
2627import pytest
2728
2829
30+ def test_eval_models_preserve_extra_metadata ():
31+ session_input = SessionInput (
32+ app_name = 'app' ,
33+ user_id = 'user' ,
34+ eval_group = 'retrieval' ,
35+ source = 'nightly' ,
36+ )
37+
38+ assert session_input .model_extra == {
39+ 'eval_group' : 'retrieval' ,
40+ 'source' : 'nightly' ,
41+ }
42+ assert session_input .model_dump ()['eval_group' ] == 'retrieval'
43+
44+ eval_case = EvalCase (
45+ eval_id = 'case_1' ,
46+ conversation = [],
47+ session_input = session_input ,
48+ owner = 'platform' ,
49+ )
50+
51+ assert eval_case .model_extra == {'owner' : 'platform' }
52+ dumped = eval_case .model_dump ()
53+ assert dumped ['owner' ] == 'platform'
54+ assert dumped ['session_input' ]['source' ] == 'nightly'
55+
56+
2957def test_get_all_tool_calls_with_none_input ():
3058 """Tests that an empty list is returned when intermediate_data is None."""
3159 assert get_all_tool_calls (None ) == []
You can’t perform that action at this time.
0 commit comments