forked from TrueCloudLab/frostfs-node
[#1559] metabase: Remove public functions
Reduce public interface of this package. Later each result will contain an additional status, so it makes more sense to use the same functions and result processing everywhere. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
30c7925b3c
commit
f58234aa2f
31 changed files with 234 additions and 247 deletions
|
@ -5,6 +5,7 @@ import (
|
|||
|
||||
"github.com/nspcc-dev/neofs-node/pkg/core/object"
|
||||
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
|
||||
oid "github.com/nspcc-dev/neofs-sdk-go/object/id"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
@ -22,35 +23,60 @@ func TestDB_Movable(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
|
||||
// check if toMoveIt index empty
|
||||
toMoveList, err := meta.Movable(db)
|
||||
toMoveList, err := metaMovable(db)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, toMoveList, 0)
|
||||
|
||||
// mark to move object2
|
||||
err = meta.ToMoveIt(db, object.AddressOf(raw2))
|
||||
err = metaToMoveIt(db, object.AddressOf(raw2))
|
||||
require.NoError(t, err)
|
||||
|
||||
// check if toMoveIt index contains address of object 2
|
||||
toMoveList, err = meta.Movable(db)
|
||||
toMoveList, err = metaMovable(db)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, toMoveList, 1)
|
||||
require.Contains(t, toMoveList, object.AddressOf(raw2))
|
||||
|
||||
// remove from toMoveIt index non existing address
|
||||
err = meta.DoNotMove(db, object.AddressOf(raw1))
|
||||
err = metaDoNotMove(db, object.AddressOf(raw1))
|
||||
require.NoError(t, err)
|
||||
|
||||
// check if toMoveIt index hasn't changed
|
||||
toMoveList, err = meta.Movable(db)
|
||||
toMoveList, err = metaMovable(db)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, toMoveList, 1)
|
||||
|
||||
// remove from toMoveIt index existing address
|
||||
err = meta.DoNotMove(db, object.AddressOf(raw2))
|
||||
err = metaDoNotMove(db, object.AddressOf(raw2))
|
||||
require.NoError(t, err)
|
||||
|
||||
// check if toMoveIt index is empty now
|
||||
toMoveList, err = meta.Movable(db)
|
||||
toMoveList, err = metaMovable(db)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, toMoveList, 0)
|
||||
}
|
||||
|
||||
func metaToMoveIt(db *meta.DB, addr oid.Address) error {
|
||||
var toMovePrm meta.ToMoveItPrm
|
||||
toMovePrm.WithAddress(addr)
|
||||
|
||||
_, err := db.ToMoveIt(toMovePrm)
|
||||
return err
|
||||
}
|
||||
|
||||
func metaMovable(db *meta.DB) ([]oid.Address, error) {
|
||||
r, err := db.Movable(meta.MovablePrm{})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return r.AddressList(), nil
|
||||
}
|
||||
|
||||
func metaDoNotMove(db *meta.DB, addr oid.Address) error {
|
||||
var doNotMovePrm meta.DoNotMovePrm
|
||||
doNotMovePrm.WithAddress(addr)
|
||||
|
||||
_, err := db.DoNotMove(doNotMovePrm)
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue