30 lines
717 B
Go
30 lines
717 B
Go
package sms
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
)
|
|
|
|
func TestIsProviderRateLimited(t *testing.T) {
|
|
err := &ProviderError{
|
|
Code: "isv.BUSINESS_LIMIT_CONTROL",
|
|
Message: "触发小时级流控Permits:5",
|
|
Err: ErrProviderRateLimited,
|
|
}
|
|
|
|
if !IsProviderRateLimited(err) {
|
|
t.Fatalf("expected provider rate limit error")
|
|
}
|
|
if !errors.Is(err, ErrProviderRateLimited) {
|
|
t.Fatalf("expected errors.Is to match provider rate limit")
|
|
}
|
|
}
|
|
|
|
func TestProviderErrorMessage(t *testing.T) {
|
|
err := &ProviderError{Code: "isv.INVALID_PARAMETERS", Message: "参数错误"}
|
|
|
|
if got := err.Error(); got != "sms provider rejected: isv.INVALID_PARAMETERS: 参数错误" {
|
|
t.Fatalf("unexpected error message: %s", got)
|
|
}
|
|
}
|