traefik/types/domain_test.go

91 lines
1.6 KiB
Go
Raw Normal View History

2018-03-26 12:12:03 +00:00
package types
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestDomain_ToStrArray(t *testing.T) {
testCases := []struct {
desc string
domain Domain
expected []string
}{
{
desc: "with Main and SANs",
domain: Domain{
Main: "foo.com",
SANs: []string{"bar.foo.com", "bir.foo.com"},
},
expected: []string{"foo.com", "bar.foo.com", "bir.foo.com"},
},
{
desc: "without SANs",
domain: Domain{
Main: "foo.com",
},
expected: []string{"foo.com"},
},
{
desc: "without Main",
domain: Domain{
SANs: []string{"bar.foo.com", "bir.foo.com"},
},
expected: []string{"bar.foo.com", "bir.foo.com"},
},
}
for _, test := range testCases {
test := test
t.Run(test.desc, func(t *testing.T) {
t.Parallel()
domains := test.domain.ToStrArray()
assert.EqualValues(t, test.expected, domains)
})
}
}
func TestDomain_Set(t *testing.T) {
testCases := []struct {
desc string
rawDomains []string
expected Domain
}{
{
desc: "with 3 domains",
rawDomains: []string{"foo.com", "bar.foo.com", "bir.foo.com"},
expected: Domain{
Main: "foo.com",
SANs: []string{"bar.foo.com", "bir.foo.com"},
},
},
{
desc: "with 1 domain",
rawDomains: []string{"foo.com"},
expected: Domain{
Main: "foo.com",
SANs: []string{},
},
},
{
desc: "",
rawDomains: nil,
expected: Domain{},
},
}
for _, test := range testCases {
test := test
t.Run(test.desc, func(t *testing.T) {
t.Parallel()
domain := Domain{}
domain.Set(test.rawDomains)
assert.Equal(t, test.expected, domain)
})
}
}