git.frostfs.info/TrueCloudLab/frostfs-sdk-go@v0.0.0-20241022124111-5361f0ecebd3/object/splitid_test.go (about) 1 package object_test 2 3 import ( 4 "testing" 5 6 "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object" 7 "github.com/google/uuid" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestSplitID(t *testing.T) { 12 id := object.NewSplitID() 13 14 t.Run("toV2/fromV2", func(t *testing.T) { 15 data := id.ToV2() 16 17 newID := object.NewSplitIDFromV2(data) 18 require.NotNil(t, newID) 19 20 require.Equal(t, id, newID) 21 }) 22 23 t.Run("string/parse", func(t *testing.T) { 24 idStr := id.String() 25 26 newID := object.NewSplitID() 27 require.NoError(t, newID.Parse(idStr)) 28 29 require.Equal(t, id, newID) 30 }) 31 32 t.Run("set UUID", func(t *testing.T) { 33 newUUID := uuid.New() 34 id.SetUUID(newUUID) 35 36 require.Equal(t, newUUID.String(), id.String()) 37 }) 38 39 t.Run("nil value", func(t *testing.T) { 40 var newID *object.SplitID 41 42 require.NotPanics(t, func() { 43 require.Nil(t, newID.ToV2()) 44 require.Equal(t, "", newID.String()) 45 }) 46 }) 47 } 48 49 func TestSplitID_ToV2(t *testing.T) { 50 t.Run("nil", func(t *testing.T) { 51 var x *object.SplitID 52 53 require.Nil(t, x.ToV2()) 54 }) 55 } 56 57 func TestNewIDFromV2(t *testing.T) { 58 t.Run("from nil", func(t *testing.T) { 59 var x []byte 60 61 require.Nil(t, object.NewSplitIDFromV2(x)) 62 }) 63 }