spark-server/internal/module/device/logic/fingerprint_test.go

34 lines
974 B
Go

package logic
import (
"testing"
deviceentity "spark-server/internal/module/device/entity"
)
func TestDeviceIDFromFingerprintIOS(t *testing.T) {
id, hash, err := DeviceIDFromFingerprint(FingerprintInput{
DeviceType: deviceentity.TypeIOS,
IDFV: "00000000-0000-0000-0000-000000000007",
})
if err != nil || hash == "" || id == 0 {
t.Fatalf("id=%d hash=%q err=%v", id, hash, err)
}
id2, _, err := DeviceIDFromFingerprint(FingerprintInput{
DeviceType: deviceentity.TypeIOS,
IDFV: "00000000-0000-0000-0000-000000000007",
})
if err != nil || id2 != id {
t.Fatalf("stable %d %d", id, id2)
}
}
func TestDeviceIDFromFingerprintRequiresFields(t *testing.T) {
if _, _, err := DeviceIDFromFingerprint(FingerprintInput{DeviceType: deviceentity.TypeIOS}); err == nil {
t.Fatal("ios without idfv")
}
if _, _, err := DeviceIDFromFingerprint(FingerprintInput{DeviceType: deviceentity.TypeAndroid}); err == nil {
t.Fatal("android without id")
}
}