package netmap import ( "github.com/nspcc-dev/neofs-api-go/v2/netmap" ) func newFilter(name string, k, v string, op netmap.Operation, fs ...*netmap.Filter) *netmap.Filter { f := new(netmap.Filter) f.SetName(name) f.SetKey(k) f.SetOp(op) f.SetValue(v) f.SetFilters(fs) return f } func newSelector(name string, attr string, c netmap.Clause, count uint32, filter string) *netmap.Selector { s := new(netmap.Selector) s.SetName(name) s.SetAttribute(attr) s.SetCount(count) s.SetClause(c) s.SetFilter(filter) return s } func newPlacementPolicy(bf uint32, rs []*netmap.Replica, ss []*netmap.Selector, fs []*netmap.Filter) *netmap.PlacementPolicy { p := new(netmap.PlacementPolicy) p.SetContainerBackupFactor(bf) p.SetReplicas(rs) p.SetSelectors(ss) p.SetFilters(fs) return p } func newReplica(c uint32, s string) *netmap.Replica { r := new(netmap.Replica) r.SetCount(c) r.SetSelector(s) return r } func nodeInfoFromAttributes(props ...string) netmap.NodeInfo { attrs := make([]*netmap.Attribute, len(props)/2) for i := range attrs { attrs[i] = new(netmap.Attribute) attrs[i].SetKey(props[i*2]) attrs[i].SetValue(props[i*2+1]) } var n netmap.NodeInfo n.SetAttributes(attrs) return n } func getTestNode(props ...string) *Node { m := make(map[string]string, len(props)/2) for i := 0; i < len(props); i += 2 { m[props[i]] = props[i+1] } return &Node{AttrMap: m} }