Files
coredns/request/edns0_test.go

51 lines
946 B
Go
Raw Normal View History

package request
import (
"testing"
"github.com/miekg/dns"
)
func TestSupportedOptions(t *testing.T) {
tests := []struct {
name string
options []dns.EDNS0
expected int
}{
{
name: "empty options",
options: []dns.EDNS0{},
expected: 0,
},
{
name: "all supported options",
options: []dns.EDNS0{
&dns.EDNS0_NSID{},
&dns.EDNS0_EXPIRE{},
&dns.EDNS0_COOKIE{},
&dns.EDNS0_TCP_KEEPALIVE{},
&dns.EDNS0_PADDING{},
},
expected: 5,
},
{
name: "mixed supported and unsupported options",
options: []dns.EDNS0{
&dns.EDNS0_NSID{},
&dns.EDNS0_LOCAL{Code: 65001}, // unsupported code
&dns.EDNS0_PADDING{},
},
expected: 2,
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
result := supportedOptions(tc.options)
if len(result) != tc.expected {
t.Errorf("Expected %d supported options, got %d", tc.expected, len(result))
}
})
}
}