2323 output_to_event ,
2424 responses_input_to_event ,
2525)
26+ from opentelemetry .instrumentation .openai_v2 .responses_patch import (
27+ _log_responses_inputs ,
28+ )
2629
2730
2831@dataclass
@@ -38,6 +41,14 @@ class OutputItemMock:
3841 arguments : Optional [str ] = None
3942
4043
44+ class _CapturingLogger :
45+ def __init__ (self ) -> None :
46+ self .emitted : list [Any ] = []
47+
48+ def emit (self , record : Any ) -> None :
49+ self .emitted .append (record )
50+
51+
4152@pytest .mark .parametrize (
4253 "input_data" ,
4354 [
@@ -152,6 +163,24 @@ def test_string_input_does_not_crash():
152163 )
153164
154165
166+ def test_responses_create_input_none_is_noop_for_logging ():
167+ logger = _CapturingLogger ()
168+
169+ _log_responses_inputs (logger , {"input" : None }, capture_content = True )
170+ _log_responses_inputs (logger , {"input" : None }, capture_content = False )
171+
172+ assert logger .emitted == []
173+
174+
175+ def test_responses_create_input_omitted_is_noop_for_logging ():
176+ logger = _CapturingLogger ()
177+
178+ _log_responses_inputs (logger , {}, capture_content = True )
179+ _log_responses_inputs (logger , {}, capture_content = False )
180+
181+ assert logger .emitted == []
182+
183+
155184@pytest .mark .parametrize (
156185 "unexpected_input" ,
157186 [
0 commit comments