plugin/etcd: Fix multi record TXT lookups (#5293)

* fix multi-record txt

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
This commit is contained in:
Chris O'Haver
2022-04-04 14:59:16 -04:00
committed by GitHub
parent 38ff869d69
commit 4d76faa4b4
5 changed files with 40 additions and 23 deletions

View File

@@ -28,7 +28,8 @@ var services = []*msg.Service{
{Host: "10.0.0.2", Port: 8080, Key: "b.server1.prod.region1.skydns.test."},
{Host: "::1", Port: 8080, Key: "b.server6.prod.region1.skydns.test."},
// TXT record in server1.
{Host: "", Port: 8080, Text: "sometext", Key: "txt.server1.prod.region1.skydns.test."},
{Text: "sometext", Key: "a.txt.server1.prod.region1.skydns.test."},
{Text: "moretext", Key: "b.txt.server1.prod.region1.skydns.test."},
// Unresolvable internal name.
{Host: "unresolvable.skydns.test", Key: "cname.prod.region1.skydns.test."},
// Priority.
@@ -145,6 +146,7 @@ var dnsTestCases = []test.Case{
{
Qname: "txt.server1.prod.region1.skydns.test.", Qtype: dns.TypeTXT,
Answer: []dns.RR{
test.TXT("txt.server1.prod.region1.skydns.test. 303 IN TXT moretext"),
test.TXT("txt.server1.prod.region1.skydns.test. 303 IN TXT sometext"),
},
},
@@ -337,7 +339,7 @@ func TestLookup(t *testing.T) {
defer delete(t, etc, serv.Key)
}
for _, tc := range dnsTestCases {
for i, tc := range dnsTestCases {
m := tc.Msg()
rec := dnstest.NewRecorder(&test.ResponseWriter{})
@@ -345,7 +347,7 @@ func TestLookup(t *testing.T) {
resp := rec.Msg
if err := test.SortAndCheck(resp, tc); err != nil {
t.Error(err)
t.Errorf("Test %d: %v", i, err)
}
}
}