forked from TrueCloudLab/frostfs-api-go
90 lines
2.1 KiB
Go
90 lines
2.1 KiB
Go
|
package refs_test
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/nspcc-dev/neofs-api-go/v2/refs"
|
||
|
grpc "github.com/nspcc-dev/neofs-api-go/v2/refs/grpc"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
func TestOwnerID_StableMarshal(t *testing.T) {
|
||
|
ownerFrom := new(refs.OwnerID)
|
||
|
ownerTransport := new(grpc.OwnerID)
|
||
|
|
||
|
t.Run("non empty", func(t *testing.T) {
|
||
|
ownerFrom.SetValue([]byte("Owner ID"))
|
||
|
|
||
|
wire, err := ownerFrom.StableMarshal(nil)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
err = ownerTransport.Unmarshal(wire)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
ownerTo := refs.OwnerIDFromGRPCMessage(ownerTransport)
|
||
|
require.Equal(t, ownerFrom, ownerTo)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestContainerID_StableMarshal(t *testing.T) {
|
||
|
cnrFrom := new(refs.ContainerID)
|
||
|
cnrTransport := new(grpc.ContainerID)
|
||
|
|
||
|
t.Run("non empty", func(t *testing.T) {
|
||
|
cnrFrom.SetValue([]byte("Container ID"))
|
||
|
|
||
|
wire, err := cnrFrom.StableMarshal(nil)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
err = cnrTransport.Unmarshal(wire)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
cnrTo := refs.ContainerIDFromGRPCMessage(cnrTransport)
|
||
|
require.Equal(t, cnrFrom, cnrTo)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestObjectID_StableMarshal(t *testing.T) {
|
||
|
objectIDFrom := new(refs.ObjectID)
|
||
|
objectIDTransport := new(grpc.ObjectID)
|
||
|
|
||
|
t.Run("non empty", func(t *testing.T) {
|
||
|
objectIDFrom.SetValue([]byte("Object ID"))
|
||
|
|
||
|
wire, err := objectIDFrom.StableMarshal(nil)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
err = objectIDTransport.Unmarshal(wire)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
objectIDTo := refs.ObjectIDFromGRPCMessage(objectIDTransport)
|
||
|
require.Equal(t, objectIDFrom, objectIDTo)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestAddress_StableMarshal(t *testing.T) {
|
||
|
addressFrom := new(refs.Address)
|
||
|
|
||
|
cnr := new(refs.ContainerID)
|
||
|
cnr.SetValue([]byte("Container ID"))
|
||
|
|
||
|
objectID := new(refs.ObjectID)
|
||
|
objectID.SetValue([]byte("Object ID"))
|
||
|
|
||
|
addressTransport := new(grpc.Address)
|
||
|
|
||
|
t.Run("non empty", func(t *testing.T) {
|
||
|
addressFrom.SetContainerID(cnr)
|
||
|
addressFrom.SetObjectID(objectID)
|
||
|
|
||
|
wire, err := addressFrom.StableMarshal(nil)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
err = addressTransport.Unmarshal(wire)
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
addressTo := refs.AddressFromGRPCMessage(addressTransport)
|
||
|
require.Equal(t, addressFrom, addressTo)
|
||
|
})
|
||
|
}
|