accounts/internal/mailer/mailer_test.go
Haitao Pan ee6e1a6363 feat: move account service to repo root
# Conflicts:
#	account/Makefile
#	account/go.mod
#	docs/account-admin-settings.md
#	docs/account-svc-plus.md
2026-01-16 16:15:23 +08:00

50 lines
1.2 KiB
Go

package mailer
import "testing"
func TestParseTLSMode(t *testing.T) {
cases := map[string]TLSMode{
"": TLSModeAuto,
"auto": TLSModeAuto,
"automatic": TLSModeAuto,
"detect": TLSModeAuto,
"starttls": TLSModeStartTLS,
"start_tls": TLSModeStartTLS,
"start-tls": TLSModeStartTLS,
"implicit": TLSModeImplicit,
"smtps": TLSModeImplicit,
"none": TLSModeNone,
"disable": TLSModeNone,
"disabled": TLSModeNone,
"off": TLSModeNone,
"plain": TLSModeNone,
"plaintext": TLSModeNone,
"unknown": TLSModeAuto,
}
for input, expected := range cases {
if mode := ParseTLSMode(input); mode != expected {
t.Errorf("ParseTLSMode(%q) = %q, expected %q", input, mode, expected)
}
}
}
func TestNewImplicitModeAutodetect(t *testing.T) {
sender, err := New(Config{
Host: "smtp.example.com",
Port: 465,
From: "Example <no-reply@example.com>",
})
if err != nil {
t.Fatalf("unexpected error creating sender: %v", err)
}
s, ok := sender.(*smtpSender)
if !ok {
t.Fatalf("expected smtpSender, got %T", sender)
}
if s.tlsMode != TLSModeImplicit {
t.Fatalf("expected tlsMode %q, got %q", TLSModeImplicit, s.tlsMode)
}
}