Files
Sakurasan c78a473e59 feat: API Key 前缀改为 sk-ot
- apikey 包 prefix 常量 sk- → sk-ot(生成/校验/展示前缀统一驱动)
- 鉴权错误提示同步更新为 sk-ot 格式
- 测试断言改用常量,避免硬编码长度
- 前端 curl 示例与 README/PLANNING 文档同步
2026-08-25 00:34:50 +08:00

41 lines
963 B
Go

package apikey
import "testing"
func TestGenerateValid(t *testing.T) {
plain, hash, keyPrefix, err := Generate()
if err != nil {
t.Fatalf("Generate: %v", err)
}
if !Valid(plain) {
t.Fatalf("generated key invalid: %q", plain)
}
if len(plain) != len(prefix)+keyLen {
t.Fatalf("unexpected key length: %d", len(plain))
}
if keyPrefix != plain[:12] {
t.Fatalf("prefix mismatch: %s vs %s", keyPrefix, plain[:12])
}
if Hash(plain) != hash {
t.Fatal("hash mismatch")
}
}
func TestHashStable(t *testing.T) {
if Hash("sk-ot-test") != Hash("sk-ot-test") {
t.Fatal("hash not stable")
}
}
func TestValidRejects(t *testing.T) {
tooShort := prefix + "abc"
tooLong := prefix + "1234567890123456789012345678901234567890123456789"
wrongPrefix := "abc-ot123456789012345678901234567890123456789012345678"
cases := []string{"", tooShort, wrongPrefix, tooLong}
for _, c := range cases {
if Valid(c) {
t.Fatalf("expected invalid: %q", c)
}
}
}