forked from TrueCloudLab/frostfs-sdk-go
65 lines
1.4 KiB
Go
65 lines
1.4 KiB
Go
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)
|
|
})
|
|
}
|