mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-09-10 07:05:31 +08:00
68 lines
1.5 KiB
Go
68 lines
1.5 KiB
Go
package models
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func Test_UpdateSplitHorizonNames(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
dc *DomainConfig
|
|
expected *DomainConfig
|
|
}{
|
|
{
|
|
name: "testNoTag",
|
|
dc: &DomainConfig{
|
|
Name: "example.com",
|
|
},
|
|
expected: &DomainConfig{
|
|
Name: "example.com",
|
|
Metadata: map[string]string{
|
|
DomainUniqueName: "example.com",
|
|
DomainTag: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "testEmptyTag",
|
|
dc: &DomainConfig{
|
|
Name: "example.com!",
|
|
},
|
|
expected: &DomainConfig{
|
|
Name: "example.com",
|
|
Metadata: map[string]string{
|
|
DomainUniqueName: "example.com",
|
|
DomainTag: "",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: "testWithTag",
|
|
dc: &DomainConfig{
|
|
Name: "example.com!john",
|
|
},
|
|
expected: &DomainConfig{
|
|
Name: "example.com",
|
|
Metadata: map[string]string{
|
|
DomainUniqueName: "example.com!john",
|
|
DomainTag: "john",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
tt.dc.UpdateSplitHorizonNames()
|
|
if tt.dc.Name != tt.expected.Name {
|
|
t.Errorf("expected name %s, got %s", tt.expected.Name, tt.dc.Name)
|
|
}
|
|
if tt.dc.Metadata[DomainUniqueName] != tt.expected.Metadata[DomainUniqueName] {
|
|
t.Errorf("expected unique name %s, got %s", tt.expected.Metadata[DomainUniqueName], tt.dc.Metadata[DomainUniqueName])
|
|
}
|
|
if tt.dc.Metadata[DomainTag] != tt.expected.Metadata[DomainTag] {
|
|
t.Errorf("expected tag %s, got %s", tt.expected.Metadata[DomainTag], tt.dc.Metadata[DomainTag])
|
|
}
|
|
})
|
|
}
|
|
}
|