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" objectSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) func TestSimpleLifecycle(t *testing.T) { s := New( WithRootPath("memstore"), WithLogger(&logger.Logger{Logger: zaptest.NewLogger(t)}), ) t.Cleanup(func() { _ = 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(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(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) } }