MCPcopy Index your code
hub / github.com/coder/coder / TestParseRetryAfter

Function TestParseRetryAfter

aibridge/keypool/headers_test.go:13–110  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestParseRetryAfter(t *testing.T) {
14 t.Parallel()
15
16 tests := []struct {
17 name string
18 headers map[string]string
19 nilResponse bool
20 expected time.Duration
21 }{
22 // nil response.
23 {
24 name: "nil_response",
25 nilResponse: true,
26 expected: 0,
27 },
28 // No headers set.
29 {
30 name: "no_headers",
31 headers: nil,
32 expected: 0,
33 },
34 // retry-after-ms (OpenAI, preferred).
35 {
36 name: "openai_retry_after_ms",
37 headers: map[string]string{"retry-after-ms": "2500"},
38 expected: 2500 * time.Millisecond,
39 },
40 {
41 name: "whitespace_trimmed_ms",
42 headers: map[string]string{"retry-after-ms": " 1500 "},
43 expected: 1500 * time.Millisecond,
44 },
45 {
46 name: "negative_ms_returns_zero",
47 headers: map[string]string{"retry-after-ms": "-100"},
48 expected: 0,
49 },
50 // Retry-After (standard, seconds).
51 {
52 name: "standard_retry_after_seconds",
53 headers: map[string]string{"Retry-After": "60"},
54 expected: 60 * time.Second,
55 },
56 {
57 name: "whitespace_trimmed_seconds",
58 headers: map[string]string{"Retry-After": " 30 "},
59 expected: 30 * time.Second,
60 },
61 {
62 name: "zero_seconds_returns_zero",
63 headers: map[string]string{"Retry-After": "0"},
64 expected: 0,
65 },
66 {
67 name: "negative_seconds_returns_zero",
68 headers: map[string]string{"Retry-After": "-5"},
69 expected: 0,
70 },

Callers

nothing calls this directly

Calls 4

ParseRetryAfterFunction · 0.92
RunMethod · 0.65
SetMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected