forked from TrueCloudLab/frostfs-api-go
[#293] pkg/netmap: Implement generators of the messages
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
cb6e01a103
commit
3cf0ea022d
1 changed files with 123 additions and 0 deletions
123
pkg/netmap/test/generate.go
Normal file
123
pkg/netmap/test/generate.go
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
package netmaptest
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/nspcc-dev/neofs-api-go/pkg/netmap"
|
||||||
|
)
|
||||||
|
|
||||||
|
func filter(withInner bool) *netmap.Filter {
|
||||||
|
x := netmap.NewFilter()
|
||||||
|
|
||||||
|
x.SetName("name")
|
||||||
|
x.SetKey("key")
|
||||||
|
x.SetValue("value")
|
||||||
|
x.SetOperation(netmap.OpAND)
|
||||||
|
|
||||||
|
if withInner {
|
||||||
|
x.SetInnerFilters(filter(false), filter(false))
|
||||||
|
}
|
||||||
|
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
|
||||||
|
// Filter returns random netmap.Filter.
|
||||||
|
func Filter() *netmap.Filter {
|
||||||
|
return filter(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Replica returns random netmap.Replica.
|
||||||
|
func Replica() *netmap.Replica {
|
||||||
|
x := netmap.NewReplica()
|
||||||
|
|
||||||
|
x.SetCount(666)
|
||||||
|
x.SetSelector("selector")
|
||||||
|
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
|
||||||
|
// Selector returns random netmap.Selector.
|
||||||
|
func Selector() *netmap.Selector {
|
||||||
|
x := netmap.NewSelector()
|
||||||
|
|
||||||
|
x.SetCount(11)
|
||||||
|
x.SetName("name")
|
||||||
|
x.SetFilter("filter")
|
||||||
|
x.SetAttribute("attribute")
|
||||||
|
x.SetClause(netmap.ClauseDistinct)
|
||||||
|
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
|
||||||
|
// PlacementPolicy returns random netmap.PlacementPolicy.
|
||||||
|
func PlacementPolicy() *netmap.PlacementPolicy {
|
||||||
|
x := netmap.NewPlacementPolicy()
|
||||||
|
|
||||||
|
x.SetContainerBackupFactor(9)
|
||||||
|
x.SetFilters(Filter(), Filter())
|
||||||
|
x.SetReplicas(Replica(), Replica())
|
||||||
|
x.SetSelectors(Selector(), Selector())
|
||||||
|
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
|
||||||
|
// NetworkInfo returns random netmap.NetworkInfo.
|
||||||
|
func NetworkInfo() *netmap.NetworkInfo {
|
||||||
|
x := netmap.NewNetworkInfo()
|
||||||
|
|
||||||
|
x.SetCurrentEpoch(21)
|
||||||
|
x.SetMagicNumber(32)
|
||||||
|
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
|
||||||
|
// NodeAttribute returns random netmap.NodeAttribute.
|
||||||
|
func NodeAttribute() *netmap.NodeAttribute {
|
||||||
|
x := netmap.NewNodeAttribute()
|
||||||
|
|
||||||
|
x.SetKey("key")
|
||||||
|
x.SetValue("value")
|
||||||
|
x.SetParentKeys("parent1", "parent2")
|
||||||
|
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
|
||||||
|
// NodeInfo returns random netmap.NodeInfo.
|
||||||
|
func NodeInfo() *netmap.NodeInfo {
|
||||||
|
x := netmap.NewNodeInfo()
|
||||||
|
|
||||||
|
x.SetAddress("address")
|
||||||
|
x.SetPublicKey([]byte("public key"))
|
||||||
|
x.SetState(netmap.NodeStateOnline)
|
||||||
|
x.SetAttributes(NodeAttribute(), NodeAttribute())
|
||||||
|
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
|
||||||
|
// Node returns random netmap.Node.
|
||||||
|
func Node() *netmap.Node {
|
||||||
|
return &netmap.Node{
|
||||||
|
ID: 1,
|
||||||
|
Index: 2,
|
||||||
|
Capacity: 3,
|
||||||
|
Price: 4,
|
||||||
|
AttrMap: map[string]string{
|
||||||
|
"key1": "value1",
|
||||||
|
"key2": "value2",
|
||||||
|
},
|
||||||
|
NodeInfo: NodeInfo(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Nodes returns random netmap.Nodes.
|
||||||
|
func Nodes() netmap.Nodes {
|
||||||
|
return netmap.Nodes{Node(), Node()}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Netmap returns random netmap.Netmap.
|
||||||
|
func Netmap() *netmap.Netmap {
|
||||||
|
nm, err := netmap.NewNetmap(Nodes())
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nm
|
||||||
|
}
|
Loading…
Reference in a new issue