bindbox-game/internal/pkg/wechat/qrcode_test.go
2026-05-09 01:26:15 +08:00

29 lines
730 B
Go

package wechat
import (
"fmt"
"strings"
"testing"
)
func TestAccessTokenBackoffForQuotaError(t *testing.T) {
appID := "test-quota-app"
clearAccessTokenFailure(appID)
t.Cleanup(func() { clearAccessTokenFailure(appID) })
rememberAccessTokenFailure(appID, fmt.Errorf("获取access_token失败: errcode=45009, errmsg=reach max api daily quota limit"))
err := accessTokenBackoffError(appID)
if err == nil {
t.Fatalf("expected backoff error")
}
if !strings.Contains(err.Error(), "45009") {
t.Fatalf("expected original quota error to be preserved, got %v", err)
}
clearAccessTokenFailure(appID)
if err := accessTokenBackoffError(appID); err != nil {
t.Fatalf("expected no backoff after clear, got %v", err)
}
}