summaryrefslogtreecommitdiffhomepage
path: root/dhcpv4/bsdp/boot_image_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'dhcpv4/bsdp/boot_image_test.go')
-rw-r--r--dhcpv4/bsdp/boot_image_test.go139
1 files changed, 0 insertions, 139 deletions
diff --git a/dhcpv4/bsdp/boot_image_test.go b/dhcpv4/bsdp/boot_image_test.go
deleted file mode 100644
index 0b51287..0000000
--- a/dhcpv4/bsdp/boot_image_test.go
+++ /dev/null
@@ -1,139 +0,0 @@
-package bsdp
-
-import (
- "testing"
-
- "github.com/stretchr/testify/require"
- "github.com/u-root/uio/uio"
-)
-
-func TestBootImageIDToBytes(t *testing.T) {
- b := BootImageID{
- IsInstall: true,
- ImageType: BootImageTypeMacOSX,
- Index: 0x1000,
- }
- actual := uio.ToBigEndian(b)
- expected := []byte{0x81, 0, 0x10, 0}
- require.Equal(t, expected, actual)
-
- b.IsInstall = false
- actual = uio.ToBigEndian(b)
- expected = []byte{0x01, 0, 0x10, 0}
- require.Equal(t, expected, actual)
-}
-
-func TestBootImageIDFromBytes(t *testing.T) {
- b := BootImageID{
- IsInstall: false,
- ImageType: BootImageTypeMacOSX,
- Index: 0x1000,
- }
- var newBootImage BootImageID
- require.NoError(t, uio.FromBigEndian(&newBootImage, uio.ToBigEndian(b)))
- require.Equal(t, b, newBootImage)
-
- b = BootImageID{
- IsInstall: true,
- ImageType: BootImageTypeMacOSX,
- Index: 0x1011,
- }
- require.NoError(t, uio.FromBigEndian(&newBootImage, uio.ToBigEndian(b)))
- require.Equal(t, b, newBootImage)
-}
-
-func TestBootImageIDFromBytesFail(t *testing.T) {
- serialized := []byte{0x81, 0, 0x10} // intentionally left short
- var deserialized BootImageID
- require.Error(t, uio.FromBigEndian(&deserialized, serialized))
-}
-
-func TestBootImageIDString(t *testing.T) {
- b := BootImageID{IsInstall: false, ImageType: BootImageTypeMacOSX, Index: 1001}
- require.Equal(t, "[1001] uninstallable macOS image", b.String())
-}
-
-/*
- * BootImage
- */
-func TestBootImageToBytes(t *testing.T) {
- b := BootImage{
- ID: BootImageID{
- IsInstall: true,
- ImageType: BootImageTypeMacOSX,
- Index: 0x1000,
- },
- Name: "bsdp-1",
- }
- expected := []byte{
- 0x81, 0, 0x10, 0, // boot image ID
- 6, // len(Name)
- 98, 115, 100, 112, 45, 49, // byte-encoding of Name
- }
- actual := uio.ToBigEndian(b)
- require.Equal(t, expected, actual)
-
- b = BootImage{
- ID: BootImageID{
- IsInstall: false,
- ImageType: BootImageTypeMacOSX,
- Index: 0x1010,
- },
- Name: "bsdp-21",
- }
- expected = []byte{
- 0x1, 0, 0x10, 0x10, // boot image ID
- 7, // len(Name)
- 98, 115, 100, 112, 45, 50, 49, // byte-encoding of Name
- }
- actual = uio.ToBigEndian(b)
- require.Equal(t, expected, actual)
-}
-
-func TestBootImageFromBytes(t *testing.T) {
- input := []byte{
- 0x1, 0, 0x10, 0x10, // boot image ID
- 7, // len(Name)
- 98, 115, 100, 112, 45, 50, 49, // byte-encoding of Name
- }
- var b BootImage
- require.NoError(t, uio.FromBigEndian(&b, input))
- expectedBootImage := BootImage{
- ID: BootImageID{
- IsInstall: false,
- ImageType: BootImageTypeMacOSX,
- Index: 0x1010,
- },
- Name: "bsdp-21",
- }
- require.Equal(t, expectedBootImage, b)
-}
-
-func TestBootImageFromBytesOnlyBootImageID(t *testing.T) {
- // Only a BootImageID, nothing else.
- input := []byte{0x1, 0, 0x10, 0x10}
- var b BootImage
- require.Error(t, uio.FromBigEndian(&b, input))
-}
-
-func TestBootImageFromBytesShortBootImage(t *testing.T) {
- input := []byte{
- 0x1, 0, 0x10, 0x10, // boot image ID
- 7, // len(Name)
- 98, 115, 100, 112, 45, 50, // Name bytes (intentionally off-by-one)
- }
- var b BootImage
- require.Error(t, uio.FromBigEndian(&b, input))
-}
-
-func TestBootImageString(t *testing.T) {
- b := BootImage{
- ID: BootImageID{
- IsInstall: false,
- ImageType: BootImageTypeMacOSX,
- Index: 0x1010,
- },
- Name: "bsdp-21",
- }
- require.Equal(t, "bsdp-21 [4112] uninstallable macOS image", b.String())
-}