53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
|
|
package email
|
||
|
|
|
||
|
|
import (
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"go.uber.org/zap"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestLoadSMTPConfigFromEnv(t *testing.T) {
|
||
|
|
// Test avec valeurs par défaut (dev mode - MailHog)
|
||
|
|
config := LoadSMTPConfigFromEnv()
|
||
|
|
|
||
|
|
// En dev sans config, devrait avoir des valeurs par défaut
|
||
|
|
if config.Host == "" {
|
||
|
|
t.Log("SMTP_HOST not set, using default (localhost)")
|
||
|
|
}
|
||
|
|
if config.Port == "" {
|
||
|
|
t.Log("SMTP_PORT not set, using default (1025)")
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestSMTPEmailSender_Send(t *testing.T) {
|
||
|
|
logger, _ := zap.NewDevelopment()
|
||
|
|
defer logger.Sync()
|
||
|
|
|
||
|
|
// Config pour test (sans SMTP réel, juste vérifier que ça ne panique pas)
|
||
|
|
config := SMTPConfig{
|
||
|
|
Host: "localhost",
|
||
|
|
Port: "1025",
|
||
|
|
Username: "test",
|
||
|
|
Password: "test",
|
||
|
|
From: "test@example.com",
|
||
|
|
FromName: "Test",
|
||
|
|
}
|
||
|
|
|
||
|
|
sender := NewSMTPEmailSender(config, logger)
|
||
|
|
|
||
|
|
// Test avec config vide (dev mode - devrait juste logger)
|
||
|
|
emptyConfig := SMTPConfig{}
|
||
|
|
emptySender := NewSMTPEmailSender(emptyConfig, logger)
|
||
|
|
|
||
|
|
err := emptySender.Send("test@example.com", "Test Subject", "Test Body")
|
||
|
|
if err != nil {
|
||
|
|
t.Logf("Expected no error in dev mode (no SMTP config): %v", err)
|
||
|
|
}
|
||
|
|
|
||
|
|
// Test avec config mais sans serveur SMTP réel (devrait échouer mais pas paniquer)
|
||
|
|
err = sender.Send("test@example.com", "Test Subject", "Test Body")
|
||
|
|
if err != nil {
|
||
|
|
t.Logf("Expected error when SMTP server not available: %v", err)
|
||
|
|
}
|
||
|
|
}
|