summaryrefslogtreecommitdiffhomepage
path: root/dhcpv4/option_host_name_test.go
diff options
context:
space:
mode:
authorPablo Mazzini <pmazzini@gmail.com>2018-07-31 17:02:36 +0200
committerPablo Mazzini <pmazzini@gmail.com>2018-07-31 17:02:36 +0200
commit727a17d07bc2c8042bd882dd6fcc3001a47933c9 (patch)
tree52aa782772e2fe25e9d225e847d5a320ee359427 /dhcpv4/option_host_name_test.go
parentc6894ea160d82b4a326ebab94faaebd090192a7b (diff)
add OptHostName
Diffstat (limited to 'dhcpv4/option_host_name_test.go')
-rw-r--r--dhcpv4/option_host_name_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/dhcpv4/option_host_name_test.go b/dhcpv4/option_host_name_test.go
new file mode 100644
index 0000000..7f99100
--- /dev/null
+++ b/dhcpv4/option_host_name_test.go
@@ -0,0 +1,41 @@
+package dhcpv4
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/require"
+)
+
+func TestOptHostNameInterfaceMethods(t *testing.T) {
+ o := OptHostName{HostName: "foo"}
+ require.Equal(t, OptionHostName, o.Code(), "Code")
+ require.Equal(t, 3, o.Length(), "Length")
+ require.Equal(t, []byte{byte(OptionHostName), 3, 'f', 'o', 'o'}, o.ToBytes(), "ToBytes")
+}
+
+func TestParseOptHostName(t *testing.T) {
+ data := []byte{byte(OptionHostName), 4, 't', 'e', 's', 't'}
+ o, err := ParseOptHostName(data)
+ require.NoError(t, err)
+ require.Equal(t, &OptHostName{HostName: "test"}, o)
+
+ // Short byte stream
+ data = []byte{byte(OptionHostName)}
+ _, err = ParseOptHostName(data)
+ require.Error(t, err, "should get error from short byte stream")
+
+ // Wrong code
+ data = []byte{54, 2, 1, 1}
+ _, err = ParseOptHostName(data)
+ require.Error(t, err, "should get error from wrong code")
+
+ // Bad length
+ data = []byte{byte(OptionHostName), 6, 1, 1, 1}
+ _, err = ParseOptHostName(data)
+ require.Error(t, err, "should get error from bad length")
+}
+
+func TestOptHostNameString(t *testing.T) {
+ o := OptHostName{HostName: "testy test"}
+ require.Equal(t, "Host Name -> testy test", o.String())
+}