summaryrefslogtreecommitdiffhomepage
path: root/dhcpv4/dhcpv4_test.go
diff options
context:
space:
mode:
authorOwen Mooney <owen@owenmooney.com>2018-07-29 16:34:55 +0100
committerOwen Mooney <owen@owenmooney.com>2018-07-29 19:44:12 +0100
commita6ecc33c23d061098e9a2bf4d9d2d4c0a710406b (patch)
tree2b19bd22780019cce02e9d2a516f66f7a3414e95 /dhcpv4/dhcpv4_test.go
parentb5c839d7f28cc635376d5bee36de0e898ad8a1b8 (diff)
Add modifier support to NewReplyFromRequest
Diffstat (limited to 'dhcpv4/dhcpv4_test.go')
-rw-r--r--dhcpv4/dhcpv4_test.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/dhcpv4/dhcpv4_test.go b/dhcpv4/dhcpv4_test.go
index 55e082d..7e5f083 100644
--- a/dhcpv4/dhcpv4_test.go
+++ b/dhcpv4/dhcpv4_test.go
@@ -353,6 +353,19 @@ func TestDHCPv4RequestFromOffer(t *testing.T) {
require.Equal(t, MessageTypeRequest, *req.MessageType())
}
+func TestDHCPv4RequestFromOfferWithModifier(t *testing.T) {
+ offer, err := New()
+ require.NoError(t, err)
+ offer.AddOption(&OptMessageType{MessageType: MessageTypeOffer})
+ offer.AddOption(&OptServerIdentifier{ServerID: net.IPv4(192, 168, 0, 1)})
+ userClass := WithUserClass([]byte("linuxboot"))
+ req, err := RequestFromOffer(*offer, userClass)
+ require.NoError(t, err)
+ require.NotEqual(t, (*MessageType)(nil), *req.MessageType())
+ require.Equal(t, MessageTypeRequest, *req.MessageType())
+ require.Equal(t, "OptUserClass{userclass=[linuxboot]}", req.options[3].String())
+}
+
func TestNewReplyFromRequest(t *testing.T) {
discover, err := New()
require.NoError(t, err)
@@ -363,6 +376,18 @@ func TestNewReplyFromRequest(t *testing.T) {
require.Equal(t, discover.GatewayIPAddr(), reply.GatewayIPAddr())
}
+func TestNewReplyFromRequestWithModifier(t *testing.T) {
+ discover, err := New()
+ require.NoError(t, err)
+ discover.SetGatewayIPAddr(net.IPv4(192, 168, 0, 1))
+ userClass := WithUserClass([]byte("linuxboot"))
+ reply, err := NewReplyFromRequest(discover, userClass)
+ require.NoError(t, err)
+ require.Equal(t, discover.TransactionID(), reply.TransactionID())
+ require.Equal(t, discover.GatewayIPAddr(), reply.GatewayIPAddr())
+ require.Equal(t, "OptUserClass{userclass=[linuxboot]}", reply.options[0].String())
+}
+
func TestDHCPv4MessageTypeNil(t *testing.T) {
m, err := New()
require.NoError(t, err)