mirror of
https://github.com/coredns/coredns.git
synced 2026-04-05 11:45:33 -04:00
fix(test): deduplicate TSIG test helpers (#8009)
This commit is contained in:
46
core/dnsserver/tsig_test.go
Normal file
46
core/dnsserver/tsig_test.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package dnsserver
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/miekg/dns"
|
||||
)
|
||||
|
||||
type tsigStatusCheckPlugin struct {
|
||||
t *testing.T
|
||||
check func(*testing.T, error)
|
||||
called chan struct{}
|
||||
}
|
||||
|
||||
func (p tsigStatusCheckPlugin) Name() string { return "tsig-status-check" }
|
||||
|
||||
func (p tsigStatusCheckPlugin) ServeDNS(_ context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
|
||||
p.t.Helper()
|
||||
if p.called != nil {
|
||||
p.called <- struct{}{}
|
||||
}
|
||||
p.check(p.t, w.TsigStatus())
|
||||
|
||||
m := new(dns.Msg)
|
||||
m.SetReply(r)
|
||||
if err := w.WriteMsg(m); err != nil {
|
||||
p.t.Fatalf("WriteMsg() failed: %v", err)
|
||||
}
|
||||
return dns.RcodeSuccess, nil
|
||||
}
|
||||
|
||||
func mustPackSignedTSIGQuery(t *testing.T, keyName, secret string, tsigTime int64) []byte {
|
||||
t.Helper()
|
||||
|
||||
m := new(dns.Msg)
|
||||
m.SetQuestion("example.com.", dns.TypeA)
|
||||
m.Id = 0
|
||||
m.SetTsig(keyName, dns.HmacSHA256, 300, tsigTime)
|
||||
|
||||
wire, _, err := dns.TsigGenerate(m, secret, "", false)
|
||||
if err != nil {
|
||||
t.Fatalf("dns.TsigGenerate() failed: %v", err)
|
||||
}
|
||||
return wire
|
||||
}
|
||||
Reference in New Issue
Block a user