[#1131] *: Adopt SDK changes

`object.Address` has been moved to `object/address`
`object.ID` has been moved to `object/id`

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
Pavel Karpy 2022-01-26 15:11:13 +03:00 committed by Alex Vanin
parent 1c821d6c36
commit 1667ec9e6d
139 changed files with 652 additions and 562 deletions

View file

@ -11,7 +11,8 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/util"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
)
// FSTree represents object storage as filesystem tree.
@ -41,17 +42,17 @@ const (
// ErrFileNotFound is returned when file is missing.
var ErrFileNotFound = errors.New("file not found")
func stringifyAddress(addr *objectSDK.Address) string {
func stringifyAddress(addr *addressSDK.Address) string {
return addr.ObjectID().String() + "." + addr.ContainerID().String()
}
func addressFromString(s string) (*objectSDK.Address, error) {
func addressFromString(s string) (*addressSDK.Address, error) {
ss := strings.SplitN(s, ".", 2)
if len(ss) != 2 {
return nil, errors.New("invalid address")
}
oid := objectSDK.NewID()
oid := oidSDK.NewID()
if err := oid.Parse(ss[0]); err != nil {
return nil, err
}
@ -61,7 +62,7 @@ func addressFromString(s string) (*objectSDK.Address, error) {
return nil, err
}
addr := objectSDK.NewAddress()
addr := addressSDK.NewAddress()
addr.SetObjectID(oid)
addr.SetContainerID(id)
@ -70,12 +71,12 @@ func addressFromString(s string) (*objectSDK.Address, error) {
// IterationPrm contains iteraction parameters.
type IterationPrm struct {
handler func(addr *objectSDK.Address, data []byte) error
handler func(addr *addressSDK.Address, data []byte) error
ignoreErrors bool
}
// WithHandler sets a function to call on each object.
func (p *IterationPrm) WithHandler(f func(addr *objectSDK.Address, data []byte) error) *IterationPrm {
func (p *IterationPrm) WithHandler(f func(addr *addressSDK.Address, data []byte) error) *IterationPrm {
p.handler = f
return p
}
@ -143,7 +144,7 @@ func (t *FSTree) iterate(depth int, curPath []string, prm *IterationPrm) error {
return nil
}
func (t *FSTree) treePath(addr *objectSDK.Address) string {
func (t *FSTree) treePath(addr *addressSDK.Address) string {
sAddr := stringifyAddress(addr)
dirs := make([]string, 0, t.Depth+1+1) // 1 for root, 1 for file
@ -160,7 +161,7 @@ func (t *FSTree) treePath(addr *objectSDK.Address) string {
}
// Delete removes object with the specified address from storage.
func (t *FSTree) Delete(addr *objectSDK.Address) error {
func (t *FSTree) Delete(addr *addressSDK.Address) error {
p, err := t.Exists(addr)
if err != nil {
return err
@ -171,7 +172,7 @@ func (t *FSTree) Delete(addr *objectSDK.Address) error {
// Exists returns path to file with object contents if it exists in storage
// and an error otherwise.
func (t *FSTree) Exists(addr *objectSDK.Address) (string, error) {
func (t *FSTree) Exists(addr *addressSDK.Address) (string, error) {
p := t.treePath(addr)
_, err := os.Stat(p)
@ -183,7 +184,7 @@ func (t *FSTree) Exists(addr *objectSDK.Address) (string, error) {
}
// Put puts object in storage.
func (t *FSTree) Put(addr *objectSDK.Address, data []byte) error {
func (t *FSTree) Put(addr *addressSDK.Address, data []byte) error {
p := t.treePath(addr)
if err := util.MkdirAllX(filepath.Dir(p), t.Permissions); err != nil {
@ -194,7 +195,7 @@ func (t *FSTree) Put(addr *objectSDK.Address, data []byte) error {
}
// Get returns object from storage by address.
func (t *FSTree) Get(addr *objectSDK.Address) ([]byte, error) {
func (t *FSTree) Get(addr *addressSDK.Address) ([]byte, error) {
p := t.treePath(addr)
if _, err := os.Stat(p); os.IsNotExist(err) {

View file

@ -10,23 +10,24 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/util"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/test"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/address/test"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/stretchr/testify/require"
)
func testOID() *objectSDK.ID {
func testOID() *oidSDK.ID {
cs := [sha256.Size]byte{}
_, _ = rand.Read(cs[:])
id := objectSDK.NewID()
id := oidSDK.NewID()
id.SetSHA256(cs)
return id
}
func testAddress() *objectSDK.Address {
a := objectSDK.NewAddress()
func testAddress() *addressSDK.Address {
a := addressSDK.NewAddress()
a.SetObjectID(testOID())
a.SetContainerID(cidtest.ID())
@ -56,7 +57,7 @@ func TestFSTree(t *testing.T) {
}
const count = 3
var addrs []*objectSDK.Address
var addrs []*addressSDK.Address
store := map[string][]byte{}
@ -93,7 +94,7 @@ func TestFSTree(t *testing.T) {
t.Run("iterate", func(t *testing.T) {
n := 0
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *objectSDK.Address, data []byte) error {
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
n++
expected, ok := store[addr.String()]
require.True(t, ok, "object %s was not found", addr.String())
@ -107,7 +108,7 @@ func TestFSTree(t *testing.T) {
t.Run("leave early", func(t *testing.T) {
n := 0
errStop := errors.New("stop")
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *objectSDK.Address, data []byte) error {
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
if n++; n == count-1 {
return errStop
}
@ -134,7 +135,7 @@ func TestFSTree(t *testing.T) {
require.NoError(t, util.MkdirAllX(filepath.Dir(p), fs.Permissions))
require.NoError(t, os.WriteFile(p, []byte{1, 2, 3}, fs.Permissions))
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *objectSDK.Address, data []byte) error {
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
n++
return nil
}).WithIgnoreErrors(true))
@ -144,7 +145,7 @@ func TestFSTree(t *testing.T) {
t.Run("error from handler is returned", func(t *testing.T) {
expectedErr := errors.New("expected error")
n := 0
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *objectSDK.Address, data []byte) error {
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
n++
if n == count/2 { // process some iterations
return expectedErr