@@ -4,6 +4,7 @@ import { expect } from 'aegir/chai'
4
4
import { concat as uint8ArrayConcat } from 'uint8arrays/concat'
5
5
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
6
6
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
7
+ import { multiaddr } from '@multiformats/multiaddr'
7
8
import * as utils from '../src/utils.js'
8
9
import { createPeerId , createPeerIds } from './utils/create-peer-id.js'
9
10
@@ -60,4 +61,38 @@ describe('kad utils', () => {
60
61
} )
61
62
} )
62
63
} )
64
+
65
+ describe ( 'removePrivateAddresses' , ( ) => {
66
+ it ( 'filters private multiaddrs' , async ( ) => {
67
+ const id = await createPeerId ( )
68
+
69
+ const multiaddrs = [
70
+ multiaddr ( '/dns4/example.com/tcp/4001' ) ,
71
+ multiaddr ( '/ip4/192.168.0.1/tcp/4001' ) ,
72
+ multiaddr ( '/ip4/1.1.1.1/tcp/4001' ) ,
73
+ multiaddr ( '/dns4/localhost/tcp/4001' )
74
+ ]
75
+
76
+ const peerInfo = utils . removePrivateAddresses ( { id, multiaddrs, protocols : [ ] } )
77
+ expect ( peerInfo . multiaddrs . map ( ( ma ) => ma . toString ( ) ) )
78
+ . to . eql ( [ '/dns4/example.com/tcp/4001' , '/ip4/1.1.1.1/tcp/4001' ] )
79
+ } )
80
+ } )
81
+
82
+ describe ( 'removePublicAddresses' , ( ) => {
83
+ it ( 'filters public multiaddrs' , async ( ) => {
84
+ const id = await createPeerId ( )
85
+
86
+ const multiaddrs = [
87
+ multiaddr ( '/dns4/example.com/tcp/4001' ) ,
88
+ multiaddr ( '/ip4/192.168.0.1/tcp/4001' ) ,
89
+ multiaddr ( '/ip4/1.1.1.1/tcp/4001' ) ,
90
+ multiaddr ( '/dns4/localhost/tcp/4001' )
91
+ ]
92
+
93
+ const peerInfo = utils . removePublicAddresses ( { id, multiaddrs, protocols : [ ] } )
94
+ expect ( peerInfo . multiaddrs . map ( ( ma ) => ma . toString ( ) ) )
95
+ . to . eql ( [ '/ip4/192.168.0.1/tcp/4001' , '/dns4/localhost/tcp/4001' ] )
96
+ } )
97
+ } )
63
98
} )
0 commit comments