mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
Refactor RecordConfig: Add getters/setters (#314)
* Replace RecordConfig.Name and .NameFQDN with getters and setters. * Replace RecordConfig.Target with getters and setters. * Eliminate the CombinedTarget concept. * Add RecordConfig.PopulateFromString to reduce code in all providers. * encode and decode name.com txt records (#315) * Replace fmt.Errorf with errors.Errorf
This commit is contained in:
51
providers/namedotcom/records_test.go
Normal file
51
providers/namedotcom/records_test.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package namedotcom
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var txtData = []struct {
|
||||
decoded []string
|
||||
encoded string
|
||||
}{
|
||||
{[]string{`simple`}, `simple`},
|
||||
{[]string{`changed`}, `changed`},
|
||||
{[]string{`with spaces`}, `with spaces`},
|
||||
{[]string{`with whitespace`}, `with whitespace`},
|
||||
{[]string{"one", "two"}, `"one""two"`},
|
||||
{[]string{"eh", "bee", "cee"}, `"eh""bee""cee"`},
|
||||
{[]string{"o\"ne", "tw\"o"}, `"o\"ne""tw\"o"`},
|
||||
{[]string{"dimple"}, `dimple`},
|
||||
{[]string{"fun", "two"}, `"fun""two"`},
|
||||
{[]string{"eh", "bzz", "cee"}, `"eh""bzz""cee"`},
|
||||
}
|
||||
|
||||
func TestEncodeTxt(t *testing.T) {
|
||||
// Test encoded the lists of strings into a string:
|
||||
for i, test := range txtData {
|
||||
enc := encodeTxt(test.decoded)
|
||||
if enc != test.encoded {
|
||||
t.Errorf("%v: txt\n data: []string{%v}\nexpected: %s\n got: %s",
|
||||
i, "`"+strings.Join(test.decoded, "`, `")+"`", test.encoded, enc)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestDecodeTxt(t *testing.T) {
|
||||
// Test decoded a string into the list of strings:
|
||||
for i, test := range txtData {
|
||||
data := test.encoded
|
||||
got := decodeTxt(data)
|
||||
wanted := test.decoded
|
||||
if len(got) != len(wanted) {
|
||||
t.Errorf("%v: txt\n decode: %v\nexpected: `%v`\n got: `%v`\n", i, data, strings.Join(wanted, "`, `"), strings.Join(got, "`, `"))
|
||||
} else {
|
||||
for j := range got {
|
||||
if got[j] != wanted[j] {
|
||||
t.Errorf("%v: txt\n decode: %v\nexpected: `%v`\n got: `%v`\n", i, data, strings.Join(wanted, "`, `"), strings.Join(got, "`, `"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user