7 var testConfig = Config{
10 Domain: "domain1.net",
11 MailboxPassword: "d1",
14 Domain: "domain2.xyz",
15 MailboxPassword: "d2",
20 func TestAuthenticate(t *testing.T) {
21 server := smtpServer{config: testConfig}
23 authTests := []struct {
24 authz, authc, passwd string
27 {"foo@domain1.net", "mailbox@domain1.net", "d1", true},
28 {"", "mailbox@domain1.net", "d1", true},
29 {"foo@domain2.xyz", "mailbox@domain1.xyz", "d1", false},
30 {"foo@domain2.xyz", "mailbox@domain1.xyz", "d2", false},
31 {"foo@domain2.xyz", "mailbox@domain2.xyz", "d2", true},
32 {"invalid", "mailbox@domain2.xyz", "d2", false},
33 {"", "mailbox@domain2.xyz", "d2", true},
37 for i, test := range authTests {
38 actual := server.Authenticate(test.authz, test.authc, test.passwd)
39 if actual != test.ok {
40 t.Errorf("Test %d, got %v, expected %v", i, actual, test.ok)