[#1969] local_object_storage: Add a type for logical errors

All logic errors are wrapped in `logicerr.Logical` type and do not
affect shard error counter.

Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>
This commit is contained in:
Evgenii Stratonikov 2022-10-26 15:23:12 +03:00 committed by fyrchik
parent 98034005f1
commit fcdbf5e509
42 changed files with 206 additions and 139 deletions

View file

@ -95,16 +95,15 @@ func TestDB_Get(t *testing.T) {
_, err = metaGet(db, object.AddressOf(parent), true)
require.Error(t, err)
siErr, ok := err.(*objectSDK.SplitInfoError)
require.True(t, ok)
var siErr *objectSDK.SplitInfoError
require.ErrorAs(t, err, &siErr)
require.Equal(t, splitID, siErr.SplitInfo().SplitID())
id1, _ := child.ID()
id2, _ := siErr.SplitInfo().LastPart()
require.Equal(t, id1, id2)
_, ok = siErr.SplitInfo().Link()
_, ok := siErr.SplitInfo().Link()
require.False(t, ok)
})