test(plugin): add tests for any (#7341)

This commit is contained in:
Ville Vesilehto 2025-06-02 02:30:01 +03:00 committed by GitHub
parent ad5a00ba21
commit bb33ab5301
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 60 additions and 0 deletions

View File

@ -26,3 +26,42 @@ func TestAny(t *testing.T) {
t.Errorf("Expected HINFO, but got %q", rec.Msg.Answer[0].(*dns.HINFO).Cpu)
}
}
func TestAnyNonANYQuery(t *testing.T) {
tests := []struct {
name string
qtype uint16
}{
{"A query", dns.TypeA},
{"AAAA query", dns.TypeAAAA},
{"MX query", dns.TypeMX},
{"TXT query", dns.TypeTXT},
{"CNAME query", dns.TypeCNAME},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
req := new(dns.Msg)
req.SetQuestion("example.org.", tt.qtype)
nextCalled := false
a := &Any{
Next: test.HandlerFunc(func(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) {
nextCalled = true
return 0, nil
}),
}
rec := dnstest.NewRecorder(&test.ResponseWriter{})
_, err := a.ServeDNS(context.TODO(), rec, req)
if err != nil {
t.Errorf("Expected no error, but got %q", err)
}
if !nextCalled {
t.Error("Expected Next handler to be called for non-ANY query")
}
})
}
}

21
plugin/any/setup_test.go Normal file
View File

@ -0,0 +1,21 @@
package any
import (
"testing"
"github.com/coredns/caddy"
"github.com/coredns/coredns/core/dnsserver"
)
func TestSetup(t *testing.T) {
c := caddy.NewTestController("dns", `any`)
if err := setup(c); err != nil {
t.Fatalf("Expected no errors, but got: %v", err)
}
// Check that the plugin was added to the config
cfg := dnsserver.GetConfig(c)
if len(cfg.Plugin) == 0 {
t.Error("Expected plugin to be added to config")
}
}