Files
mcp-captcharesolver/internal/stealth/fingerprint_test.go
T

27 lines
1.0 KiB
Go

package stealth
import "testing"
func TestGenerateFingerprintDeterministic(t *testing.T) {
a := GenerateFingerprint(FingerprintParams{OS: "windows", Browser: "chrome", Locale: "en-US", Seed: 42})
b := GenerateFingerprint(FingerprintParams{OS: "windows", Browser: "chrome", Locale: "en-US", Seed: 42})
if a != b {
t.Fatalf("same seed must be deterministic:\n%+v\n%+v", a, b)
}
if a.UserAgent == "" || a.Platform == "" || a.SecCHUA == "" {
t.Fatalf("incomplete fingerprint: %+v", a)
}
// internal consistency: windows UA must mention Windows and platform Win32
if a.Platform != "Win32" {
t.Fatalf("windows platform=%q", a.Platform)
}
}
func TestGenerateFingerprintVaries(t *testing.T) {
a := GenerateFingerprint(FingerprintParams{OS: "windows", Browser: "chrome", Seed: 1})
b := GenerateFingerprint(FingerprintParams{OS: "windows", Browser: "chrome", Seed: 2})
if a.HardwareConcurrency == b.HardwareConcurrency && a.UserAgent == b.UserAgent && a.Viewport == b.Viewport {
t.Fatal("different seeds should vary at least one attribute")
}
}