(t *testing.T)
| 12 | ) |
| 13 | |
| 14 | func TestLookupCodeMeta_CredentialCodes(t *testing.T) { |
| 15 | cases := []struct { |
| 16 | code int |
| 17 | wantCat errs.Category |
| 18 | wantSubtype errs.Subtype |
| 19 | wantRetry bool |
| 20 | }{ |
| 21 | {99991661, errs.CategoryAuthentication, errs.SubtypeTokenMissing, false}, |
| 22 | {99991671, errs.CategoryAuthentication, errs.SubtypeTokenInvalid, false}, |
| 23 | {99991668, errs.CategoryAuthentication, errs.SubtypeTokenInvalid, false}, |
| 24 | {99991663, errs.CategoryAuthentication, errs.SubtypeTokenInvalid, false}, |
| 25 | {99991677, errs.CategoryAuthentication, errs.SubtypeTokenExpired, false}, |
| 26 | {20026, errs.CategoryAuthentication, errs.SubtypeRefreshTokenInvalid, false}, |
| 27 | {20037, errs.CategoryAuthentication, errs.SubtypeRefreshTokenExpired, false}, |
| 28 | {20064, errs.CategoryAuthentication, errs.SubtypeRefreshTokenRevoked, false}, |
| 29 | {20073, errs.CategoryAuthentication, errs.SubtypeRefreshTokenReused, false}, |
| 30 | {20050, errs.CategoryAuthentication, errs.SubtypeRefreshServerError, true}, |
| 31 | } |
| 32 | for _, tc := range cases { |
| 33 | t.Run(fmt.Sprintf("%d", tc.code), func(t *testing.T) { |
| 34 | meta, ok := LookupCodeMeta(tc.code) |
| 35 | if !ok { |
| 36 | t.Fatalf("code %d not registered in codeMeta", tc.code) |
| 37 | } |
| 38 | if meta.Category != tc.wantCat || meta.Subtype != tc.wantSubtype || meta.Retryable != tc.wantRetry { |
| 39 | t.Errorf("code %d: got %+v, want Category=%v Subtype=%v Retryable=%v", |
| 40 | tc.code, meta, tc.wantCat, tc.wantSubtype, tc.wantRetry) |
| 41 | } |
| 42 | }) |
| 43 | } |
| 44 | } |
| 45 | |
| 46 | func TestLookupCodeMeta_MissingScope(t *testing.T) { |
| 47 | got, ok := LookupCodeMeta(99991679) |
nothing calls this directly
no test coverage detected