forked from TrueCloudLab/frostfs-node
[#481] Update frostfs-sdk-go and error pointer receivers
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
This commit is contained in:
parent
de3d1eb99c
commit
5b7e4a51b7
77 changed files with 265 additions and 313 deletions
|
@ -16,6 +16,7 @@ import (
|
|||
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/util"
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object_manager/placement"
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/logger/test"
|
||||
clientSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/client"
|
||||
apistatus "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/client/status"
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container"
|
||||
cid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container/id"
|
||||
|
@ -128,9 +129,7 @@ func (c *testClient) addResult(addr oid.Address, obj *objectSDK.Object, err erro
|
|||
func (c *testClient) Get(ctx context.Context, address oid.Address, requestParams RemoteRequestParams) (*objectSDK.Object, error) {
|
||||
v, ok := c.results[address.EncodeToString()]
|
||||
if !ok {
|
||||
var errNotFound apistatus.ObjectNotFound
|
||||
|
||||
return nil, errNotFound
|
||||
return nil, new(apistatus.ObjectNotFound)
|
||||
}
|
||||
|
||||
if v.err != nil {
|
||||
|
@ -172,9 +171,7 @@ func (s *testStorage) Range(_ context.Context, address oid.Address, rng *objectS
|
|||
)
|
||||
|
||||
if _, ok = s.inhumed[sAddr]; ok {
|
||||
var errRemoved apistatus.ObjectAlreadyRemoved
|
||||
|
||||
return nil, errRemoved
|
||||
return nil, new(apistatus.ObjectAlreadyRemoved)
|
||||
}
|
||||
|
||||
if info, ok := s.virtual[sAddr]; ok {
|
||||
|
@ -185,9 +182,7 @@ func (s *testStorage) Range(_ context.Context, address oid.Address, rng *objectS
|
|||
return cutToRange(obj, rng), nil
|
||||
}
|
||||
|
||||
var errNotFound apistatus.ObjectNotFound
|
||||
|
||||
return nil, errNotFound
|
||||
return nil, new(apistatus.ObjectNotFound)
|
||||
}
|
||||
|
||||
func cutToRange(o *objectSDK.Object, rng *objectSDK.Range) *objectSDK.Object {
|
||||
|
@ -374,19 +369,19 @@ func TestGetLocalOnly(t *testing.T) {
|
|||
|
||||
err := svc.Get(ctx, p)
|
||||
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectAlreadyRemoved))
|
||||
require.True(t, clientSDK.IsErrObjectAlreadyRemoved(err))
|
||||
|
||||
rngPrm := newRngPrm(false, nil, 0, 0)
|
||||
rngPrm.WithAddress(addr)
|
||||
|
||||
err = svc.GetRange(ctx, rngPrm)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectAlreadyRemoved))
|
||||
require.True(t, clientSDK.IsErrObjectAlreadyRemoved(err))
|
||||
|
||||
headPrm := newHeadPrm(false, nil)
|
||||
headPrm.WithAddress(addr)
|
||||
|
||||
err = svc.Head(ctx, headPrm)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectAlreadyRemoved))
|
||||
require.True(t, clientSDK.IsErrObjectAlreadyRemoved(err))
|
||||
})
|
||||
|
||||
t.Run("404", func(t *testing.T) {
|
||||
|
@ -401,20 +396,20 @@ func TestGetLocalOnly(t *testing.T) {
|
|||
|
||||
err := svc.Get(ctx, p)
|
||||
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
rngPrm := newRngPrm(false, nil, 0, 0)
|
||||
rngPrm.WithAddress(addr)
|
||||
|
||||
err = svc.GetRange(ctx, rngPrm)
|
||||
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
headPrm := newHeadPrm(false, nil)
|
||||
headPrm.WithAddress(addr)
|
||||
|
||||
err = svc.Head(ctx, headPrm)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
})
|
||||
|
||||
t.Run("VIRTUAL", func(t *testing.T) {
|
||||
|
@ -679,19 +674,19 @@ func TestGetRemoteSmall(t *testing.T) {
|
|||
p.WithAddress(addr)
|
||||
|
||||
err := svc.Get(ctx, p)
|
||||
require.ErrorAs(t, err, new(*apistatus.ObjectAlreadyRemoved))
|
||||
require.True(t, clientSDK.IsErrObjectAlreadyRemoved(err))
|
||||
|
||||
rngPrm := newRngPrm(false, nil, 0, 0)
|
||||
rngPrm.WithAddress(addr)
|
||||
|
||||
err = svc.GetRange(ctx, rngPrm)
|
||||
require.ErrorAs(t, err, new(*apistatus.ObjectAlreadyRemoved))
|
||||
require.True(t, clientSDK.IsErrObjectAlreadyRemoved(err))
|
||||
|
||||
headPrm := newHeadPrm(false, nil)
|
||||
headPrm.WithAddress(addr)
|
||||
|
||||
err = svc.Head(ctx, headPrm)
|
||||
require.ErrorAs(t, err, new(*apistatus.ObjectAlreadyRemoved))
|
||||
require.True(t, clientSDK.IsErrObjectAlreadyRemoved(err))
|
||||
})
|
||||
|
||||
t.Run("404", func(t *testing.T) {
|
||||
|
@ -723,19 +718,19 @@ func TestGetRemoteSmall(t *testing.T) {
|
|||
p.WithAddress(addr)
|
||||
|
||||
err := svc.Get(ctx, p)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
rngPrm := newRngPrm(false, nil, 0, 0)
|
||||
rngPrm.WithAddress(addr)
|
||||
|
||||
err = svc.GetRange(ctx, rngPrm)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
headPrm := newHeadPrm(false, nil)
|
||||
headPrm.WithAddress(addr)
|
||||
|
||||
err = svc.Head(ctx, headPrm)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
})
|
||||
|
||||
t.Run("VIRTUAL", func(t *testing.T) {
|
||||
|
@ -768,11 +763,11 @@ func TestGetRemoteSmall(t *testing.T) {
|
|||
|
||||
c1 := newTestClient()
|
||||
c1.addResult(addr, nil, errors.New("any error"))
|
||||
c1.addResult(splitAddr, nil, apistatus.ObjectNotFound{})
|
||||
c1.addResult(splitAddr, nil, new(apistatus.ObjectNotFound))
|
||||
|
||||
c2 := newTestClient()
|
||||
c2.addResult(addr, nil, objectSDK.NewSplitInfoError(splitInfo))
|
||||
c2.addResult(splitAddr, nil, apistatus.ObjectNotFound{})
|
||||
c2.addResult(splitAddr, nil, new(apistatus.ObjectNotFound))
|
||||
|
||||
builder := &testPlacementBuilder{
|
||||
vectors: map[string][][]netmap.NodeInfo{
|
||||
|
@ -794,13 +789,13 @@ func TestGetRemoteSmall(t *testing.T) {
|
|||
p.WithAddress(addr)
|
||||
|
||||
err := svc.Get(ctx, p)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
rngPrm := newRngPrm(false, nil, 0, 0)
|
||||
rngPrm.WithAddress(addr)
|
||||
|
||||
err = svc.GetRange(ctx, rngPrm)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
})
|
||||
|
||||
t.Run("get chain element failure", func(t *testing.T) {
|
||||
|
@ -845,7 +840,7 @@ func TestGetRemoteSmall(t *testing.T) {
|
|||
c2.addResult(addr, nil, objectSDK.NewSplitInfoError(splitInfo))
|
||||
c2.addResult(linkAddr, linkingObj, nil)
|
||||
c2.addResult(child1Addr, children[0], nil)
|
||||
c2.addResult(child2Addr, nil, apistatus.ObjectNotFound{})
|
||||
c2.addResult(child2Addr, nil, new(apistatus.ObjectNotFound))
|
||||
|
||||
builder := &testPlacementBuilder{
|
||||
vectors: map[string][][]netmap.NodeInfo{
|
||||
|
@ -869,13 +864,13 @@ func TestGetRemoteSmall(t *testing.T) {
|
|||
p.WithAddress(addr)
|
||||
|
||||
err := svc.Get(ctx, p)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
rngPrm := newRngPrm(false, NewSimpleObjectWriter(), 0, 1)
|
||||
rngPrm.WithAddress(addr)
|
||||
|
||||
err = svc.GetRange(ctx, rngPrm)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
})
|
||||
|
||||
t.Run("OK", func(t *testing.T) {
|
||||
|
@ -1315,11 +1310,11 @@ func TestGetRemoteSmall(t *testing.T) {
|
|||
|
||||
c1 := newTestClient()
|
||||
c1.addResult(addr, nil, errors.New("any error"))
|
||||
c1.addResult(splitAddr, nil, apistatus.ObjectNotFound{})
|
||||
c1.addResult(splitAddr, nil, new(apistatus.ObjectNotFound))
|
||||
|
||||
c2 := newTestClient()
|
||||
c2.addResult(addr, nil, objectSDK.NewSplitInfoError(splitInfo))
|
||||
c2.addResult(splitAddr, nil, apistatus.ObjectNotFound{})
|
||||
c2.addResult(splitAddr, nil, new(apistatus.ObjectNotFound))
|
||||
|
||||
builder := &testPlacementBuilder{
|
||||
vectors: map[string][][]netmap.NodeInfo{
|
||||
|
@ -1341,13 +1336,13 @@ func TestGetRemoteSmall(t *testing.T) {
|
|||
p.WithAddress(addr)
|
||||
|
||||
err := svc.Get(ctx, p)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
rngPrm := newRngPrm(false, nil, 0, 0)
|
||||
rngPrm.WithAddress(addr)
|
||||
|
||||
err = svc.GetRange(ctx, rngPrm)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
})
|
||||
|
||||
t.Run("get chain element failure", func(t *testing.T) {
|
||||
|
@ -1403,19 +1398,19 @@ func TestGetRemoteSmall(t *testing.T) {
|
|||
testHeadVirtual(svc, addr, splitInfo)
|
||||
|
||||
headSvc := newTestClient()
|
||||
headSvc.addResult(preRightAddr, nil, apistatus.ObjectNotFound{})
|
||||
headSvc.addResult(preRightAddr, nil, new(apistatus.ObjectNotFound))
|
||||
|
||||
p := newPrm(false, NewSimpleObjectWriter())
|
||||
p.WithAddress(addr)
|
||||
|
||||
err := svc.Get(ctx, p)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
rngPrm := newRngPrm(false, nil, 0, 1)
|
||||
rngPrm.WithAddress(addr)
|
||||
|
||||
err = svc.GetRange(ctx, rngPrm)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
})
|
||||
|
||||
t.Run("child has different parent", func(t *testing.T) {
|
||||
|
@ -1711,7 +1706,7 @@ func TestGetFromPastEpoch(t *testing.T) {
|
|||
p.WithAddress(addr)
|
||||
|
||||
err := svc.Get(ctx, p)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
commonPrm.SetNetmapLookupDepth(1)
|
||||
|
||||
|
@ -1734,7 +1729,7 @@ func TestGetFromPastEpoch(t *testing.T) {
|
|||
rp.SetRange(r)
|
||||
|
||||
err = svc.GetRange(ctx, rp)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
w = NewSimpleObjectWriter()
|
||||
rp.SetChunkWriter(w)
|
||||
|
@ -1751,7 +1746,7 @@ func TestGetFromPastEpoch(t *testing.T) {
|
|||
hp.WithAddress(addr)
|
||||
|
||||
err = svc.Head(ctx, hp)
|
||||
require.ErrorAs(t, err, new(apistatus.ObjectNotFound))
|
||||
require.True(t, clientSDK.IsErrObjectNotFound(err))
|
||||
|
||||
w = NewSimpleObjectWriter()
|
||||
hp.SetHeaderWriter(w)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue