package ape_test import ( "testing" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/ape" "github.com/stretchr/testify/require" apeV2 "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/ape" ) var ( m = map[ape.TargetType]apeV2.TargetType{ ape.TargetTypeUndefined: apeV2.TargetTypeUndefined, ape.TargetTypeNamespace: apeV2.TargetTypeNamespace, ape.TargetTypeContainer: apeV2.TargetTypeContainer, ape.TargetTypeUser: apeV2.TargetTypeUser, ape.TargetTypeGroup: apeV2.TargetTypeGroup, } ) func TestTargetType(t *testing.T) { for typesdk, typev2 := range m { t.Run("from sdk to v2 "+typev2.String(), func(t *testing.T) { v2 := typesdk.ToV2() require.Equal(t, v2, typev2) }) t.Run("from v2 to sdk "+typev2.String(), func(t *testing.T) { var typ ape.TargetType typ.FromV2(typev2) require.Equal(t, typesdk, typ) }) } } func TestChainTarget(t *testing.T) { var ( typ = ape.TargetTypeNamespace name = "namespaceXXYYZZ" ) t.Run("from sdk to v2", func(t *testing.T) { ct := ape.ChainTarget{ TargetType: typ, Name: name, } v2 := ct.ToV2() require.Equal(t, m[typ], v2.GetTargetType()) require.Equal(t, name, v2.GetName()) }) t.Run("from v2 to sdk", func(t *testing.T) { v2 := &apeV2.ChainTarget{} v2.SetTargetType(m[typ]) v2.SetName(name) var ct ape.ChainTarget ct.FromV2(v2) require.Equal(t, typ, ct.TargetType) require.Equal(t, name, ct.Name) }) }