package memstore import ( "context" "testing" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/core/object" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/blobstor/common" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/blobstor/internal/blobstortest" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/logger/test" objectSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object" "github.com/stretchr/testify/require" ) func TestSimpleLifecycle(t *testing.T) { s := New( WithRootPath("memstore"), WithLogger(test.NewLogger(t)), ) defer func() { require.NoError(t, s.Close()) }() require.NoError(t, s.Open(false)) require.NoError(t, s.Init()) obj := blobstortest.NewObject(1024) addr := object.AddressOf(obj) d, err := obj.Marshal() require.NoError(t, err) { _, err := s.Put(context.Background(), common.PutPrm{Address: addr, RawData: d, DontCompress: true}) require.NoError(t, err) } { resp, err := s.Exists(context.Background(), common.ExistsPrm{Address: addr}) require.NoError(t, err) require.True(t, resp.Exists) } { resp, err := s.Get(context.Background(), common.GetPrm{Address: addr}) require.NoError(t, err) require.Equal(t, obj.Payload(), resp.Object.Payload()) } { var objRange objectSDK.Range objRange.SetOffset(256) objRange.SetLength(512) resp, err := s.GetRange(context.Background(), common.GetRangePrm{ Address: addr, Range: objRange, }) require.NoError(t, err) require.Equal(t, obj.Payload()[objRange.GetOffset():objRange.GetOffset()+objRange.GetLength()], resp.Data) } { _, err := s.Delete(context.Background(), common.DeletePrm{Address: addr}) require.NoError(t, err) } { resp, err := s.Exists(context.Background(), common.ExistsPrm{Address: addr}) require.NoError(t, err) require.False(t, resp.Exists) } }