master
go 22 lines 624 Bytes
Raw
1 package options
2
3 import (
4 "testing"
5
6 "github.com/stretchr/testify/require"
7 )
8
9 func TestMaxHAMTFanoutValidation(t *testing.T) {
10 valid := []int{8, 16, 32, 64, 128, 256, 512, 1024}
11 for _, v := range valid {
12 _, _, err := UnixfsAddOptions(Unixfs.MaxHAMTFanout(v))
13 require.NoError(t, err, "fanout %d should be valid", v)
14 }
15
16 invalid := []int{-1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 12, 24, 48, 100, 2048, 4096, 999999}
17 for _, v := range invalid {
18 _, _, err := UnixfsAddOptions(Unixfs.MaxHAMTFanout(v))
19 require.Error(t, err, "fanout %d should be invalid", v)
20 require.Contains(t, err.Error(), "HAMT fanout must be")
21 }
22 }