@libp2p/interface-compliance-tests 1.1.20 → 1.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/connection/connection.js +1 -1
- package/dist/src/connection/connection.js.map +1 -1
- package/dist/src/connection-encrypter/index.js +1 -1
- package/dist/src/connection-encrypter/index.js.map +1 -1
- package/dist/src/mocks/upgrader.js +1 -1
- package/dist/src/mocks/upgrader.js.map +1 -1
- package/dist/src/peer-discovery/index.js +1 -1
- package/dist/src/peer-discovery/index.js.map +1 -1
- package/dist/src/pubsub/api.d.ts.map +1 -1
- package/dist/src/pubsub/api.js +11 -9
- package/dist/src/pubsub/api.js.map +1 -1
- package/dist/src/pubsub/connection-handlers.d.ts.map +1 -1
- package/dist/src/pubsub/connection-handlers.js +42 -28
- package/dist/src/pubsub/connection-handlers.js.map +1 -1
- package/dist/src/pubsub/emit-self.d.ts.map +1 -1
- package/dist/src/pubsub/emit-self.js +13 -8
- package/dist/src/pubsub/emit-self.js.map +1 -1
- package/dist/src/pubsub/messages.d.ts.map +1 -1
- package/dist/src/pubsub/messages.js +6 -5
- package/dist/src/pubsub/messages.js.map +1 -1
- package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -1
- package/dist/src/pubsub/multiple-nodes.js +96 -40
- package/dist/src/pubsub/multiple-nodes.js.map +1 -1
- package/dist/src/pubsub/two-nodes.d.ts.map +1 -1
- package/dist/src/pubsub/two-nodes.js +35 -50
- package/dist/src/pubsub/two-nodes.js.map +1 -1
- package/dist/src/pubsub/utils.js +1 -1
- package/dist/src/pubsub/utils.js.map +1 -1
- package/dist/src/record/index.js +1 -1
- package/dist/src/record/index.js.map +1 -1
- package/dist/src/stream-muxer/base-test.js +1 -1
- package/dist/src/stream-muxer/base-test.js.map +1 -1
- package/dist/src/stream-muxer/close-test.js +1 -1
- package/dist/src/stream-muxer/close-test.js.map +1 -1
- package/dist/src/stream-muxer/spawner.js +1 -1
- package/dist/src/stream-muxer/spawner.js.map +1 -1
- package/dist/src/topology/topology.js +1 -1
- package/dist/src/topology/topology.js.map +1 -1
- package/dist/src/transport/dial-test.js +1 -1
- package/dist/src/transport/dial-test.js.map +1 -1
- package/dist/src/transport/filter-test.js +1 -1
- package/dist/src/transport/filter-test.js.map +1 -1
- package/dist/src/transport/listen-test.js +1 -1
- package/dist/src/transport/listen-test.js.map +1 -1
- package/package.json +14 -15
- package/src/connection/connection.ts +1 -1
- package/src/connection-encrypter/index.ts +1 -1
- package/src/mocks/upgrader.ts +1 -1
- package/src/peer-discovery/index.ts +1 -1
- package/src/pubsub/api.ts +11 -9
- package/src/pubsub/connection-handlers.ts +44 -29
- package/src/pubsub/emit-self.ts +13 -8
- package/src/pubsub/messages.ts +6 -5
- package/src/pubsub/multiple-nodes.ts +97 -42
- package/src/pubsub/two-nodes.ts +38 -56
- package/src/pubsub/utils.ts +1 -1
- package/src/record/index.ts +1 -1
- package/src/stream-muxer/base-test.ts +1 -1
- package/src/stream-muxer/close-test.ts +1 -1
- package/src/stream-muxer/spawner.ts +1 -1
- package/src/topology/topology.ts +1 -1
- package/src/transport/dial-test.ts +1 -1
- package/src/transport/filter-test.ts +1 -1
- package/src/transport/listen-test.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topology.js","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"topology.js","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAe,CAAC,IAAyB,EAAE,EAAE;IAC3C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,QAAkB,CAAA;QAEtB,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,EAAE,CAAA;YACf,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dial-test.js","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dial-test.js","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-test.js","sourceRoot":"","sources":["../../../src/transport/filter-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"filter-test.js","sourceRoot":"","sources":["../../../src/transport/filter-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAMnC,eAAe,CAAC,MAAwC,EAAE,EAAE;IAC1D,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,IAAI,KAAkB,CAAA;QACtB,IAAI,SAAoB,CAAA;QAExB,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC7C,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listen-test.js","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"listen-test.js","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/interface-compliance-tests",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.23",
|
|
4
4
|
"description": "Compliance tests for JS libp2p interfaces",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interface-compliance-tests#readme",
|
|
@@ -185,17 +185,18 @@
|
|
|
185
185
|
]
|
|
186
186
|
},
|
|
187
187
|
"scripts": {
|
|
188
|
+
"clean": "aegir clean",
|
|
188
189
|
"lint": "aegir lint",
|
|
189
|
-
"dep-check": "aegir dep-check
|
|
190
|
-
"build": "
|
|
191
|
-
"
|
|
192
|
-
"test": "aegir test -
|
|
193
|
-
"test:chrome": "
|
|
194
|
-
"test:
|
|
195
|
-
"test:firefox": "
|
|
196
|
-
"test:
|
|
197
|
-
"test:
|
|
198
|
-
"
|
|
190
|
+
"dep-check": "aegir dep-check",
|
|
191
|
+
"build": "aegir build",
|
|
192
|
+
"test": "aegir test",
|
|
193
|
+
"test:chrome": "aegir test -t browser --cov",
|
|
194
|
+
"test:chrome-webworker": "aegir test -t webworker",
|
|
195
|
+
"test:firefox": "aegir test -t browser -- --browser firefox",
|
|
196
|
+
"test:firefox-webworker": "aegir test -t webworker -- --browser firefox",
|
|
197
|
+
"test:node": "aegir test -t node --cov",
|
|
198
|
+
"test:electron-main": "aegir test -t electron-main",
|
|
199
|
+
"release": "aegir release"
|
|
199
200
|
},
|
|
200
201
|
"dependencies": {
|
|
201
202
|
"@libp2p/crypto": "^0.22.8",
|
|
@@ -207,13 +208,14 @@
|
|
|
207
208
|
"@libp2p/pubsub": "^1.2.0",
|
|
208
209
|
"@multiformats/multiaddr": "^10.1.5",
|
|
209
210
|
"abortable-iterator": "^4.0.2",
|
|
210
|
-
"aegir": "^
|
|
211
|
+
"aegir": "^37.0.7",
|
|
211
212
|
"any-signal": "^3.0.0",
|
|
212
213
|
"delay": "^5.0.0",
|
|
213
214
|
"err-code": "^3.0.1",
|
|
214
215
|
"it-all": "^1.0.6",
|
|
215
216
|
"it-drain": "^1.0.5",
|
|
216
217
|
"it-goodbye": "^4.0.1",
|
|
218
|
+
"it-handshake": "^3.0.1",
|
|
217
219
|
"it-map": "^1.0.6",
|
|
218
220
|
"it-ndjson": "^0.1.1",
|
|
219
221
|
"it-pair": "^2.0.2",
|
|
@@ -228,8 +230,5 @@
|
|
|
228
230
|
"sinon": "^13.0.0",
|
|
229
231
|
"uint8arrays": "^3.0.0",
|
|
230
232
|
"util": "^0.12.4"
|
|
231
|
-
},
|
|
232
|
-
"devDependencies": {
|
|
233
|
-
"it-handshake": "^3.0.0"
|
|
234
233
|
}
|
|
235
234
|
}
|
package/src/mocks/upgrader.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { expect } from 'aegir/
|
|
1
|
+
import { expect } from 'aegir/chai'
|
|
2
2
|
import { mockConnection } from './connection.js'
|
|
3
3
|
import type { Upgrader, MultiaddrConnection, UpgraderEvents } from '@libp2p/interfaces/transport'
|
|
4
4
|
import type { Registrar } from '@libp2p/interfaces/registrar'
|
package/src/pubsub/api.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { expect } from 'aegir/
|
|
1
|
+
import { expect } from 'aegir/chai'
|
|
2
2
|
import sinon from 'sinon'
|
|
3
3
|
import pDefer from 'p-defer'
|
|
4
4
|
import pWaitFor from 'p-wait-for'
|
|
@@ -6,7 +6,6 @@ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
|
6
6
|
import { mockRegistrar } from '../mocks/registrar.js'
|
|
7
7
|
import { createEd25519PeerId } from '@libp2p/peer-id-factory'
|
|
8
8
|
import delay from 'delay'
|
|
9
|
-
import { CustomEvent } from '@libp2p/interfaces'
|
|
10
9
|
import type { TestSetup } from '../index.js'
|
|
11
10
|
import type { PubSub } from '@libp2p/interfaces/pubsub'
|
|
12
11
|
import type { PubSubArgs } from './index.js'
|
|
@@ -68,19 +67,21 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
68
67
|
}
|
|
69
68
|
|
|
70
69
|
await pubsub.start()
|
|
71
|
-
pubsub.
|
|
70
|
+
pubsub.subscribe(topic)
|
|
71
|
+
pubsub.addEventListener('message', handler)
|
|
72
72
|
|
|
73
73
|
await pWaitFor(() => {
|
|
74
74
|
const topics = pubsub.getTopics()
|
|
75
75
|
return topics.length === 1 && topics[0] === topic
|
|
76
76
|
})
|
|
77
77
|
|
|
78
|
-
pubsub.removeEventListener(
|
|
78
|
+
pubsub.removeEventListener('message', handler)
|
|
79
|
+
pubsub.unsubscribe(topic)
|
|
79
80
|
|
|
80
81
|
await pWaitFor(() => pubsub.getTopics().length === 0)
|
|
81
82
|
|
|
82
83
|
// Publish to guarantee the handler is not called
|
|
83
|
-
pubsub.
|
|
84
|
+
pubsub.publish(topic, data)
|
|
84
85
|
|
|
85
86
|
// handlers are called async
|
|
86
87
|
await delay(100)
|
|
@@ -93,12 +94,13 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
93
94
|
|
|
94
95
|
await pubsub.start()
|
|
95
96
|
|
|
96
|
-
pubsub.
|
|
97
|
-
|
|
98
|
-
expect(
|
|
97
|
+
pubsub.subscribe(topic)
|
|
98
|
+
pubsub.addEventListener('message', (evt) => {
|
|
99
|
+
expect(evt).to.have.nested.property('detail.topic', topic)
|
|
100
|
+
expect(evt).to.have.deep.nested.property('detail.data', data)
|
|
99
101
|
defer.resolve()
|
|
100
102
|
})
|
|
101
|
-
pubsub.
|
|
103
|
+
pubsub.publish(topic, data)
|
|
102
104
|
await defer.promise
|
|
103
105
|
|
|
104
106
|
await pubsub.stop()
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { expect } from 'aegir/
|
|
1
|
+
import { expect } from 'aegir/chai'
|
|
2
2
|
import sinon from 'sinon'
|
|
3
3
|
import pDefer from 'p-defer'
|
|
4
4
|
import pWaitFor from 'p-wait-for'
|
|
@@ -6,7 +6,6 @@ import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
|
|
6
6
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
7
7
|
import { createEd25519PeerId } from '@libp2p/peer-id-factory'
|
|
8
8
|
import { connectPeers, mockRegistrar } from '../mocks/registrar.js'
|
|
9
|
-
import { CustomEvent } from '@libp2p/interfaces'
|
|
10
9
|
import type { TestSetup } from '../index.js'
|
|
11
10
|
import type { Message } from '@libp2p/interfaces/pubsub'
|
|
12
11
|
import type { PubSubArgs } from './index.js'
|
|
@@ -74,10 +73,10 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
74
73
|
|
|
75
74
|
it('existing subscriptions are sent upon peer connection', async function () {
|
|
76
75
|
const subscriptionsChanged = Promise.all([
|
|
77
|
-
new Promise((resolve) => psA.addEventListener('
|
|
76
|
+
new Promise((resolve) => psA.addEventListener('subscription-change', resolve, {
|
|
78
77
|
once: true
|
|
79
78
|
})),
|
|
80
|
-
new Promise((resolve) => psB.addEventListener('
|
|
79
|
+
new Promise((resolve) => psB.addEventListener('subscription-change', resolve, {
|
|
81
80
|
once: true
|
|
82
81
|
}))
|
|
83
82
|
])
|
|
@@ -174,10 +173,13 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
174
173
|
let subscribedTopics = psA.getTopics()
|
|
175
174
|
expect(subscribedTopics).to.not.include(topic)
|
|
176
175
|
|
|
177
|
-
psA.
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
176
|
+
psA.subscribe(topic)
|
|
177
|
+
psA.addEventListener('message', (evt) => {
|
|
178
|
+
if (evt.detail.topic === topic) {
|
|
179
|
+
const msg = evt.detail
|
|
180
|
+
expect(msg.data).to.equalBytes(data)
|
|
181
|
+
defer.resolve()
|
|
182
|
+
}
|
|
181
183
|
})
|
|
182
184
|
psA.subscribe(topic)
|
|
183
185
|
|
|
@@ -189,7 +191,7 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
189
191
|
const subscribedPeers = psB.getSubscribers(topic)
|
|
190
192
|
return subscribedPeers.map(p => p.toString()).includes(peerA.toString())
|
|
191
193
|
})
|
|
192
|
-
|
|
194
|
+
psB.publish(topic, data)
|
|
193
195
|
|
|
194
196
|
await defer.promise
|
|
195
197
|
})
|
|
@@ -275,10 +277,13 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
275
277
|
let subscribedTopics = psA.getTopics()
|
|
276
278
|
expect(subscribedTopics).to.not.include(topic)
|
|
277
279
|
|
|
278
|
-
psA.
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
280
|
+
psA.subscribe(topic)
|
|
281
|
+
psA.addEventListener('message', (evt) => {
|
|
282
|
+
if (evt.detail.topic === topic) {
|
|
283
|
+
const msg = evt.detail
|
|
284
|
+
expect(msg.data).to.equalBytes(data)
|
|
285
|
+
defer.resolve()
|
|
286
|
+
}
|
|
282
287
|
})
|
|
283
288
|
psA.subscribe(topic)
|
|
284
289
|
|
|
@@ -290,7 +295,7 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
290
295
|
const subscribedPeers = psB.getSubscribers(topic)
|
|
291
296
|
return subscribedPeers.map(p => p.toString()).includes(peerA.toString())
|
|
292
297
|
})
|
|
293
|
-
|
|
298
|
+
psB.publish(topic, data)
|
|
294
299
|
|
|
295
300
|
await defer.promise
|
|
296
301
|
})
|
|
@@ -357,11 +362,14 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
357
362
|
let subscribedTopics = psA.getTopics()
|
|
358
363
|
expect(subscribedTopics).to.not.include(topic)
|
|
359
364
|
|
|
360
|
-
psA.
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
+
psA.subscribe(topic)
|
|
366
|
+
psA.addEventListener('message', (evt) => {
|
|
367
|
+
if (evt.detail.topic === topic) {
|
|
368
|
+
const msg = evt.detail
|
|
369
|
+
expect(msg.data).to.equalBytes(data)
|
|
370
|
+
counter++
|
|
371
|
+
counter === 1 ? defer1.resolve() : defer2.resolve()
|
|
372
|
+
}
|
|
365
373
|
})
|
|
366
374
|
psA.subscribe(topic)
|
|
367
375
|
|
|
@@ -373,7 +381,7 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
373
381
|
const subscribedPeers = psB.getSubscribers(topic)
|
|
374
382
|
return subscribedPeers.map(p => p.toString()).includes(peerA.toString())
|
|
375
383
|
})
|
|
376
|
-
|
|
384
|
+
psB.publish(topic, data)
|
|
377
385
|
|
|
378
386
|
await defer1.promise
|
|
379
387
|
|
|
@@ -406,7 +414,7 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
406
414
|
return subscribedPeers.toString().includes(peerA.toString())
|
|
407
415
|
})
|
|
408
416
|
|
|
409
|
-
|
|
417
|
+
psB.publish(topic, data)
|
|
410
418
|
|
|
411
419
|
await defer2.promise
|
|
412
420
|
})
|
|
@@ -417,8 +425,13 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
417
425
|
let aReceivedSecondMessageFromB = false
|
|
418
426
|
let bReceivedFirstMessageFromA = false
|
|
419
427
|
let bReceivedSecondMessageFromA = false
|
|
428
|
+
const topic = 'reconnect-channel'
|
|
420
429
|
|
|
421
430
|
const handlerSpyA = (evt: CustomEvent<Message>) => {
|
|
431
|
+
if (evt.detail.topic !== topic) {
|
|
432
|
+
return
|
|
433
|
+
}
|
|
434
|
+
|
|
422
435
|
const message = evt.detail
|
|
423
436
|
const data = uint8ArrayToString(message.data)
|
|
424
437
|
|
|
@@ -431,6 +444,10 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
431
444
|
}
|
|
432
445
|
}
|
|
433
446
|
const handlerSpyB = (evt: CustomEvent<Message>) => {
|
|
447
|
+
if (evt.detail.topic !== topic) {
|
|
448
|
+
return
|
|
449
|
+
}
|
|
450
|
+
|
|
434
451
|
const message = evt.detail
|
|
435
452
|
const data = uint8ArrayToString(message.data)
|
|
436
453
|
|
|
@@ -443,10 +460,8 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
443
460
|
}
|
|
444
461
|
}
|
|
445
462
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
psA.addEventListener(topic, handlerSpyA)
|
|
449
|
-
psB.addEventListener(topic, handlerSpyB)
|
|
463
|
+
psA.addEventListener('message', handlerSpyA)
|
|
464
|
+
psB.addEventListener('message', handlerSpyB)
|
|
450
465
|
psA.subscribe(topic)
|
|
451
466
|
psB.subscribe(topic)
|
|
452
467
|
|
|
@@ -470,8 +485,8 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
470
485
|
})
|
|
471
486
|
|
|
472
487
|
// Verify messages go both ways
|
|
473
|
-
|
|
474
|
-
|
|
488
|
+
psA.publish(topic, uint8ArrayFromString('message-from-a-1'))
|
|
489
|
+
psB.publish(topic, uint8ArrayFromString('message-from-b-1'))
|
|
475
490
|
await pWaitFor(() => {
|
|
476
491
|
return aReceivedFirstMessageFromB && bReceivedFirstMessageFromA
|
|
477
492
|
})
|
|
@@ -484,8 +499,8 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
484
499
|
await pWaitFor(() => psAConnUpdateSpy.callCount === 1)
|
|
485
500
|
|
|
486
501
|
// Verify messages go both ways after the disconnect
|
|
487
|
-
|
|
488
|
-
|
|
502
|
+
psA.publish(topic, uint8ArrayFromString('message-from-a-2'))
|
|
503
|
+
psB.publish(topic, uint8ArrayFromString('message-from-b-2'))
|
|
489
504
|
await pWaitFor(() => {
|
|
490
505
|
return aReceivedSecondMessageFromB && bReceivedSecondMessageFromA
|
|
491
506
|
})
|
package/src/pubsub/emit-self.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { expect } from 'aegir/
|
|
1
|
+
import { expect } from 'aegir/chai'
|
|
2
2
|
import sinon from 'sinon'
|
|
3
3
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
4
4
|
import { createEd25519PeerId } from '@libp2p/peer-id-factory'
|
|
5
5
|
import { mockRegistrar } from '../mocks/registrar.js'
|
|
6
|
-
import { CustomEvent } from '@libp2p/interfaces'
|
|
7
6
|
import type { TestSetup } from '../index.js'
|
|
8
7
|
import type { PubSubArgs } from './index.js'
|
|
9
8
|
import type { PubSubBaseProtocol } from '@libp2p/pubsub'
|
|
@@ -43,11 +42,17 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
43
42
|
})
|
|
44
43
|
|
|
45
44
|
it('should emit to self on publish', async () => {
|
|
46
|
-
const promise = new Promise((resolve) =>
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
const promise = new Promise<void>((resolve) => {
|
|
46
|
+
pubsub.addEventListener('message', (evt) => {
|
|
47
|
+
if (evt.detail.topic === topic) {
|
|
48
|
+
resolve()
|
|
49
|
+
}
|
|
50
|
+
}, {
|
|
51
|
+
once: true
|
|
52
|
+
})
|
|
53
|
+
})
|
|
49
54
|
|
|
50
|
-
|
|
55
|
+
pubsub.publish(topic, data)
|
|
51
56
|
|
|
52
57
|
return await promise
|
|
53
58
|
})
|
|
@@ -78,11 +83,11 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
78
83
|
})
|
|
79
84
|
|
|
80
85
|
it('should not emit to self on publish', async () => {
|
|
81
|
-
pubsub.addEventListener(
|
|
86
|
+
pubsub.addEventListener('message', shouldNotHappen, {
|
|
82
87
|
once: true
|
|
83
88
|
})
|
|
84
89
|
|
|
85
|
-
|
|
90
|
+
pubsub.publish(topic, data)
|
|
86
91
|
|
|
87
92
|
// Wait 1 second to guarantee that self is not noticed
|
|
88
93
|
return await new Promise((resolve) => setTimeout(resolve, 1000))
|
package/src/pubsub/messages.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { expect } from 'aegir/
|
|
1
|
+
import { expect } from 'aegir/chai'
|
|
2
2
|
import sinon from 'sinon'
|
|
3
3
|
import { createEd25519PeerId } from '@libp2p/peer-id-factory'
|
|
4
4
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
@@ -8,7 +8,6 @@ import { mockRegistrar } from '../mocks/registrar.js'
|
|
|
8
8
|
import pDefer from 'p-defer'
|
|
9
9
|
import delay from 'delay'
|
|
10
10
|
import pWaitFor from 'p-wait-for'
|
|
11
|
-
import { CustomEvent } from '@libp2p/interfaces'
|
|
12
11
|
import type { TestSetup } from '../index.js'
|
|
13
12
|
import type { PubSubRPC } from '@libp2p/interfaces/pubsub'
|
|
14
13
|
import type { PubSubArgs } from './index.js'
|
|
@@ -52,7 +51,7 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
52
51
|
|
|
53
52
|
const spy = sinon.spy(pubsub, 'publishMessage')
|
|
54
53
|
|
|
55
|
-
await pubsub.
|
|
54
|
+
await pubsub.publish(topic, data)
|
|
56
55
|
|
|
57
56
|
await pWaitFor(async () => {
|
|
58
57
|
return spy.callCount === 1
|
|
@@ -120,8 +119,10 @@ export default (common: TestSetup<PubSubBaseProtocol, PubSubArgs>) => {
|
|
|
120
119
|
|
|
121
120
|
const deferred = pDefer()
|
|
122
121
|
|
|
123
|
-
pubsub.addEventListener(
|
|
124
|
-
|
|
122
|
+
pubsub.addEventListener('message', (evt) => {
|
|
123
|
+
if (evt.detail.topic === topic) {
|
|
124
|
+
deferred.resolve()
|
|
125
|
+
}
|
|
125
126
|
})
|
|
126
127
|
|
|
127
128
|
await pubsub.processRpc(peerStream.id, peerStream, rpc)
|