go-ipfs-config: fix string formatting of bootstrap peers

This commit is contained in:
Steven Allen 2019-06-01 09:00:12 -07:00
parent ae7c2e962f
commit e9c30cf356
2 changed files with 34 additions and 3 deletions

View File

@ -73,9 +73,16 @@ func ParseBootstrapPeers(addrs []string) ([]peer.AddrInfo, error) {
// BootstrapPeerStrings formats a list of AddrInfos as a bootstrap peer list
// suitable for serialization.
func BootstrapPeerStrings(bps []peer.AddrInfo) []string {
bpss := make([]string, len(bps))
for i, p := range bps {
bpss[i] = p.String()
bpss := make([]string, 0, len(bps))
for _, pi := range bps {
addrs, err := peer.AddrInfoToP2pAddrs(&pi)
if err != nil {
// programmer error.
panic(err)
}
for _, addr := range addrs {
bpss = append(bpss, addr.String())
}
}
return bpss
}

View File

@ -0,0 +1,24 @@
package config
import (
"sort"
"testing"
)
func TestBoostrapPeerStrings(t *testing.T) {
parsed, err := ParseBootstrapPeers(DefaultBootstrapAddresses)
if err != nil {
t.Fatal(err)
}
formatted := BootstrapPeerStrings(parsed)
sort.Strings(formatted)
expected := append([]string{}, DefaultBootstrapAddresses...)
sort.Strings(expected)
for i, s := range formatted {
if expected[i] != s {
t.Fatalf("expected %s, %s", expected[i], s)
}
}
}