@@ -457,6 +457,61 @@ async def test_embeddings_create_async(
457457 assert span ["measurements" ]["ai_total_tokens_used" ]["value" ] == 30
458458
459459
460+ @pytest .mark .parametrize (
461+ "send_default_pii, include_prompts" ,
462+ [(True , True ), (True , False ), (False , True ), (False , False )],
463+ )
464+ def test_embeddings_create_raises_error (
465+ sentry_init , capture_events , send_default_pii , include_prompts
466+ ):
467+ sentry_init (
468+ integrations = [OpenAIIntegration (include_prompts = include_prompts )],
469+ traces_sample_rate = 1.0 ,
470+ send_default_pii = send_default_pii ,
471+ )
472+ events = capture_events ()
473+
474+ client = OpenAI (api_key = "z" )
475+
476+ client .embeddings ._post = mock .Mock (
477+ side_effect = OpenAIError ("API rate limit reached" )
478+ )
479+
480+ with pytest .raises (OpenAIError ):
481+ client .embeddings .create (input = "hello" , model = "text-embedding-3-large" )
482+
483+ (event ,) = events
484+ assert event ["level" ] == "error"
485+
486+
487+ @pytest .mark .asyncio
488+ @pytest .mark .parametrize (
489+ "send_default_pii, include_prompts" ,
490+ [(True , True ), (True , False ), (False , True ), (False , False )],
491+ )
492+ async def test_embeddings_create_raises_error_async (
493+ sentry_init , capture_events , send_default_pii , include_prompts
494+ ):
495+ sentry_init (
496+ integrations = [OpenAIIntegration (include_prompts = include_prompts )],
497+ traces_sample_rate = 1.0 ,
498+ send_default_pii = send_default_pii ,
499+ )
500+ events = capture_events ()
501+
502+ client = AsyncOpenAI (api_key = "z" )
503+
504+ client .embeddings ._post = AsyncMock (
505+ side_effect = OpenAIError ("API rate limit reached" )
506+ )
507+
508+ with pytest .raises (OpenAIError ):
509+ await client .embeddings .create (input = "hello" , model = "text-embedding-3-large" )
510+
511+ (event ,) = events
512+ assert event ["level" ] == "error"
513+
514+
460515def test_span_origin_nonstreaming_chat (sentry_init , capture_events ):
461516 sentry_init (
462517 integrations = [OpenAIIntegration ()],
0 commit comments