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  }