package object_test import ( "testing" v2container "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/container" cidtest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container/id/test" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object" objecttest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/test" usertest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/user/test" "github.com/stretchr/testify/require" ) func TestInitCreation(t *testing.T) { var o object.Object cnr := cidtest.ID() own := usertest.ID() object.InitCreation(&o, object.RequiredFields{ Container: cnr, Owner: own, }) cID, set := o.ContainerID() require.True(t, set) require.Equal(t, cnr, cID) require.Equal(t, own, o.OwnerID()) } func Test_Attributes(t *testing.T) { obj := objecttest.Object() t.Run("get user attributes", func(t *testing.T) { // See how we create a test object. It's created with two attributes. require.Len(t, obj.UserAttributes(), 2) }) userAttrs := obj.UserAttributes() sysAttr := *object.NewAttribute() sysAttr.SetKey(v2container.SysAttributePrefix + "key") sysAttr.SetValue("value") attr := append(userAttrs, sysAttr) obj.SetAttributes(attr...) t.Run("get attributes", func(t *testing.T) { require.ElementsMatch(t, obj.UserAttributes(), userAttrs) require.ElementsMatch(t, obj.Attributes(), attr) }) }