Skip to content

Teste para a função send_email #15

@Ramalho7

Description

@Ramalho7

✅ Checklist de Testes para a Função send_email()

Esta lista define os critérios essenciais para garantir, via testes automatizados e mocks, que a função send_email() está funcionando conforme o esperado.


🔧 Configuração SMTP (get_smtp_config())

  • Carrega corretamente as variáveis de ambiente:
    • SMTP_SERVER
    • SMTP_PORT (com fallback para 587)
    • SMTP_USER
    • SMTP_PASSWORD
  • Retorna uma tupla com os 4 valores esperados.

✉️ Montagem do E-mail

  • Cria uma instância de MIMEMultipart.
  • Define corretamente os campos:
    • From com o usuário SMTP
    • To com o e-mail de destino
    • Subject com o assunto informado
  • Anexa o corpo HTML usando MIMEText.

📤 Envio via SMTP

  • Abre conexão com o servidor SMTP usando smtplib.SMTP.
  • Inicia o protocolo TLS com starttls().
  • Realiza login com as credenciais.
  • Envia o e-mail com sendmail(), utilizando os dados montados.
  • Fecha corretamente a conexão (uso de with).

🛑 Tratamento de Erros

  • Captura exceções durante o envio (ex: falha de login, rede, etc.).
  • Exibe mensagem de erro clara com o e-mail do destinatário e a exceção.

🧪 Requisitos para Teste Automatizado

  • Uso de mock para:
    • smtplib.SMTP
    • os.getenv
  • Verificar se SMTP(...).starttls(), login() e sendmail() foram chamados com os argumentos corretos.
  • Validar montagem correta do conteúdo do e-mail (assunto, remetente, destinatário, corpo).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions