MCPcopy Create free account
hub / github.com/github/gh-aw / TestSpec_PublicAPI_IsForbiddenError

Function TestSpec_PublicAPI_IsForbiddenError

pkg/errorutil/spec_test.go:54–76  ·  view source on GitHub ↗

TestSpec_PublicAPI_IsForbiddenError validates the documented behavior of IsForbiddenError as described in the errorutil README.md. Specification: - Returns true when err indicates an HTTP-style 403/"forbidden" response by matching case-insensitive patterns like "HTTP 403" or "403 Forbidden". - Retu

(t *testing.T)

Source from the content-addressed store, hash-verified

52// - Design note: requires HTTP-style status context so unrelated phrases
53// like "forbidden character" are not misclassified.
54func TestSpec_PublicAPI_IsForbiddenError(t *testing.T) {
55 tests := []struct {
56 name string
57 err error
58 want bool
59 }{
60 {name: "documented: nil returns false", err: nil, want: false},
61 {name: "documented: HTTP 403 pattern", err: errors.New("HTTP 403: Forbidden"), want: true},
62 {name: "documented: 403 Forbidden pattern", err: errors.New("403 Forbidden"), want: true},
63 {name: "documented: case-insensitive http 403", err: errors.New("http 403: forbidden"), want: true},
64 {name: "documented: case-insensitive HTTP 403 FORBIDDEN", err: errors.New("HTTP 403: FORBIDDEN"), want: true},
65 {name: "documented: wrapped HTTP 403", err: fmt.Errorf("api: %w", errors.New("HTTP 403: Forbidden")), want: true},
66 {name: "documented design note: 'forbidden character' is not misclassified", err: errors.New("invalid forbidden character in query"), want: false},
67 {name: "documented: non-matching error returns false", err: errors.New("some other failure"), want: false},
68 }
69
70 for _, tt := range tests {
71 t.Run(tt.name, func(t *testing.T) {
72 got := errorutil.IsForbiddenError(tt.err)
73 assert.Equal(t, tt.want, got, "IsForbiddenError(%v) mismatch for: %s", tt.err, tt.name)
74 })
75 }
76}
77
78// TestSpec_PublicAPI_IsGoneError validates the documented behavior of
79// IsGoneError as described in the errorutil README.md.

Callers

nothing calls this directly

Calls 3

IsForbiddenErrorFunction · 0.92
ErrorfMethod · 0.45
RunMethod · 0.45

Tested by

no test coverage detected