hyapp-server/pkg/tencentrtc/callback_test.go
2026-05-05 22:10:26 +08:00

19 lines
871 B
Go

package tencentrtc
import "testing"
func TestVerifyCallbackSignatureUsesRawBody(t *testing.T) {
body := []byte("{\n\t\"EventGroupId\":\t2,\n\t\"EventType\":\t204,\n\t\"CallbackTs\":\t1664209748188,\n\t\"EventInfo\":\t{\n\t\t\"RoomId\":\t8489,\n\t\t\"EventTs\":\t1664209748,\n\t\t\"EventMsTs\":\t1664209748180,\n\t\t\"UserId\":\t\"user_85034614\",\n\t\t\"Reason\":\t0\n\t}\n}")
sign := "kkoFeO3Oh2ZHnjtg8tEAQhtXK16/KI05W3BQff8IvGA="
if !VerifyCallbackSignature("123654", body, sign) {
t.Fatal("expected official Tencent RTC callback signature sample to verify")
}
if VerifyCallbackSignature("123654", []byte(`{"EventType":204}`), sign) {
t.Fatal("signature verification must use the exact raw callback body")
}
if VerifyCallbackSignature("", body, sign) || VerifyCallbackSignature("123654", body, "") {
t.Fatal("missing key or sign must fail closed")
}
}