package macaroons import ( "context" "testing" "gopkg.in/macaroon-bakery.v2/bakery" "gopkg.in/macaroon.v2" ) func FuzzUnmarshalMacaroon(f *testing.F) { f.Fuzz(func(t *testing.T, data []byte) { mac := &macaroon.Macaroon{} _ = mac.UnmarshalBinary(data) }) } func FuzzAuthChecker(f *testing.F) { rootKeyStore := bakery.NewMemRootKeyStore() ctx := context.Background() f.Fuzz(func(t *testing.T, location, entity, action, method string, rootKey, id []byte) { macService, err := NewService( rootKeyStore, location, true, IPLockChecker, ) if err != nil { return } requiredPermissions := []bakery.Op{{ Entity: entity, Action: action, }} mac, err := macaroon.New(rootKey, id, location, macaroon.V2) if err != nil { return } macBytes, err := mac.MarshalBinary() if err != nil { return } _ = macService.CheckMacAuth( ctx, macBytes, requiredPermissions, method, ) }) }