File: option_archtype_test.go

package info (click to toggle)
golang-github-insomniacslk-dhcp 0.0~git20200621.d74cd86-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,132 kB
  • sloc: makefile: 9
file content (38 lines) | stat: -rw-r--r-- 917 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package dhcpv6

import (
	"testing"

	"github.com/insomniacslk/dhcp/iana"
	"github.com/stretchr/testify/require"
)

func TestParseOptClientArchType(t *testing.T) {
	data := []byte{
		0, 6, // EFI_IA32
	}
	opt, err := parseOptClientArchType(data)
	require.NoError(t, err)
	require.Equal(t, iana.EFI_IA32, opt.Archs[0])
}

func TestParseOptClientArchTypeInvalid(t *testing.T) {
	data := []byte{42}
	_, err := parseOptClientArchType(data)
	require.Error(t, err)
}

func TestOptClientArchTypeParseAndToBytes(t *testing.T) {
	data := []byte{
		0, 8, // EFI_XSCALE
	}
	opt, err := parseOptClientArchType(data)
	require.NoError(t, err)
	require.Equal(t, data, opt.ToBytes())
}

func TestOptClientArchType(t *testing.T) {
	opt := OptClientArchType(iana.EFI_ITANIUM)
	require.Equal(t, OptionClientArchType, opt.Code())
	require.Contains(t, opt.String(), "EFI Itanium", "String() should contain the correct ArchType output")
}