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

Function TestIsGoneError

pkg/errorutil/errors_test.go:68–92  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

66}
67
68func TestIsGoneError(t *testing.T) {
69 tests := []struct {
70 name string
71 err error
72 want bool
73 }{
74 {name: "nil error", err: nil, want: false},
75 {name: "http 410 gone", err: errors.New("HTTP 410: Gone"), want: true},
76 {name: "parenthesized http 410", err: errors.New("gh: workflow logs expired (HTTP 410)"), want: true},
77 {name: "status 410", err: errors.New("request failed with status 410"), want: true},
78 {name: "wrapped http 410", err: fmt.Errorf("request failed: %w", errors.New("HTTP 410: logs unavailable")), want: true},
79 {name: "gone without http status", err: errors.New("artifact gone"), want: false},
80 {name: "gone away", err: errors.New("connection has gone away"), want: false},
81 {name: "bare 410 in message", err: errors.New("server returned 410"), want: false},
82 {name: "403 Forbidden", err: errors.New("HTTP 403: Forbidden"), want: false},
83 {name: "generic error", err: errors.New("something went wrong"), want: false},
84 }
85
86 for _, tt := range tests {
87 t.Run(tt.name, func(t *testing.T) {
88 got := errorutil.IsGoneError(tt.err)
89 assert.Equal(t, tt.want, got, "IsGoneError result mismatch for subtest %s", tt.name)
90 })
91 }
92}

Callers

nothing calls this directly

Calls 3

IsGoneErrorFunction · 0.92
ErrorfMethod · 0.45
RunMethod · 0.45

Tested by

no test coverage detected