b683dbe7e6
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
53 lines
973 B
Go
53 lines
973 B
Go
package object_test
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"testing"
|
|
|
|
"github.com/nspcc-dev/neofs-api-go/pkg/object"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestSplitInfo(t *testing.T) {
|
|
s := object.NewSplitInfo()
|
|
splitID := object.NewSplitID()
|
|
lastPart := generateID()
|
|
link := generateID()
|
|
|
|
s.SetSplitID(splitID)
|
|
require.Equal(t, splitID, s.SplitID())
|
|
|
|
s.SetLastPart(lastPart)
|
|
require.Equal(t, lastPart, s.LastPart())
|
|
|
|
s.SetLink(link)
|
|
require.Equal(t, link, s.Link())
|
|
|
|
t.Run("to and from v2", func(t *testing.T) {
|
|
v2 := s.ToV2()
|
|
newS := object.NewSplitInfoFromV2(v2)
|
|
|
|
require.Equal(t, s, newS)
|
|
})
|
|
|
|
t.Run("marshal and unmarshal", func(t *testing.T) {
|
|
data, err := s.Marshal()
|
|
require.NoError(t, err)
|
|
|
|
newS := object.NewSplitInfo()
|
|
|
|
err = newS.Unmarshal(data)
|
|
require.NoError(t, err)
|
|
require.Equal(t, s, newS)
|
|
})
|
|
}
|
|
|
|
func generateID() *object.ID {
|
|
var buf [32]byte
|
|
_, _ = rand.Read(buf[:])
|
|
|
|
id := object.NewID()
|
|
id.SetSHA256(buf)
|
|
|
|
return id
|
|
}
|