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  }