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 » 