Na primeira parte desse post, vimos como utilizar o fuzz test para gerar payloads automaticamente em nossos testes, o que nos ajudou a encontrar problemas quando o payload não vinha no formato que esperávamos.
Nessa segunda parte, vamos utilizar o fuzz para gerar os inputs que serão utilizados nos campos de um payload correto.
Utilizando o mesmo código do post anterior, antes de começar, vamos fazer uma pequena mudança na validação de e-mail. Além de validar se ele foi preenchido, vamos validar se o e-mail é válido.
Para isso, vamos criar um novo erro e um else para quando o valor do e-mail não esteja vazio.
... ErrEmailRequired = errors.New("Email is required") ErrEmailInvalid = errors.New("Email is invalid") ... if p.Email == "" { return ErrEmailRequired } else { rgx := regexp.MustCompile("^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$") if !rgx.MatchString(p.Email) { return ErrEmailInvalid } } ...Leia mais »