forked from TrueCloudLab/frostfs-api-go
[#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
|
||||
|
||||
// NewPlacementPolicy creates and returns new PlacementPolicy instance.
|
||||
//
|
||||
// Defaults:
|
||||
// - backupFactor: 0;
|
||||
// - replicas nil;
|
||||
// - selectors nil;
|
||||
// - filters nil.
|
||||
func NewPlacementPolicy() *PlacementPolicy {
|
||||
return NewPlacementPolicyFromV2(new(netmap.PlacementPolicy))
|
||||
}
|
||||
|
@ -31,6 +37,10 @@ func (p *PlacementPolicy) Replicas() []*Replica {
|
|||
rs := (*netmap.PlacementPolicy)(p).
|
||||
GetReplicas()
|
||||
|
||||
if rs == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
res := make([]*Replica, 0, len(rs))
|
||||
|
||||
for i := range rs {
|
||||
|
@ -73,6 +83,10 @@ func (p *PlacementPolicy) Selectors() []*Selector {
|
|||
rs := (*netmap.PlacementPolicy)(p).
|
||||
GetSelectors()
|
||||
|
||||
if rs == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
res := make([]*Selector, 0, len(rs))
|
||||
|
||||
for i := range rs {
|
||||
|
|
|
@ -151,6 +151,24 @@ func TestNewPlacementPolicy(t *testing.T) {
|
|||
|
||||
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) {
|
||||
|
|
Loading…
Reference in a new issue