mic~ proxy for JA4-TLS fingerprinting evasion |
| git clone https://github.com/djnnvx/mic.git |
| log | files | refs | archive | README | LICENSE |
tls_test.go (1174B)
1 package fingerprint_test 2 3 import ( 4 "testing" 5 6 "github.com/djnnvx/mic/fingerprint" 7 ) 8 9 func TestByName_Happy(t *testing.T) { 10 fp, err := fingerprint.ByName("chrome-120") 11 if err != nil { 12 t.Fatalf("ByName(%q) returned error: %v", "chrome-120", err) 13 } 14 if fp == nil { 15 t.Fatal("ByName returned nil fingerprint") 16 } 17 } 18 19 func TestByName_Error(t *testing.T) { 20 _, err := fingerprint.ByName("not-a-real-profile") 21 if err == nil { 22 t.Fatal("ByName with unknown name returned nil error; expected error") 23 } 24 } 25 26 func TestName_ReturnsProfile(t *testing.T) { 27 fp, err := fingerprint.ByName("chrome-120") 28 if err != nil { 29 t.Fatalf("ByName: %v", err) 30 } 31 if fp.Name() != "chrome-120" { 32 t.Errorf("Name() = %q; want %q", fp.Name(), "chrome-120") 33 } 34 } 35 36 func TestNameTable_HasExpectedProfiles(t *testing.T) { 37 expected := []string{ 38 "chrome-120", "chrome-120-pq", "chrome-131", "chrome-133", 39 "firefox-120", 40 "safari-16", "ios-16", 41 "edge-85", "edge-106", 42 "opera-91", 43 "android-11-okhttp", 44 "ipad-15", 45 "qq-11", "360-7", "360-11", 46 } 47 for _, name := range expected { 48 if _, ok := fingerprint.NameTable[name]; !ok { 49 t.Errorf("NameTable missing profile %q", name) 50 } 51 } 52 }