diff options
Diffstat (limited to 'dhcpv6/option_requestedoption_test.go')
-rw-r--r-- | dhcpv6/option_requestedoption_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/dhcpv6/option_requestedoption_test.go b/dhcpv6/option_requestedoption_test.go new file mode 100644 index 0000000..7e95e36 --- /dev/null +++ b/dhcpv6/option_requestedoption_test.go @@ -0,0 +1,38 @@ +package dhcpv6 + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestOptRequestedOption(t *testing.T) { + expected := []byte{0, 1, 0, 2} + _, err := ParseOptRequestedOption(expected) + require.NoError(t, err, "ParseOptRequestedOption() correct options should not error") +} + +func TestOptRequestedOptionParseOptRequestedOptionTooShort(t *testing.T) { + buf := []byte{0, 1, 0} + _, err := ParseOptRequestedOption(buf) + require.Error(t, err, "A short option should return an error (must be divisible by 2)") +} + +func TestOptRequestedOptionString(t *testing.T) { + buf := []byte{0, 1, 0, 2} + opt, err := ParseOptRequestedOption(buf) + require.NoError(t, err) + require.Contains( + t, + opt.String(), + "OPTION_CLIENTID, OPTION_SERVERID", + "String() should contain the options specified", + ) + opt.AddRequestedOption(12345) + require.Contains( + t, + opt.String(), + "Unknown", + "String() should contain 'Unknown' for an illegal option", + ) +} |