[#481] Update frostfs-sdk-go and error pointer receivers

Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
This commit is contained in:
Alejandro Lopez 2023-08-04 14:14:07 +03:00 committed by Evgenii Stratonikov
parent de3d1eb99c
commit 5b7e4a51b7
77 changed files with 265 additions and 313 deletions

View file

@ -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)