2a0c4e60d2
* preparing for use of `customtype` gogo extension with `NodeID` type * review changes * preparing for use of `customtype` gogo extension with `NodeID` type * review changes * wip * tests passing * wip fixing tests * more wip test fixing * remove NodeIDList from proto files * linter fixes * linter fixes * linter/review fixes * more freaking linter fixes * omg just kill me - linterrrrrrrr * travis linter, i will muder you and your family in your sleep * goimports everything - burn in hell travis * goimports update * go mod tidy
60 lines
1.4 KiB
Go
60 lines
1.4 KiB
Go
// Copyright (C) 2018 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package teststorj
|
|
|
|
import (
|
|
"storj.io/storj/pkg/pb"
|
|
"storj.io/storj/pkg/storj"
|
|
)
|
|
|
|
// NodeIDFromBytes returns a node ID consisting of the bytes
|
|
// and padding to the node ID length
|
|
func NodeIDFromBytes(b []byte) storj.NodeID {
|
|
id, _ := storj.NodeIDFromBytes(fit(b))
|
|
return id
|
|
}
|
|
|
|
// NodeIDFromString returns node ID consisting of the strings
|
|
// and padding to the node ID length
|
|
func NodeIDFromString(s string) storj.NodeID {
|
|
return NodeIDFromBytes([]byte(s))
|
|
}
|
|
|
|
// NodeIDsFromBytes returns node IDs consisting of the byte slices
|
|
// and padding to the node ID length
|
|
func NodeIDsFromBytes(bs ...[]byte) (ids storj.NodeIDList) {
|
|
for _, b := range bs {
|
|
ids = append(ids, NodeIDFromBytes(b))
|
|
}
|
|
return ids
|
|
}
|
|
|
|
// NodeIDsFromStrings returns node IDs consisting of the strings
|
|
// and padding to the node ID length
|
|
func NodeIDsFromStrings(strs ...string) (ids storj.NodeIDList) {
|
|
for _, s := range strs {
|
|
ids = append(ids, NodeIDFromString(s))
|
|
}
|
|
return ids
|
|
}
|
|
|
|
// used to pad node IDs
|
|
func fit(b []byte) []byte {
|
|
l := len(storj.NodeID{})
|
|
if len(b) < l {
|
|
return fit(append(b, 255))
|
|
// return fit(append([]byte{1}, b...))
|
|
}
|
|
return b[:l]
|
|
}
|
|
|
|
// MockNode returns a pb node with an ID consisting of the string
|
|
// and padding to the node ID length
|
|
func MockNode(s string) *pb.Node {
|
|
id := NodeIDFromString(s)
|
|
var node pb.Node
|
|
node.Id = id
|
|
return &node
|
|
}
|