[#302] pkg/netmap: Document default values set in NewPlacementPolicy
Document field values of instance constructed via `NewPlacementPolicy`. Assert the values in corresponding unit test. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
2176cb9f2b
commit
6fb7c79219
2 changed files with 32 additions and 0 deletions
|
@ -8,6 +8,12 @@ import (
|
||||||
type PlacementPolicy netmap.PlacementPolicy
|
type PlacementPolicy netmap.PlacementPolicy
|
||||||
|
|
||||||
// NewPlacementPolicy creates and returns new PlacementPolicy instance.
|
// NewPlacementPolicy creates and returns new PlacementPolicy instance.
|
||||||
|
//
|
||||||
|
// Defaults:
|
||||||
|
// - backupFactor: 0;
|
||||||
|
// - replicas nil;
|
||||||
|
// - selectors nil;
|
||||||
|
// - filters nil.
|
||||||
func NewPlacementPolicy() *PlacementPolicy {
|
func NewPlacementPolicy() *PlacementPolicy {
|
||||||
return NewPlacementPolicyFromV2(new(netmap.PlacementPolicy))
|
return NewPlacementPolicyFromV2(new(netmap.PlacementPolicy))
|
||||||
}
|
}
|
||||||
|
@ -31,6 +37,10 @@ func (p *PlacementPolicy) Replicas() []*Replica {
|
||||||
rs := (*netmap.PlacementPolicy)(p).
|
rs := (*netmap.PlacementPolicy)(p).
|
||||||
GetReplicas()
|
GetReplicas()
|
||||||
|
|
||||||
|
if rs == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
res := make([]*Replica, 0, len(rs))
|
res := make([]*Replica, 0, len(rs))
|
||||||
|
|
||||||
for i := range rs {
|
for i := range rs {
|
||||||
|
@ -73,6 +83,10 @@ func (p *PlacementPolicy) Selectors() []*Selector {
|
||||||
rs := (*netmap.PlacementPolicy)(p).
|
rs := (*netmap.PlacementPolicy)(p).
|
||||||
GetSelectors()
|
GetSelectors()
|
||||||
|
|
||||||
|
if rs == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
res := make([]*Selector, 0, len(rs))
|
res := make([]*Selector, 0, len(rs))
|
||||||
|
|
||||||
for i := range rs {
|
for i := range rs {
|
||||||
|
|
|
@ -151,6 +151,24 @@ func TestNewPlacementPolicy(t *testing.T) {
|
||||||
|
|
||||||
require.Nil(t, x.ToV2())
|
require.Nil(t, x.ToV2())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
t.Run("default values", func(t *testing.T) {
|
||||||
|
pp := NewPlacementPolicy()
|
||||||
|
|
||||||
|
// check initial values
|
||||||
|
require.Nil(t, pp.Replicas())
|
||||||
|
require.Nil(t, pp.Filters())
|
||||||
|
require.Nil(t, pp.Selectors())
|
||||||
|
require.Zero(t, pp.ContainerBackupFactor())
|
||||||
|
|
||||||
|
// convert to v2 message
|
||||||
|
ppV2 := pp.ToV2()
|
||||||
|
|
||||||
|
require.Nil(t, ppV2.GetReplicas())
|
||||||
|
require.Nil(t, ppV2.GetFilters())
|
||||||
|
require.Nil(t, ppV2.GetSelectors())
|
||||||
|
require.Zero(t, ppV2.GetContainerBackupFactor())
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNewPlacementPolicyFromV2(t *testing.T) {
|
func TestNewPlacementPolicyFromV2(t *testing.T) {
|
||||||
|
|
Loading…
Reference in a new issue