@@ -2164,7 +2164,7 @@ def test_bad_chat_completion(
21642164 )
21652165
21662166 if stream_gen_ai_spans :
2167- items = capture_items ("event" )
2167+ items = capture_items ("event" , "transaction" )
21682168
21692169 client = OpenAI (api_key = "z" )
21702170 client .chat .completions ._post = mock .Mock (
@@ -2177,6 +2177,7 @@ def test_bad_chat_completion(
21772177 )
21782178
21792179 (event ,) = (item .payload for item in items if item .type == "event" )
2180+ (transaction ,) = (item .payload for item in items if item .type == "transaction" )
21802181 else :
21812182 events = capture_events ()
21822183
@@ -2190,9 +2191,10 @@ def test_bad_chat_completion(
21902191 messages = [{"role" : "system" , "content" : "hello" }],
21912192 )
21922193
2193- (event ,) = events
2194+ (event , transaction ) = events
21942195
21952196 assert event ["level" ] == "error"
2197+ assert transaction ["contexts" ]["trace" ]["status" ] == "internal_error"
21962198
21972199
21982200@pytest .mark .parametrize ("stream_gen_ai_spans" , [True , False ])
@@ -2266,14 +2268,15 @@ async def test_bad_chat_completion_async(
22662268 side_effect = OpenAIError ("API rate limit reached" )
22672269 )
22682270 if stream_gen_ai_spans :
2269- items = capture_items ("event" )
2271+ items = capture_items ("event" , "transaction" )
22702272
22712273 with pytest .raises (OpenAIError ):
22722274 await client .chat .completions .create (
22732275 model = "some-model" , messages = [{"role" : "system" , "content" : "hello" }]
22742276 )
22752277
22762278 (event ,) = (item .payload for item in items if item .type == "event" )
2279+ (transaction ,) = (item .payload for item in items if item .type == "transaction" )
22772280 else :
22782281 events = capture_events ()
22792282
@@ -2282,9 +2285,10 @@ async def test_bad_chat_completion_async(
22822285 model = "some-model" , messages = [{"role" : "system" , "content" : "hello" }]
22832286 )
22842287
2285- (event ,) = events
2288+ (event , transaction ) = events
22862289
22872290 assert event ["level" ] == "error"
2291+ assert transaction ["contexts" ]["trace" ]["status" ] == "internal_error"
22882292
22892293
22902294@pytest .mark .parametrize ("stream_gen_ai_spans" , [True , False ])
@@ -2834,21 +2838,23 @@ def test_embeddings_create_raises_error(
28342838 )
28352839
28362840 if stream_gen_ai_spans :
2837- items = capture_items ("event" )
2841+ items = capture_items ("event" , "transaction" )
28382842
28392843 with pytest .raises (OpenAIError ):
28402844 client .embeddings .create (input = "hello" , model = "text-embedding-3-large" )
28412845
28422846 (event ,) = (item .payload for item in items if item .type == "event" )
2847+ (transaction ,) = (item .payload for item in items if item .type == "transaction" )
28432848 else :
28442849 events = capture_events ()
28452850
28462851 with pytest .raises (OpenAIError ):
28472852 client .embeddings .create (input = "hello" , model = "text-embedding-3-large" )
28482853
2849- (event ,) = events
2854+ (event , transaction ) = events
28502855
28512856 assert event ["level" ] == "error"
2857+ assert transaction ["contexts" ]["trace" ]["status" ] == "internal_error"
28522858
28532859
28542860@pytest .mark .parametrize ("stream_gen_ai_spans" , [True , False ])
@@ -2879,14 +2885,15 @@ async def test_embeddings_create_raises_error_async(
28792885 )
28802886
28812887 if stream_gen_ai_spans :
2882- items = capture_items ("event" )
2888+ items = capture_items ("event" , "transaction" )
28832889
28842890 with pytest .raises (OpenAIError ):
28852891 await client .embeddings .create (
28862892 input = "hello" , model = "text-embedding-3-large"
28872893 )
28882894
28892895 (event ,) = (item .payload for item in items if item .type == "event" )
2896+ (transaction ,) = (item .payload for item in items if item .type == "transaction" )
28902897 else :
28912898 events = capture_events ()
28922899
@@ -2895,9 +2902,10 @@ async def test_embeddings_create_raises_error_async(
28952902 input = "hello" , model = "text-embedding-3-large"
28962903 )
28972904
2898- (event ,) = events
2905+ (event , transaction ) = events
28992906
29002907 assert event ["level" ] == "error"
2908+ assert transaction ["contexts" ]["trace" ]["status" ] == "internal_error"
29012909
29022910
29032911@pytest .mark .parametrize ("stream_gen_ai_spans" , [True , False ])
0 commit comments