File size: 958 Bytes
5aaf5ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from google.genai.errors import ClientError

from gargi_ai.error_utils import summarize_provider_error


def test_provider_error_summary_detects_quota_retry_delay():
    exc = ClientError(
        429,
        {
            "error": {
                "code": 429,
                "message": "quota exceeded",
                "status": "RESOURCE_EXHAUSTED",
                "details": [
                    {"retryDelay": "42s"},
                    {
                        "violations": [
                            {
                                "quotaMetric": "generate_content_free_tier_requests",
                            }
                        ]
                    },
                ],
            }
        },
    )

    info = summarize_provider_error(exc)

    assert info.code == "RATE_LIMITED"
    assert info.expected is True
    assert info.retry_delay == "42s"
    assert info.quota_metric == "generate_content_free_tier_requests"