123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package config
- import (
- "testing"
- "git.sr.ht/~blallo/papero/worker"
- "github.com/google/go-cmp/cmp"
- )
- func TestParseConfig(t *testing.T) {
- expected := &MemConfig{
- Default: "First Account",
- Accounts: map[string]*AccountData{
- "First Account": {
- Host: "mx.example.com",
- Port: 993,
- Username: "first@example.com",
- Password: "123qweasdzxc",
- ExcludedFolders: []string{"Draft", "Junk"},
- MailboxPath: "/opt",
- Messages: 30,
- },
- "Other Account": {
- Host: "mail.personal.me",
- Port: 666,
- Username: "h4x0R@personal.me",
- Password: "mySup3r5ekre7p4ssw0rd123",
- ExcludedFolders: []string{},
- MailboxPath: "../base/mailbox/Other Account",
- Messages: 50,
- },
- },
- Workers: map[string]*worker.Worker{
- "First Account": {},
- "Other Account": {},
- },
- }
- file := writeToTempFile(t, "papero.*.toml", testConfig)
- fileConfig, err := parseFile(file.Name())
- if err != nil {
- t.Fatal(err)
- }
- result, errs := parseConfig(fileConfig)
- if !errs.Check() {
- t.Fatal(errs)
- }
- if result.Default != expected.Default {
- t.Errorf("Default account does not match. Expected: %s\tResult:\t%s\n", expected.Default, result.Default)
- }
- if !cmp.Equal(result.Accounts, expected.Accounts) {
- t.Errorf("Result and expected result differ: %+v\n", cmp.Diff(result.Accounts, expected.Accounts))
- }
- }
|