maddy

Fork https://github.com/foxcpp/maddy

git clone git://git.lin.moe/go/maddy.git

 1package address_test
 2
 3import (
 4	"strings"
 5	"testing"
 6
 7	"github.com/foxcpp/maddy/framework/address"
 8)
 9
10func TestValidMailboxName(t *testing.T) {
11	if !address.ValidMailboxName("caddy.bug") {
12		t.Error("caddy.bug should be valid mailbox name")
13	}
14}
15
16func TestValidDomain(t *testing.T) {
17	for _, c := range []struct {
18		Domain string
19		Valid  bool
20	}{
21		{Domain: "maddy.email", Valid: true},
22		{Domain: "", Valid: false},
23		{Domain: "maddy.email.", Valid: true},
24		{Domain: "..", Valid: false},
25		{Domain: strings.Repeat("a", 256), Valid: false},
26		{Domain: "äõäoaõoäaõaäõaoäaoaäõoaäooaoaoiuaiauäõiuüõaõäiauõaaa.tld", Valid: true},            // https://github.com/foxcpp/maddy/issues/554
27		{Domain: "xn--oaoaaaoaoaoaooaoaoiuaiauiuaiauaaa-f1cadccdcmd01eddchqcbe07a.tld", Valid: true}, // https://github.com/foxcpp/maddy/issues/554
28	} {
29		if actual := address.ValidDomain(c.Domain); actual != c.Valid {
30			t.Errorf("expected domain %v to be valid=%v, but got %v", c.Domain, c.Valid, actual)
31		}
32	}
33}