From 9799e5d48c7bc0527d0d3c8d527c8df0647f247b Mon Sep 17 00:00:00 2001 From: Leonard Lyubich Date: Wed, 30 Sep 2020 18:40:57 +0300 Subject: [PATCH] [#164] sdk/object: Return nil parent if parent fields are empty Signed-off-by: Leonard Lyubich --- pkg/object/raw_test.go | 5 +++++ pkg/object/rw.go | 11 +++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pkg/object/raw_test.go b/pkg/object/raw_test.go index 2cc3246..a3119be 100644 --- a/pkg/object/raw_test.go +++ b/pkg/object/raw_test.go @@ -186,8 +186,13 @@ func TestRawObject_SetChildren(t *testing.T) { func TestRawObject_SetParent(t *testing.T) { obj := NewRaw() + require.Nil(t, obj.GetParent()) + par := NewRaw() par.SetID(randID(t)) + par.SetContainerID(container.NewID()) + par.SetSignature(pkg.NewSignature()) + parObj := par.Object() obj.SetParent(parObj) diff --git a/pkg/object/rw.go b/pkg/object/rw.go index b223307..b1b13c7 100644 --- a/pkg/object/rw.go +++ b/pkg/object/rw.go @@ -273,10 +273,17 @@ func (o *rwObject) GetParent() *Object { GetHeader(). GetSplit() + parSig := h.GetParentSignature() + parHdr := h.GetParentHeader() + + if parSig == nil && parHdr == nil { + return nil + } + oV2 := new(object.Object) oV2.SetObjectID(h.GetParent()) - oV2.SetSignature(h.GetParentSignature()) - oV2.SetHeader(h.GetParentHeader()) + oV2.SetSignature(parSig) + oV2.SetHeader(parHdr) return NewFromV2(oV2) }