24 lines
505 B
Go
24 lines
505 B
Go
package chat
|
||
|
||
import (
|
||
"crypto/md5"
|
||
"encoding/hex"
|
||
"testing"
|
||
)
|
||
|
||
// TestSignOpenApi 校验 open 签名规则:sign = md5(gkey + time + key)
|
||
func TestSignOpenApi(t *testing.T) {
|
||
gkey, key := "center-api", "test-secret"
|
||
g, ts, sign := signOpenApi(gkey, key)
|
||
if g != gkey {
|
||
t.Fatalf("gkey 应原样返回, got %s", g)
|
||
}
|
||
if ts == "" {
|
||
t.Fatal("time 不应为空")
|
||
}
|
||
want := md5.Sum([]byte(gkey + ts + key))
|
||
if sign != hex.EncodeToString(want[:]) {
|
||
t.Fatalf("签名不符: got %s", sign)
|
||
}
|
||
}
|