@libp2p/interface-compliance-tests 1.1.10 → 1.1.11
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/pubsub/multiple-nodes.d.ts.map +1 -1
- package/dist/src/pubsub/multiple-nodes.js +19 -34
- 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 +21 -7
- package/dist/src/pubsub/two-nodes.js.map +1 -1
- package/dist/src/pubsub/utils.d.ts +3 -0
- package/dist/src/pubsub/utils.d.ts.map +1 -0
- package/dist/src/pubsub/utils.js +9 -0
- package/dist/src/pubsub/utils.js.map +1 -0
- package/package.json +2 -1
- package/src/pubsub/multiple-nodes.ts +20 -38
- package/src/pubsub/two-nodes.ts +22 -7
- package/src/pubsub/utils.ts +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiple-nodes.d.ts","sourceRoot":"","sources":["../../../src/pubsub/multiple-nodes.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;iCAEhC,UAAU,mBAAmB,QAAQ,CAAC,EAAE,aAAa,CAAC;AAA9E,
|
|
1
|
+
{"version":3,"file":"multiple-nodes.d.ts","sourceRoot":"","sources":["../../../src/pubsub/multiple-nodes.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;iCAEhC,UAAU,mBAAmB,QAAQ,CAAC,EAAE,aAAa,CAAC;AAA9E,wBAocC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/* eslint max-nested-callbacks: ["error", 6] */
|
|
2
2
|
import { expect } from 'aegir/utils/chai.js';
|
|
3
3
|
import sinon from 'sinon';
|
|
4
|
-
import delay from 'delay';
|
|
5
4
|
import pDefer from 'p-defer';
|
|
6
5
|
import pWaitFor from 'p-wait-for';
|
|
7
6
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
@@ -9,6 +8,7 @@ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
|
9
8
|
import { createEd25519PeerId } from '@libp2p/peer-id-factory';
|
|
10
9
|
import { connectPeers, mockRegistrar } from '../mocks/registrar.js';
|
|
11
10
|
import { CustomEvent } from '@libp2p/interfaces';
|
|
11
|
+
import { waitForSubscriptionUpdate } from './utils.js';
|
|
12
12
|
export default (common) => {
|
|
13
13
|
describe('pubsub with multiple nodes', function () {
|
|
14
14
|
describe('every peer subscribes to the topic', () => {
|
|
@@ -81,9 +81,7 @@ export default (common) => {
|
|
|
81
81
|
const topic = 'Z';
|
|
82
82
|
psA.subscribe(topic);
|
|
83
83
|
expect(psA.getTopics()).to.deep.equal([topic]);
|
|
84
|
-
await
|
|
85
|
-
once: true
|
|
86
|
-
}));
|
|
84
|
+
await waitForSubscriptionUpdate(psB, psA);
|
|
87
85
|
expect(psB.getPeers().length).to.equal(2);
|
|
88
86
|
expect(psB.getSubscribers(topic).map(p => p.toString())).to.deep.equal([peerIdA.toString()]);
|
|
89
87
|
expect(psC.getPeers().length).to.equal(1);
|
|
@@ -94,12 +92,8 @@ export default (common) => {
|
|
|
94
92
|
psB.subscribe(topic);
|
|
95
93
|
expect(psB.getTopics()).to.deep.equal([topic]);
|
|
96
94
|
await Promise.all([
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
})),
|
|
100
|
-
new Promise((resolve) => psC.addEventListener('pubsub:subscription-change', resolve, {
|
|
101
|
-
once: true
|
|
102
|
-
}))
|
|
95
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
96
|
+
waitForSubscriptionUpdate(psC, psB)
|
|
103
97
|
]);
|
|
104
98
|
expect(psA.getPeers().length).to.equal(1);
|
|
105
99
|
expect(psA.getSubscribers(topic).map(p => p.toString())).to.deep.equal([peerIdB.toString()]);
|
|
@@ -124,28 +118,18 @@ export default (common) => {
|
|
|
124
118
|
it('publish on node a', async () => {
|
|
125
119
|
const topic = 'Z';
|
|
126
120
|
const defer = pDefer();
|
|
127
|
-
// await subscription change
|
|
128
|
-
const p = Promise.all([
|
|
129
|
-
new Promise(resolve => psA.addEventListener('pubsub:subscription-change', () => resolve(), {
|
|
130
|
-
once: true
|
|
131
|
-
})),
|
|
132
|
-
new Promise(resolve => psB.addEventListener('pubsub:subscription-change', () => resolve(), {
|
|
133
|
-
once: true
|
|
134
|
-
})),
|
|
135
|
-
new Promise(resolve => psC.addEventListener('pubsub:subscription-change', () => resolve(), {
|
|
136
|
-
once: true
|
|
137
|
-
}))
|
|
138
|
-
]);
|
|
139
121
|
psA.subscribe(topic);
|
|
140
122
|
psB.subscribe(topic);
|
|
141
123
|
psC.subscribe(topic);
|
|
142
|
-
await p;
|
|
143
124
|
let counter = 0;
|
|
144
125
|
psA.addEventListener(topic, incMsg);
|
|
145
126
|
psB.addEventListener(topic, incMsg);
|
|
146
127
|
psC.addEventListener(topic, incMsg);
|
|
147
|
-
|
|
148
|
-
|
|
128
|
+
await Promise.all([
|
|
129
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
130
|
+
waitForSubscriptionUpdate(psB, psA),
|
|
131
|
+
waitForSubscriptionUpdate(psC, psB)
|
|
132
|
+
]);
|
|
149
133
|
void psA.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('hey') }));
|
|
150
134
|
function incMsg(evt) {
|
|
151
135
|
const msg = evt.detail;
|
|
@@ -192,8 +176,11 @@ export default (common) => {
|
|
|
192
176
|
psA.addEventListener(topic, incMsg);
|
|
193
177
|
psB.addEventListener(topic, incMsg);
|
|
194
178
|
psC.addEventListener(topic, incMsg);
|
|
195
|
-
|
|
196
|
-
|
|
179
|
+
await Promise.all([
|
|
180
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
181
|
+
waitForSubscriptionUpdate(psB, psA),
|
|
182
|
+
waitForSubscriptionUpdate(psC, psB)
|
|
183
|
+
]);
|
|
197
184
|
void psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('hey') }));
|
|
198
185
|
function incMsg(evt) {
|
|
199
186
|
const msg = evt.detail;
|
|
@@ -342,14 +329,12 @@ export default (common) => {
|
|
|
342
329
|
psE.subscribe('Z');
|
|
343
330
|
psE.addEventListener('Z', incMsg);
|
|
344
331
|
await Promise.all([
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
332
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
333
|
+
waitForSubscriptionUpdate(psB, psA),
|
|
334
|
+
waitForSubscriptionUpdate(psC, psB),
|
|
335
|
+
waitForSubscriptionUpdate(psD, psC),
|
|
336
|
+
waitForSubscriptionUpdate(psE, psD)
|
|
350
337
|
]);
|
|
351
|
-
// await a cycle
|
|
352
|
-
await delay(1000);
|
|
353
338
|
void psC.dispatchEvent(new CustomEvent('Z', { detail: uint8ArrayFromString('hey from c') }));
|
|
354
339
|
function incMsg(evt) {
|
|
355
340
|
const msg = evt.detail;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiple-nodes.js","sourceRoot":"","sources":["../../../src/pubsub/multiple-nodes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"multiple-nodes.js","sourceRoot":"","sources":["../../../src/pubsub/multiple-nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"two-nodes.d.ts","sourceRoot":"","sources":["../../../src/pubsub/two-nodes.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;iCAQhC,UAAU,mBAAmB,QAAQ,CAAC,EAAE,aAAa,CAAC;AAA9E,
|
|
1
|
+
{"version":3,"file":"two-nodes.d.ts","sourceRoot":"","sources":["../../../src/pubsub/two-nodes.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;iCAQhC,UAAU,mBAAmB,QAAQ,CAAC,EAAE,aAAa,CAAC;AAA9E,wBA8OC"}
|
|
@@ -8,7 +8,7 @@ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
|
8
8
|
import { connectPeers, mockRegistrar } from '../mocks/registrar.js';
|
|
9
9
|
import { createEd25519PeerId } from '@libp2p/peer-id-factory';
|
|
10
10
|
import { CustomEvent } from '@libp2p/interfaces';
|
|
11
|
-
import
|
|
11
|
+
import { waitForSubscriptionUpdate } from './utils.js';
|
|
12
12
|
const topic = 'foo';
|
|
13
13
|
function shouldNotHappen() {
|
|
14
14
|
expect.fail();
|
|
@@ -22,7 +22,7 @@ export default (common) => {
|
|
|
22
22
|
let registrarA;
|
|
23
23
|
let registrarB;
|
|
24
24
|
// Create pubsub nodes and connect them
|
|
25
|
-
|
|
25
|
+
beforeEach(async () => {
|
|
26
26
|
peerIdA = await createEd25519PeerId();
|
|
27
27
|
peerIdB = await createEd25519PeerId();
|
|
28
28
|
registrarA = mockRegistrar();
|
|
@@ -34,7 +34,8 @@ export default (common) => {
|
|
|
34
34
|
});
|
|
35
35
|
psB = await common.setup({
|
|
36
36
|
peerId: peerIdB,
|
|
37
|
-
registrar: registrarB
|
|
37
|
+
registrar: registrarB,
|
|
38
|
+
emitSelf: false
|
|
38
39
|
});
|
|
39
40
|
// Start pubsub and connect nodes
|
|
40
41
|
await psA.start();
|
|
@@ -51,7 +52,7 @@ export default (common) => {
|
|
|
51
52
|
// Wait for peers to be ready in pubsub
|
|
52
53
|
await pWaitFor(() => psA.getPeers().length === 1 && psB.getPeers().length === 1);
|
|
53
54
|
});
|
|
54
|
-
|
|
55
|
+
afterEach(async () => {
|
|
55
56
|
sinon.restore();
|
|
56
57
|
await psA.stop();
|
|
57
58
|
await psB.stop();
|
|
@@ -88,7 +89,10 @@ export default (common) => {
|
|
|
88
89
|
psB.addEventListener(topic, shouldNotHappen, {
|
|
89
90
|
once: true
|
|
90
91
|
});
|
|
91
|
-
await
|
|
92
|
+
await Promise.all([
|
|
93
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
94
|
+
waitForSubscriptionUpdate(psB, psA)
|
|
95
|
+
]);
|
|
92
96
|
void psA.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('hey') }));
|
|
93
97
|
return await defer.promise;
|
|
94
98
|
});
|
|
@@ -111,7 +115,10 @@ export default (common) => {
|
|
|
111
115
|
psB.addEventListener(topic, shouldNotHappen, {
|
|
112
116
|
once: true
|
|
113
117
|
});
|
|
114
|
-
await
|
|
118
|
+
await Promise.all([
|
|
119
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
120
|
+
waitForSubscriptionUpdate(psB, psA)
|
|
121
|
+
]);
|
|
115
122
|
void psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') }));
|
|
116
123
|
return await defer.promise;
|
|
117
124
|
});
|
|
@@ -134,7 +141,10 @@ export default (common) => {
|
|
|
134
141
|
defer.resolve();
|
|
135
142
|
}
|
|
136
143
|
}
|
|
137
|
-
await
|
|
144
|
+
await Promise.all([
|
|
145
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
146
|
+
waitForSubscriptionUpdate(psB, psA)
|
|
147
|
+
]);
|
|
138
148
|
Array.from({ length: 10 }, (_, i) => psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') })));
|
|
139
149
|
return await defer.promise;
|
|
140
150
|
});
|
|
@@ -180,6 +190,10 @@ export default (common) => {
|
|
|
180
190
|
psB.addEventListener(topic, shouldNotHappen, {
|
|
181
191
|
once: true
|
|
182
192
|
});
|
|
193
|
+
await Promise.all([
|
|
194
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
195
|
+
waitForSubscriptionUpdate(psB, psA)
|
|
196
|
+
]);
|
|
183
197
|
setTimeout(() => {
|
|
184
198
|
psA.removeEventListener(topic, shouldNotHappen);
|
|
185
199
|
psB.removeEventListener(topic, shouldNotHappen);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"two-nodes.js","sourceRoot":"","sources":["../../../src/pubsub/two-nodes.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"two-nodes.js","sourceRoot":"","sources":["../../../src/pubsub/two-nodes.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAQtD,MAAM,KAAK,GAAG,KAAK,CAAA;AAEnB,SAAS,eAAe;IACtB,MAAM,CAAC,IAAI,EAAE,CAAA;AACf,CAAC;AAED,eAAe,CAAC,MAA8D,EAAE,EAAE;IAChF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,IAAI,GAAiC,CAAA;QACrC,IAAI,GAAiC,CAAA;QACrC,IAAI,OAAe,CAAA;QACnB,IAAI,OAAe,CAAA;QACnB,IAAI,UAAqB,CAAA;QACzB,IAAI,UAAqB,CAAA;QAEzB,uCAAuC;QACvC,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAA;YACrC,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAA;YAErC,UAAU,GAAG,aAAa,EAAE,CAAA;YAC5B,UAAU,GAAG,aAAa,EAAE,CAAA;YAE5B,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBACvB,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;YACF,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBACvB,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;YAEF,iCAAiC;YACjC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;YACjB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;YAEjB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAEpC,MAAM,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;gBACrC,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,UAAU;aACtB,EAAE;gBACD,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,UAAU;aACtB,CAAC,CAAA;YAEF,uCAAuC;YACvC,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;QAClF,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,EAAE,CAAA;YAEf,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAChB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAEhB,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;YAEtB,GAAG,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;gBACxE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC9C,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAC1C,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;gBAC5F,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBACtD,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACvC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC5C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC/C,KAAK,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC,EAAE;gBACD,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YACF,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAEpB,OAAO,MAAM,KAAK,CAAC,OAAO,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;YAEtB,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;gBACtB,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACpD,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;gBAC/C,KAAK,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC,EAAE;gBACD,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE;gBAC3C,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC;gBACnC,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC;aACpC,CAAC,CAAA;YAEF,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;YAEvF,OAAO,MAAM,KAAK,CAAC,OAAO,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;YAEtB,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;gBACtB,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE;oBAC3C,IAAI,EAAE,IAAI;iBACX,CAAC,CAAA;gBACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAEvD,UAAU,CAAC,GAAG,EAAE;oBACd,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;oBAC/C,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;oBAE/C,KAAK,CAAC,OAAO,EAAE,CAAA;gBACjB,CAAC,EAAE,GAAG,CAAC,CAAA;YACT,CAAC,EAAE;gBACD,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE;gBAC3C,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC;gBACnC,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC;aACpC,CAAC,CAAA;YAEF,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAE1F,OAAO,MAAM,KAAK,CAAC,OAAO,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;YACtB,IAAI,OAAO,GAAG,CAAC,CAAA;YAEf,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE;gBAC3C,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YACF,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YAExC,SAAS,WAAW,CAAE,GAAyB;gBAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;gBACtB,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACvD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACxD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;gBACnC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAEpC,IAAI,EAAE,OAAO,KAAK,EAAE,EAAE;oBACpB,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;oBAC3C,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;oBAE/C,KAAK,CAAC,OAAO,EAAE,CAAA;iBAChB;YACH,CAAC;YAED,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC;gBACnC,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC;aACpC,CAAC,CAAA;YAEF,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAE3H,OAAO,MAAM,KAAK,CAAC,OAAO,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;YACtB,IAAI,SAAS,GAAG,CAAC,CAAA;YAEjB,GAAG,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzD,SAAS,EAAE,CAAA;gBAEX,IAAI,SAAS,KAAK,CAAC,EAAE;oBACnB,mBAAmB;oBACnB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;oBACxE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;oBACrC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;oBACtD,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACvC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAC5C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;iBAChD;qBAAM;oBACL,qBAAqB;oBACrB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;oBACxE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;oBACrC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;oBACtD,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACvC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAC5C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAEhD,KAAK,CAAC,OAAO,EAAE,CAAA;iBAChB;YACH,CAAC,CAAC,CAAA;YAEF,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACpB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAEzC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACtB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAErC,OAAO,MAAM,KAAK,CAAC,OAAO,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;YACtB,MAAM,KAAK,GAAG,GAAG,CAAA;YAEjB,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE;gBAC3C,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YACF,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE;gBAC3C,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC;gBACnC,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC;aACpC,CAAC,CAAA;YAEF,UAAU,CAAC,GAAG,EAAE;gBACd,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;gBAC/C,GAAG,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;gBAC/C,KAAK,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC,EAAE,GAAG,CAAC,CAAA;YAEP,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAC1F,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAE1F,OAAO,MAAM,KAAK,CAAC,OAAO,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/pubsub/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,wBAAsB,yBAAyB,CAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,iBAM5F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { pEvent } from 'p-event';
|
|
2
|
+
import pWaitFor from 'p-wait-for';
|
|
3
|
+
export async function waitForSubscriptionUpdate(a, b) {
|
|
4
|
+
await pWaitFor(async () => {
|
|
5
|
+
const event = await pEvent(a, 'pubsub:subscription-change');
|
|
6
|
+
return event.detail.peerId.equals(b.peerId);
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/pubsub/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,QAAQ,MAAM,YAAY,CAAA;AAIjC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAE,CAAqB,EAAE,CAAqB;IAC3F,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAoE,CAAC,EAAE,4BAA4B,CAAC,CAAA;QAE9H,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
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.11",
|
|
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",
|
|
@@ -218,6 +218,7 @@
|
|
|
218
218
|
"it-pushable": "^2.0.1",
|
|
219
219
|
"it-stream-types": "^1.0.4",
|
|
220
220
|
"multiformats": "^9.4.10",
|
|
221
|
+
"p-event": "^5.0.1",
|
|
221
222
|
"p-defer": "^4.0.0",
|
|
222
223
|
"p-limit": "^4.0.0",
|
|
223
224
|
"p-wait-for": "^4.1.0",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/* eslint max-nested-callbacks: ["error", 6] */
|
|
2
2
|
import { expect } from 'aegir/utils/chai.js'
|
|
3
3
|
import sinon from 'sinon'
|
|
4
|
-
import delay from 'delay'
|
|
5
4
|
import pDefer from 'p-defer'
|
|
6
5
|
import pWaitFor from 'p-wait-for'
|
|
7
6
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
|
@@ -9,6 +8,7 @@ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
|
9
8
|
import { createEd25519PeerId } from '@libp2p/peer-id-factory'
|
|
10
9
|
import { connectPeers, mockRegistrar } from '../mocks/registrar.js'
|
|
11
10
|
import { CustomEvent } from '@libp2p/interfaces'
|
|
11
|
+
import { waitForSubscriptionUpdate } from './utils.js'
|
|
12
12
|
import type { TestSetup } from '../index.js'
|
|
13
13
|
import type { Message, PubSubOptions } from '@libp2p/interfaces/pubsub'
|
|
14
14
|
import type { EventMap } from './index.js'
|
|
@@ -106,11 +106,9 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
106
106
|
psA.subscribe(topic)
|
|
107
107
|
expect(psA.getTopics()).to.deep.equal([topic])
|
|
108
108
|
|
|
109
|
-
await
|
|
110
|
-
once: true
|
|
111
|
-
}))
|
|
112
|
-
expect(psB.getPeers().length).to.equal(2)
|
|
109
|
+
await waitForSubscriptionUpdate(psB, psA)
|
|
113
110
|
|
|
111
|
+
expect(psB.getPeers().length).to.equal(2)
|
|
114
112
|
expect(psB.getSubscribers(topic).map(p => p.toString())).to.deep.equal([peerIdA.toString()])
|
|
115
113
|
|
|
116
114
|
expect(psC.getPeers().length).to.equal(1)
|
|
@@ -123,12 +121,8 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
123
121
|
expect(psB.getTopics()).to.deep.equal([topic])
|
|
124
122
|
|
|
125
123
|
await Promise.all([
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
})),
|
|
129
|
-
new Promise((resolve) => psC.addEventListener('pubsub:subscription-change', resolve, {
|
|
130
|
-
once: true
|
|
131
|
-
}))
|
|
124
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
125
|
+
waitForSubscriptionUpdate(psC, psB)
|
|
132
126
|
])
|
|
133
127
|
|
|
134
128
|
expect(psA.getPeers().length).to.equal(1)
|
|
@@ -162,33 +156,21 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
162
156
|
const topic = 'Z'
|
|
163
157
|
const defer = pDefer()
|
|
164
158
|
|
|
165
|
-
// await subscription change
|
|
166
|
-
const p = Promise.all([
|
|
167
|
-
new Promise<void>(resolve => psA.addEventListener('pubsub:subscription-change', () => resolve(), {
|
|
168
|
-
once: true
|
|
169
|
-
})),
|
|
170
|
-
new Promise<void>(resolve => psB.addEventListener('pubsub:subscription-change', () => resolve(), {
|
|
171
|
-
once: true
|
|
172
|
-
})),
|
|
173
|
-
new Promise<void>(resolve => psC.addEventListener('pubsub:subscription-change', () => resolve(), {
|
|
174
|
-
once: true
|
|
175
|
-
}))
|
|
176
|
-
])
|
|
177
|
-
|
|
178
159
|
psA.subscribe(topic)
|
|
179
160
|
psB.subscribe(topic)
|
|
180
161
|
psC.subscribe(topic)
|
|
181
162
|
|
|
182
|
-
await p
|
|
183
|
-
|
|
184
163
|
let counter = 0
|
|
185
164
|
|
|
186
165
|
psA.addEventListener(topic, incMsg)
|
|
187
166
|
psB.addEventListener(topic, incMsg)
|
|
188
167
|
psC.addEventListener(topic, incMsg)
|
|
189
168
|
|
|
190
|
-
|
|
191
|
-
|
|
169
|
+
await Promise.all([
|
|
170
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
171
|
+
waitForSubscriptionUpdate(psB, psA),
|
|
172
|
+
waitForSubscriptionUpdate(psC, psB)
|
|
173
|
+
])
|
|
192
174
|
|
|
193
175
|
void psA.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('hey') }))
|
|
194
176
|
|
|
@@ -245,8 +227,11 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
245
227
|
psB.addEventListener(topic, incMsg)
|
|
246
228
|
psC.addEventListener(topic, incMsg)
|
|
247
229
|
|
|
248
|
-
|
|
249
|
-
|
|
230
|
+
await Promise.all([
|
|
231
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
232
|
+
waitForSubscriptionUpdate(psB, psA),
|
|
233
|
+
waitForSubscriptionUpdate(psC, psB)
|
|
234
|
+
])
|
|
250
235
|
|
|
251
236
|
void psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('hey') }))
|
|
252
237
|
|
|
@@ -417,16 +402,13 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
417
402
|
psE.addEventListener('Z', incMsg)
|
|
418
403
|
|
|
419
404
|
await Promise.all([
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
405
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
406
|
+
waitForSubscriptionUpdate(psB, psA),
|
|
407
|
+
waitForSubscriptionUpdate(psC, psB),
|
|
408
|
+
waitForSubscriptionUpdate(psD, psC),
|
|
409
|
+
waitForSubscriptionUpdate(psE, psD)
|
|
425
410
|
])
|
|
426
411
|
|
|
427
|
-
// await a cycle
|
|
428
|
-
await delay(1000)
|
|
429
|
-
|
|
430
412
|
void psC.dispatchEvent(new CustomEvent('Z', { detail: uint8ArrayFromString('hey from c') }))
|
|
431
413
|
|
|
432
414
|
function incMsg (evt: CustomEvent<Message>) {
|
package/src/pubsub/two-nodes.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
|
8
8
|
import { connectPeers, mockRegistrar } from '../mocks/registrar.js'
|
|
9
9
|
import { createEd25519PeerId } from '@libp2p/peer-id-factory'
|
|
10
10
|
import { CustomEvent } from '@libp2p/interfaces'
|
|
11
|
-
import
|
|
11
|
+
import { waitForSubscriptionUpdate } from './utils.js'
|
|
12
12
|
import type { TestSetup } from '../index.js'
|
|
13
13
|
import type { Message, PubSubOptions } from '@libp2p/interfaces/pubsub'
|
|
14
14
|
import type { EventMap } from './index.js'
|
|
@@ -32,7 +32,7 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
32
32
|
let registrarB: Registrar
|
|
33
33
|
|
|
34
34
|
// Create pubsub nodes and connect them
|
|
35
|
-
|
|
35
|
+
beforeEach(async () => {
|
|
36
36
|
peerIdA = await createEd25519PeerId()
|
|
37
37
|
peerIdB = await createEd25519PeerId()
|
|
38
38
|
|
|
@@ -46,7 +46,8 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
46
46
|
})
|
|
47
47
|
psB = await common.setup({
|
|
48
48
|
peerId: peerIdB,
|
|
49
|
-
registrar: registrarB
|
|
49
|
+
registrar: registrarB,
|
|
50
|
+
emitSelf: false
|
|
50
51
|
})
|
|
51
52
|
|
|
52
53
|
// Start pubsub and connect nodes
|
|
@@ -68,7 +69,7 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
68
69
|
await pWaitFor(() => psA.getPeers().length === 1 && psB.getPeers().length === 1)
|
|
69
70
|
})
|
|
70
71
|
|
|
71
|
-
|
|
72
|
+
afterEach(async () => {
|
|
72
73
|
sinon.restore()
|
|
73
74
|
|
|
74
75
|
await psA.stop()
|
|
@@ -114,7 +115,10 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
114
115
|
once: true
|
|
115
116
|
})
|
|
116
117
|
|
|
117
|
-
await
|
|
118
|
+
await Promise.all([
|
|
119
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
120
|
+
waitForSubscriptionUpdate(psB, psA)
|
|
121
|
+
])
|
|
118
122
|
|
|
119
123
|
void psA.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('hey') }))
|
|
120
124
|
|
|
@@ -145,7 +149,10 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
145
149
|
once: true
|
|
146
150
|
})
|
|
147
151
|
|
|
148
|
-
await
|
|
152
|
+
await Promise.all([
|
|
153
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
154
|
+
waitForSubscriptionUpdate(psB, psA)
|
|
155
|
+
])
|
|
149
156
|
|
|
150
157
|
void psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') }))
|
|
151
158
|
|
|
@@ -176,7 +183,10 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
176
183
|
}
|
|
177
184
|
}
|
|
178
185
|
|
|
179
|
-
await
|
|
186
|
+
await Promise.all([
|
|
187
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
188
|
+
waitForSubscriptionUpdate(psB, psA)
|
|
189
|
+
])
|
|
180
190
|
|
|
181
191
|
Array.from({ length: 10 }, (_, i) => psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') })))
|
|
182
192
|
|
|
@@ -233,6 +243,11 @@ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>)
|
|
|
233
243
|
once: true
|
|
234
244
|
})
|
|
235
245
|
|
|
246
|
+
await Promise.all([
|
|
247
|
+
waitForSubscriptionUpdate(psA, psB),
|
|
248
|
+
waitForSubscriptionUpdate(psB, psA)
|
|
249
|
+
])
|
|
250
|
+
|
|
236
251
|
setTimeout(() => {
|
|
237
252
|
psA.removeEventListener(topic, shouldNotHappen)
|
|
238
253
|
psB.removeEventListener(topic, shouldNotHappen)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { pEvent } from 'p-event'
|
|
2
|
+
import pWaitFor from 'p-wait-for'
|
|
3
|
+
import type { SubscriptionChangeData } from '@libp2p/interfaces/src/pubsub'
|
|
4
|
+
import type { PubsubBaseProtocol } from '@libp2p/pubsub'
|
|
5
|
+
|
|
6
|
+
export async function waitForSubscriptionUpdate (a: PubsubBaseProtocol, b: PubsubBaseProtocol) {
|
|
7
|
+
await pWaitFor(async () => {
|
|
8
|
+
const event = await pEvent<'pubsub:subscription-change', CustomEvent<SubscriptionChangeData>>(a, 'pubsub:subscription-change')
|
|
9
|
+
|
|
10
|
+
return event.detail.peerId.equals(b.peerId)
|
|
11
|
+
})
|
|
12
|
+
}
|