diff --git a/pkg/core/object/fmt.go b/pkg/core/object/fmt.go index b6365cae..eb2431b0 100644 --- a/pkg/core/object/fmt.go +++ b/pkg/core/object/fmt.go @@ -89,13 +89,15 @@ func (v *FormatValidator) ValidateContent(t object.Type, payload []byte) error { return errors.Errorf("(%T) empty payload in tombstone", v) } - addr, err := object.AddressFromBytes(payload) + content, err := TombstoneContentFromBytes(payload) if err != nil { - return errors.Wrapf(err, "(%T) could not parse object address from tombstone", v) + return errors.Wrapf(err, "(%T) could not parse tombstone content", err) } - if addr.GetContainerID() == nil || addr.GetObjectID() == nil { - return errors.Errorf("(%T) empty address reference in tombstone", v) + for _, addr := range content.GetAddressList() { + if addr.GetContainerID() == nil || addr.GetObjectID() == nil { + return errors.Errorf("(%T) empty address reference in tombstone", v) + } } } diff --git a/pkg/core/object/fmt_test.go b/pkg/core/object/fmt_test.go index 06b63878..18200a15 100644 --- a/pkg/core/object/fmt_test.go +++ b/pkg/core/object/fmt_test.go @@ -109,7 +109,10 @@ func TestFormatValidator_Validate(t *testing.T) { addr := object.NewAddress() - data, err := addr.ToV2().StableMarshal(nil) + content := NewTombstoneContent() + content.SetAddressList(addr) + + data, err := content.MarshalBinary() require.NoError(t, err) require.Error(t, v.ValidateContent(object.TypeTombstone, data)) @@ -117,7 +120,7 @@ func TestFormatValidator_Validate(t *testing.T) { addr.SetContainerID(testContainerID(t)) addr.SetObjectID(testObjectID(t)) - data, err = addr.ToV2().StableMarshal(nil) + data, err = content.MarshalBinary() require.NoError(t, err) require.NoError(t, v.ValidateContent(object.TypeTombstone, data))