mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-09-20 14:56:20 +08:00
61c92c9215
Previously, unnecessary corrections were possible if both an R53_ALIAS pointing to an A record and to an AAAA record existed for the same label, and map iteration over existing and desired found them in different orders. (This is a common configuration for IPv6-enabled records.) This commit: * mirrors key logic in the R53 provider * centralizes logic around keys in the models package * adds tests
34 lines
777 B
Go
34 lines
777 B
Go
package models
|
|
|
|
import "testing"
|
|
|
|
func TestKey(t *testing.T) {
|
|
var tests = []struct {
|
|
rc RecordConfig
|
|
expected RecordKey
|
|
}{
|
|
{
|
|
RecordConfig{Type: "A", Name: "@"},
|
|
RecordKey{Type: "A", Name: "@"},
|
|
},
|
|
{
|
|
RecordConfig{Type: "R53_ALIAS", Name: "@"},
|
|
RecordKey{Type: "R53_ALIAS", Name: "@"},
|
|
},
|
|
{
|
|
RecordConfig{Type: "R53_ALIAS", Name: "@", R53Alias: map[string]string{"foo": "bar"}},
|
|
RecordKey{Type: "R53_ALIAS", Name: "@"},
|
|
},
|
|
{
|
|
RecordConfig{Type: "R53_ALIAS", Name: "@", R53Alias: map[string]string{"type": "AAAA"}},
|
|
RecordKey{Type: "R53_ALIAS_AAAA", Name: "@"},
|
|
},
|
|
}
|
|
for i, test := range tests {
|
|
actual := test.rc.Key()
|
|
if test.expected != actual {
|
|
t.Errorf("%d: Expected %s, got %s", i, test.expected, actual)
|
|
}
|
|
}
|
|
}
|