forked from cristalhq/jwt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfuzz_test.go
22 lines (19 loc) · 899 Bytes
/
fuzz_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package jwt
import (
"testing"
)
// How to run: `go test -fuzz=FuzzParseNoVerify -parallel=32`
func FuzzParseNoVerify(f *testing.F) {
f.Add([]byte("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1MDUxODI5Mzg2ODc2NTc3MTIzIiwibmFtZSI6IjdNZUNSbG9xSXAiLCJpYXQiOjE3MjA1NTM4NDV9.QW7kzr70jrbZpPV4"))
f.Add([]byte("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"))
f.Add([]byte("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.invalid_signature"))
f.Add([]byte("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"))
f.Add([]byte("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30."))
f.Add([]byte(""))
f.Add([]byte("random bytes"))
f.Fuzz(func(t *testing.T, data []byte) {
if _, err := ParseNoVerify(data); err != nil {
t.Skip()
}
})
}