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" ) const ( encoded = `{"ID":"","Rules":[{"Status":"Allow","Actions":{"Inverted":false,"Names":["GetObject"]},"Resources":{"Inverted":false,"Names":["native:object/*"]},"Any":false,"Condition":[{"Op":"StringEquals","Object":"Resource","Key":"Department","Value":"HR"}]}],"MatchType":"DenyPriority"}` ) func TestChainData(t *testing.T) { t.Run("raw chain", func(t *testing.T) { var c ape.Chain b := []byte(encoded) c.Raw = b v2, ok := c.ToV2().GetKind().(*apeV2.ChainRaw) require.True(t, ok) require.Equal(t, b, v2.Raw) }) } func TestChainMessageV2(t *testing.T) { b := []byte(encoded) v2Raw := &apeV2.ChainRaw{} v2Raw.SetRaw(b) v2 := &apeV2.Chain{} v2.SetKind(v2Raw) var c ape.Chain c.ReadFromV2(v2) require.NotNil(t, c.Raw) require.Equal(t, b, c.Raw) }