frostfs-node/pkg/local_object_storage/metabase/v2/inhume_test.go
Alex Vanin e478c0d024 [#199] Refactor metabase internal structure
Accoring to MetaBase-Plan-B storage engine specification.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-12-11 17:19:37 +03:00

32 lines
730 B
Go

package meta_test
import (
"testing"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase/v2"
"github.com/stretchr/testify/require"
)
func TestDB_Inhume(t *testing.T) {
db := newDB(t)
defer releaseDB(db)
raw := generateRawObject(t)
addAttribute(raw, "foo", "bar")
obj := object.NewFromV2(raw.ToV2())
tombstoneID := generateAddress()
err := db.Put(obj, nil)
require.NoError(t, err)
err = db.Inhume(obj.Address(), tombstoneID)
require.NoError(t, err)
_, err = db.Exists(obj.Address())
require.EqualError(t, err, meta.ErrAlreadyRemoved.Error())
_, err = db.Get(obj.Address())
require.EqualError(t, err, meta.ErrAlreadyRemoved.Error())
}