package blobstortest import ( "context" "testing" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/blobstor/common" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/client" oidtest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/id/test" "github.com/stretchr/testify/require" ) func TestGet(t *testing.T, cons Constructor, min, max uint64) { s := cons(t) require.NoError(t, s.Open(false)) require.NoError(t, s.Init()) defer func() { require.NoError(t, s.Close()) }() objects := prepare(t, 2, s, min, max) t.Run("missing object", func(t *testing.T) { gPrm := common.GetPrm{Address: oidtest.Address()} _, err := s.Get(context.Background(), gPrm) require.True(t, client.IsErrObjectNotFound(err)) }) for i := range objects { var gPrm common.GetPrm gPrm.Address = objects[i].addr // With storage ID. gPrm.StorageID = objects[i].storageID res, err := s.Get(context.Background(), gPrm) require.NoError(t, err) require.Equal(t, objects[i].obj, res.Object) // Without storage ID. gPrm.StorageID = nil res, err = s.Get(context.Background(), gPrm) require.NoError(t, err) require.Equal(t, objects[i].obj, res.Object) // With raw flag. gPrm.StorageID = objects[i].storageID gPrm.Raw = true res, err = s.Get(context.Background(), gPrm) require.NoError(t, err) require.Equal(t, objects[i].raw, res.RawData) } }