@@ -20,6 +20,20 @@ describe('multiaddr validation', function () {
20
20
'/ip4/127.0.0.1'
21
21
]
22
22
23
+ const goodDnsIPFS = [
24
+ '/dns/ipfs.io/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
25
+ '/dns4/ipfs.io/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
26
+ '/dns4/libp2p.io/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
27
+ '/dns6/protocol.ai/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
28
+ '/dns4/protocol.ai/tcp/80/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
29
+ '/dns6/protocol.ai/tcp/80/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
30
+ '/dns/protocol.ai/tcp/80/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'
31
+ ]
32
+
33
+ const badDnsIPFS = [
34
+ '/ip4/127.0.0.1/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'
35
+ ]
36
+
23
37
const goodIP = [
24
38
'/ip4/0.0.0.0' ,
25
39
'/ip6/fc00::'
@@ -40,6 +54,11 @@ describe('multiaddr validation', function () {
40
54
'/ip6/fc00::/udp/5523/tcp/9543'
41
55
]
42
56
57
+ const goodTcpIPFS = [
58
+ '/ip4/0.0.7.6/tcp/1234/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
59
+ '/ip6/::/tcp/0/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'
60
+ ]
61
+
43
62
const goodUDP = [
44
63
'/ip4/0.0.7.6/udp/1234' ,
45
64
'/ip6/::/udp/0'
@@ -72,6 +91,18 @@ describe('multiaddr validation', function () {
72
91
'/ip6/::/tcp/0/wss'
73
92
]
74
93
94
+ const goodWsIPFS = [
95
+ '/dns/ipfs.io/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
96
+ '/ip4/1.2.3.4/tcp/3456/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
97
+ '/ip6/::/tcp/0/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'
98
+ ]
99
+
100
+ const goodWssIPFS = [
101
+ '/dns/ipfs.io/wss/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
102
+ '/ip4/1.2.3.4/tcp/3456/wss/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
103
+ '/ip6/::/tcp/0/wss/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'
104
+ ]
105
+
75
106
const goodWebRTCStar = [
76
107
'/libp2p-webrtc-star/ip4/1.2.3.4/tcp/3456/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
77
108
'/libp2p-webrtc-star/dns/ipfs.io/ws/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' ,
@@ -147,6 +178,11 @@ describe('multiaddr validation', function () {
147
178
assertMismatches ( mafmt . DNS , badDNS , badIP , goodTCP )
148
179
} )
149
180
181
+ it ( 'DNS IPFS validation' , function ( ) {
182
+ assertMatches ( mafmt . DNS_IPFS , goodDnsIPFS )
183
+ assertMismatches ( mafmt . DNS_IPFS , badDnsIPFS , badDNS , badIP , goodTCP )
184
+ } )
185
+
150
186
it ( 'IP validation' , function ( ) {
151
187
assertMatches ( mafmt . IP , goodIP )
152
188
assertMismatches ( mafmt . IP , badIP , goodTCP )
@@ -157,6 +193,10 @@ describe('multiaddr validation', function () {
157
193
assertMismatches ( mafmt . TCP , badTCP , goodIP )
158
194
} )
159
195
196
+ it ( 'TCP IPFS validation' , function ( ) {
197
+ assertMatches ( mafmt . TCP_IPFS , goodTcpIPFS )
198
+ } )
199
+
160
200
it ( 'UDP validation' , function ( ) {
161
201
assertMatches ( mafmt . UDP , goodUDP )
162
202
assertMismatches ( mafmt . UDP , badUDP , goodIP , goodTCP , goodUTP )
@@ -182,6 +222,16 @@ describe('multiaddr validation', function () {
182
222
assertMismatches ( mafmt . WebSocketsSecure , goodIP , badWSS , goodUDP , badWS )
183
223
} )
184
224
225
+ it ( 'WebSockets IPFS validation' , function ( ) {
226
+ assertMatches ( mafmt . WebSocketsIPFS , goodWsIPFS )
227
+ assertMismatches ( mafmt . WebSocketsIPFS , goodIP , goodUDP , badWS )
228
+ } )
229
+
230
+ it ( 'WebSocketsSecure IPFS validation' , function ( ) {
231
+ assertMatches ( mafmt . WebSocketsSecureIPFS , goodWssIPFS )
232
+ assertMismatches ( mafmt . WebSocketsIPFS , goodIP , goodUDP , badWSS )
233
+ } )
234
+
185
235
it ( 'WebRTC-star validation' , function ( ) {
186
236
assertMatches ( mafmt . WebRTCStar , goodWebRTCStar )
187
237
assertMismatches ( mafmt . WebRTCStar , goodIP , goodUDP , badWS )
0 commit comments