29 lines
730 B
Go
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)
|
|
}
|
|
}
|