summaryrefslogtreecommitdiffhomepage
path: root/dhcpv4/modifiers_test.go
diff options
context:
space:
mode:
authorinsomniac <insomniacslk@users.noreply.github.com>2018-11-06 17:21:32 +0000
committerGitHub <noreply@github.com>2018-11-06 17:21:32 +0000
commitc572359d4d841c1b9d3eadd06c2b05e6085897b2 (patch)
tree2a94b057dc6bdd6b10da4f8b5bb631cd0fd3e71b /dhcpv4/modifiers_test.go
parentdf1628dc937bba7f0c742bb4c48d5b9e96852436 (diff)
[WIP] Added DHCPv4 server (#178)
* Added DHCPv4 server * Added more modifiers * Fixed some bugs
Diffstat (limited to 'dhcpv4/modifiers_test.go')
-rw-r--r--dhcpv4/modifiers_test.go39
1 files changed, 38 insertions, 1 deletions
diff --git a/dhcpv4/modifiers_test.go b/dhcpv4/modifiers_test.go
index c20558e..ce4ff38 100644
--- a/dhcpv4/modifiers_test.go
+++ b/dhcpv4/modifiers_test.go
@@ -7,8 +7,45 @@ import (
"github.com/stretchr/testify/require"
)
+func TestTransactionIDModifier(t *testing.T) {
+ d, err := New()
+ require.NoError(t, err)
+ d = WithTransactionID(0xddccbbaa)(d)
+ require.Equal(t, uint32(0xddccbbaa), d.TransactionID())
+}
+
+func TestBroadcastModifier(t *testing.T) {
+ d, err := New()
+ require.NoError(t, err)
+ // set and test broadcast
+ d = WithBroadcast(true)(d)
+ require.Equal(t, true, d.IsBroadcast())
+ // set and test unicast
+ d = WithBroadcast(false)(d)
+ require.Equal(t, true, d.IsUnicast())
+}
+
+func TestHwAddrModifier(t *testing.T) {
+ d, err := New()
+ require.NoError(t, err)
+ hwaddr := [16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}
+ d = WithHwAddr(hwaddr[:])(d)
+ require.Equal(t, hwaddr, d.ClientHwAddr())
+}
+
+func TestWithOptionModifier(t *testing.T) {
+ d, err := New()
+ require.NoError(t, err)
+ d = WithOption(&OptDomainName{DomainName: "slackware.it"})(d)
+ opt := d.GetOneOption(OptionDomainName)
+ require.NotNil(t, opt)
+ dnOpt := opt.(*OptDomainName)
+ require.Equal(t, "slackware.it", dnOpt.DomainName)
+}
+
func TestUserClassModifier(t *testing.T) {
- d, _ := New()
+ d, err := New()
+ require.NoError(t, err)
userClass := WithUserClass([]byte("linuxboot"), false)
d = userClass(d)
expected := []byte{