git.frostfs.info/TrueCloudLab/frostfs-sdk-go@v0.0.0-20241022124111-5361f0ecebd3/object/object_test.go (about) 1 package object_test 2 3 import ( 4 "testing" 5 6 v2container "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/container" 7 cidtest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container/id/test" 8 "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object" 9 objecttest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/test" 10 usertest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/user/test" 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestInitCreation(t *testing.T) { 15 var o object.Object 16 cnr := cidtest.ID() 17 own := usertest.ID() 18 19 object.InitCreation(&o, object.RequiredFields{ 20 Container: cnr, 21 Owner: own, 22 }) 23 24 cID, set := o.ContainerID() 25 require.True(t, set) 26 require.Equal(t, cnr, cID) 27 require.Equal(t, own, o.OwnerID()) 28 } 29 30 func Test_Attributes(t *testing.T) { 31 obj := objecttest.Object() 32 33 t.Run("get user attributes", func(t *testing.T) { 34 // See how we create a test object. It's created with two attributes. 35 require.Len(t, obj.UserAttributes(), 2) 36 }) 37 38 userAttrs := obj.UserAttributes() 39 40 sysAttr := *object.NewAttribute() 41 sysAttr.SetKey(v2container.SysAttributePrefix + "key") 42 sysAttr.SetValue("value") 43 44 attr := append(userAttrs, sysAttr) 45 obj.SetAttributes(attr...) 46 47 t.Run("get attributes", func(t *testing.T) { 48 require.ElementsMatch(t, obj.UserAttributes(), userAttrs) 49 require.ElementsMatch(t, obj.Attributes(), attr) 50 }) 51 }