Skip to content

Commit 775f4ba

Browse files
committed
Test and code cleanup
1 parent 9e24f9d commit 775f4ba

File tree

4 files changed

+21
-36
lines changed

4 files changed

+21
-36
lines changed

client.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -358,26 +358,31 @@ func setupDHT(ctx context.Context, h host.Host, config Config, bootstrapPeers []
358358

359359
// parseRelayPeersFromConfig parses relay peer multiaddr strings into AddrInfo
360360
func parseRelayPeersFromConfig(relayPeersConfig []string, log logger) []peer.AddrInfo {
361-
if len(relayPeersConfig) == 0 {
361+
return parsePeerMultiaddrs(relayPeersConfig, "relay", log)
362+
}
363+
364+
// parsePeerMultiaddrs is a shared helper to parse peer multiaddr strings
365+
func parsePeerMultiaddrs(peerConfigs []string, peerType string, log logger) []peer.AddrInfo {
366+
if len(peerConfigs) == 0 {
362367
return nil
363368
}
364369

365-
relayPeers := make([]peer.AddrInfo, 0, len(relayPeersConfig))
366-
for _, relayStr := range relayPeersConfig {
367-
maddr, err := multiaddr.NewMultiaddr(relayStr)
370+
peers := make([]peer.AddrInfo, 0, len(peerConfigs))
371+
for _, peerStr := range peerConfigs {
372+
maddr, err := multiaddr.NewMultiaddr(peerStr)
368373
if err != nil {
369-
log.Errorf("Invalid relay address %s: %v (hint: use /dns4/ for hostnames, /ip4/ for IP addresses)", relayStr, err)
374+
log.Errorf("Invalid %s address %s: %v (hint: use /dns4/ for hostnames, /ip4/ for IP addresses)", peerType, peerStr, err)
370375
continue
371376
}
372377
addrInfo, err := peer.AddrInfoFromP2pAddr(maddr)
373378
if err != nil {
374-
log.Errorf("Invalid relay peer info %s: %v", relayStr, err)
379+
log.Errorf("Invalid %s peer info %s: %v", peerType, peerStr, err)
375380
continue
376381
}
377-
relayPeers = append(relayPeers, *addrInfo)
382+
peers = append(peers, *addrInfo)
378383
}
379384

380-
return relayPeers
385+
return peers
381386
}
382387

383388
// selectRelayPeers determines which peers to use as relays

client_additional_test.go

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ func TestConfigureRelayPeersWithValidPeers(t *testing.T) {
7171
testRelayPeerMultiaddr,
7272
}
7373

74-
relayPeers := configureRelayPeers(relayPeersConfig, bootstrapPeers, logger)
74+
customRelayPeers := parseRelayPeersFromConfig(relayPeersConfig, logger)
75+
relayPeers := selectRelayPeers(customRelayPeers, bootstrapPeers, logger)
7576

7677
assert.Len(t, relayPeers, 1)
7778
}
@@ -86,7 +87,8 @@ func TestConfigureRelayPeersWithMixedValidity(t *testing.T) {
8687
"invalid-peer",
8788
}
8889

89-
relayPeers := configureRelayPeers(relayPeersConfig, bootstrapPeers, logger)
90+
customRelayPeers := parseRelayPeersFromConfig(relayPeersConfig, logger)
91+
relayPeers := selectRelayPeers(customRelayPeers, bootstrapPeers, logger)
9092

9193
// Should have 1 valid peer (second one is invalid)
9294
assert.Len(t, relayPeers, 1)
@@ -114,25 +116,6 @@ func TestClientCloseTwice(t *testing.T) {
114116
_ = err
115117
}
116118

117-
func TestClientWithBootstrapPeers(t *testing.T) {
118-
privKey, err := GeneratePrivateKey()
119-
require.NoError(t, err)
120-
121-
config := Config{
122-
Name: testPeerName,
123-
PrivateKey: privKey,
124-
BootstrapPeers: []string{
125-
"/ip4/127.0.0.1/tcp/9999/p2p/QmYyQSo1c1Ym7orWxLYvCrM2EmxFTANf8wXmmE7DWjhx5N",
126-
},
127-
}
128-
129-
cl, err := NewClient(config)
130-
require.NoError(t, err)
131-
132-
err = cl.Close()
133-
require.NoError(t, err)
134-
}
135-
136119
func TestGetPeersWithNoConnections(t *testing.T) {
137120
privKey, err := GeneratePrivateKey()
138121
require.NoError(t, err)

client_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,8 @@ func TestConfigureRelayPeersEmpty(t *testing.T) {
416416
{ID: "QmYyQSo1c1Ym7orWxLYvCrM2EmxFTANf8wXmmE7DWjhx5N"},
417417
}
418418

419-
relayPeers := configureRelayPeers([]string{}, bootstrapPeers, logger)
419+
customRelayPeers := parseRelayPeersFromConfig([]string{}, logger)
420+
relayPeers := selectRelayPeers(customRelayPeers, bootstrapPeers, logger)
420421

421422
// Should return bootstrap peers when no custom relays
422423
assert.Equal(t, bootstrapPeers, relayPeers)
@@ -435,7 +436,8 @@ func TestConfigureRelayPeersInvalidAddresses(t *testing.T) {
435436
"not-a-multiaddr",
436437
}
437438

438-
relayPeers := configureRelayPeers(invalidRelays, bootstrapPeers, logger)
439+
customRelayPeers := parseRelayPeersFromConfig(invalidRelays, logger)
440+
relayPeers := selectRelayPeers(customRelayPeers, bootstrapPeers, logger)
439441

440442
// Should fall back to bootstrap peers on invalid addresses
441443
assert.Equal(t, bootstrapPeers, relayPeers)

config.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,6 @@ type Config struct {
3636
// so other peers can identify the sender.
3737
Name string
3838

39-
// BootstrapPeers is an optional list of multiaddr strings for initial peers to connect to.
40-
// If not provided, the client will use libp2p's default bootstrap peers.
41-
// Example: []string{"/ip4/192.168.1.100/tcp/4001/p2p/QmPeerID"}
42-
BootstrapPeers []string
43-
4439
// Logger is an optional logger to use for logging. If not provided, the client will use
4540
// DefaultLogger. Set to a custom implementation to integrate with your logging framework.
4641
Logger logger

0 commit comments

Comments
 (0)