zwischenstand
This commit is contained in:
87
internal/config/config_test.go
Normal file
87
internal/config/config_test.go
Normal file
@@ -0,0 +1,87 @@
|
||||
package config
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestAllEmailAccounts_Empty(t *testing.T) {
|
||||
orig := Cfg
|
||||
defer func() { Cfg = orig }()
|
||||
Cfg = Config{}
|
||||
|
||||
accounts := AllEmailAccounts()
|
||||
if len(accounts) != 0 {
|
||||
t.Errorf("erwartet 0 Accounts, got %d", len(accounts))
|
||||
}
|
||||
}
|
||||
|
||||
func TestAllEmailAccounts_LegacyFallback(t *testing.T) {
|
||||
orig := Cfg
|
||||
defer func() { Cfg = orig }()
|
||||
Cfg = Config{}
|
||||
Cfg.Email.Host = "imap.example.de"
|
||||
Cfg.Email.Port = 143
|
||||
Cfg.Email.User = "user@example.de"
|
||||
Cfg.Email.Password = "geheim"
|
||||
Cfg.Email.Folder = "INBOX"
|
||||
Cfg.Email.ProcessedFolder = "Processed"
|
||||
Cfg.Email.Model = "testmodel"
|
||||
|
||||
accounts := AllEmailAccounts()
|
||||
if len(accounts) != 1 {
|
||||
t.Fatalf("erwartet 1 Account, got %d", len(accounts))
|
||||
}
|
||||
a := accounts[0]
|
||||
if a.Host != "imap.example.de" {
|
||||
t.Errorf("Host: got %q", a.Host)
|
||||
}
|
||||
if a.Port != 143 {
|
||||
t.Errorf("Port: got %d", a.Port)
|
||||
}
|
||||
if a.User != "user@example.de" {
|
||||
t.Errorf("User: got %q", a.User)
|
||||
}
|
||||
if a.ProcessedFolder != "Processed" {
|
||||
t.Errorf("ProcessedFolder: got %q", a.ProcessedFolder)
|
||||
}
|
||||
if a.Model != "testmodel" {
|
||||
t.Errorf("Model: got %q", a.Model)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAllEmailAccounts_MultipleAccounts(t *testing.T) {
|
||||
orig := Cfg
|
||||
defer func() { Cfg = orig }()
|
||||
Cfg = Config{}
|
||||
Cfg.EmailAccounts = []EmailAccount{
|
||||
{Name: "Privat", Host: "imap1.de", Port: 143},
|
||||
{Name: "Arbeit", Host: "imap2.de", Port: 993, TLS: true},
|
||||
}
|
||||
|
||||
accounts := AllEmailAccounts()
|
||||
if len(accounts) != 2 {
|
||||
t.Fatalf("erwartet 2 Accounts, got %d", len(accounts))
|
||||
}
|
||||
if accounts[0].Host != "imap1.de" {
|
||||
t.Errorf("Account 0 Host: got %q", accounts[0].Host)
|
||||
}
|
||||
if accounts[1].Host != "imap2.de" {
|
||||
t.Errorf("Account 1 Host: got %q", accounts[1].Host)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAllEmailAccounts_NewTakesPrecedence(t *testing.T) {
|
||||
orig := Cfg
|
||||
defer func() { Cfg = orig }()
|
||||
Cfg = Config{}
|
||||
Cfg.Email.Host = "legacy.de"
|
||||
Cfg.EmailAccounts = []EmailAccount{
|
||||
{Name: "Neu", Host: "new.de"},
|
||||
}
|
||||
|
||||
accounts := AllEmailAccounts()
|
||||
if len(accounts) != 1 {
|
||||
t.Fatalf("erwartet 1 Account, got %d", len(accounts))
|
||||
}
|
||||
if accounts[0].Host != "new.de" {
|
||||
t.Errorf("email_accounts sollte Vorrang haben, got host %q", accounts[0].Host)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user