diff options
Diffstat (limited to 'dhcpv6/option_dnsrecursivenameserver_test.go')
-rw-r--r-- | dhcpv6/option_dnsrecursivenameserver_test.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/dhcpv6/option_dnsrecursivenameserver_test.go b/dhcpv6/option_dnsrecursivenameserver_test.go new file mode 100644 index 0000000..85bb982 --- /dev/null +++ b/dhcpv6/option_dnsrecursivenameserver_test.go @@ -0,0 +1,35 @@ +package dhcpv6 + +import ( + "net" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestParseOptDNSRecursiveNameServer(t *testing.T) { + data := []byte{ + 0x2a, 0x03, 0x28, 0x80, 0xff, 0xfe, 0x00, 0x0c, 0xfa, 0xce, 0xb0, 0x0c, 0x00, 0x00, 0x00, 0x35, + } + expected := []net.IP{ + net.IP(data), + } + opt, err := ParseOptDNSRecursiveNameServer(data) + require.NoError(t, err) + require.Equal(t, opt.NameServers, expected) + require.Equal(t, opt.Length(), 16) +} + +func TestOptDNSRecursiveNameServerToBytes(t *testing.T) { + ns1 := net.ParseIP("2a03:2880:fffe:c:face:b00c:0:35") + ns2 := net.ParseIP("2001:4860:4860::8888") + nameservers := []net.IP{ns1, ns2} + expected := []byte{ + 0, 23, // DNS_RECURSIVE_NAME_SERVER + 0, 32, // length + } + expected = append(expected, []byte(ns1)...) + expected = append(expected, []byte(ns2)...) + opt := OptDNSRecursiveNameServer{NameServers: nameservers} + require.Equal(t, opt.ToBytes(), expected) +} |