@cryptotaxi247 / kubo / commits / e9c30cf35

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

Steven Allen committed Jun 1, 2019 at 09:00 UTC e9c30cf35647e317588dec94c9cdc7a8b19ca7d1
2 files changed +34 -3
config/bootstrap_peers.go
+10 -3
@@ -73,9 +73,16 @@ func ParseBootstrapPeers(addrs []string) ([]peer.AddrInfo, error) {
73 // BootstrapPeerStrings formats a list of AddrInfos as a bootstrap peer list
74 // suitable for serialization.
75 func BootstrapPeerStrings(bps []peer.AddrInfo) []string {
76 - bpss := make([]string, len(bps))
77 - for i, p := range bps {
78 - bpss[i] = p.String()
76 + bpss := make([]string, 0, len(bps))
77 + for _, pi := range bps {
78 + addrs, err := peer.AddrInfoToP2pAddrs(&pi)
79 + if err != nil {
80 + // programmer error.
81 + panic(err)
82 + }
83 + for _, addr := range addrs {
84 + bpss = append(bpss, addr.String())
85 + }
86 }
87 return bpss
88 }
config/bootstrap_peers_test.go new
+24
@@ -0,0 +1,24 @@
1 +package config
2 +
3 +import (
4 + "sort"
5 + "testing"
6 +)
7 +
8 +func TestBoostrapPeerStrings(t *testing.T) {
9 + parsed, err := ParseBootstrapPeers(DefaultBootstrapAddresses)
10 + if err != nil {
11 + t.Fatal(err)
12 + }
13 +
14 + formatted := BootstrapPeerStrings(parsed)
15 + sort.Strings(formatted)
16 + expected := append([]string{}, DefaultBootstrapAddresses...)
17 + sort.Strings(expected)
18 +
19 + for i, s := range formatted {
20 + if expected[i] != s {
21 + t.Fatalf("expected %s, %s", expected[i], s)
22 + }
23 + }
24 +}