From 2d7a6580594813df9983e174196a342ee0fac2a3 Mon Sep 17 00:00:00 2001 From: Pavel Karpy Date: Tue, 8 Jun 2021 20:21:03 +0300 Subject: [PATCH] [#302] pkg/owner: Document default values set in `NewTrust`, `NewPeerToPeerTrust` and `NewGlobalTrust` Document field values of instance constructed via `NewTrust`, `NewPeerToPeerTrust` and `NewGlobalTrust`. Assert the values in corresponding unit test. Signed-off-by: Pavel Karpy --- pkg/reputation/trust.go | 13 +++++++++- pkg/reputation/trust_test.go | 49 ++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/pkg/reputation/trust.go b/pkg/reputation/trust.go index c584740..e3dd5e5 100644 --- a/pkg/reputation/trust.go +++ b/pkg/reputation/trust.go @@ -14,6 +14,10 @@ import ( type Trust reputation.Trust // NewTrust creates and returns blank Trust. +// +// Defaults: +// - value: 0; +// - PeerID: nil. func NewTrust() *Trust { return TrustFromV2(new(reputation.Trust)) } @@ -109,6 +113,10 @@ func (x *Trust) UnmarshalJSON(data []byte) error { type PeerToPeerTrust reputation.PeerToPeerTrust // NewPeerToPeerTrust creates and returns blank PeerToPeerTrust. +// +// Defaults: +// - trusting: nil; +// - trust: nil. func NewPeerToPeerTrust() *PeerToPeerTrust { return PeerToPeerTrustFromV2(new(reputation.PeerToPeerTrust)) } @@ -193,7 +201,10 @@ type GlobalTrust reputation.GlobalTrust // NewGlobalTrust creates and returns blank GlobalTrust. // -// Version is initialized to current library version. +// Defaults: +// - version: pkg.SDKVersion(); +// - manager: nil; +// - trust: nil. func NewGlobalTrust() *GlobalTrust { gt := GlobalTrustFromV2(new(reputation.GlobalTrust)) gt.SetVersion(pkg.SDKVersion()) diff --git a/pkg/reputation/trust_test.go b/pkg/reputation/trust_test.go index 844997b..41072e9 100644 --- a/pkg/reputation/trust_test.go +++ b/pkg/reputation/trust_test.go @@ -199,3 +199,52 @@ func TestGlobalTrust_ToV2(t *testing.T) { require.Nil(t, x.ToV2()) }) } + +func TestNewTrust(t *testing.T) { + t.Run("default values", func(t *testing.T) { + trust := reputation.NewTrust() + + // check initial values + require.Zero(t, trust.Value()) + require.Nil(t, trust.Peer()) + + // convert to v2 message + trustV2 := trust.ToV2() + + require.Zero(t, trustV2.GetValue()) + require.Nil(t, trustV2.GetPeer()) + }) +} + +func TestNewPeerToPeerTrust(t *testing.T) { + t.Run("default values", func(t *testing.T) { + trust := reputation.NewPeerToPeerTrust() + + // check initial values + require.Nil(t, trust.Trust()) + require.Nil(t, trust.TrustingPeer()) + + // convert to v2 message + trustV2 := trust.ToV2() + + require.Nil(t, trustV2.GetTrust()) + require.Nil(t, trustV2.GetTrustingPeer()) + }) +} + +func TestNewGlobalTrust(t *testing.T) { + t.Run("default values", func(t *testing.T) { + trust := reputation.NewGlobalTrust() + + // check initial values + require.Nil(t, trust.Manager()) + require.Nil(t, trust.Trust()) + + require.Equal(t, pkg.SDKVersion().String(), trust.Version().String()) + + // convert to v2 message + trustV2 := trust.ToV2() + + require.Nil(t, trustV2.GetBody()) + }) +}