@libp2p/interface-compliance-tests 1.1.5 → 1.1.9

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.
Files changed (92) hide show
  1. package/dist/src/mocks/connection.d.ts +9 -2
  2. package/dist/src/mocks/connection.d.ts.map +1 -1
  3. package/dist/src/mocks/connection.js +44 -20
  4. package/dist/src/mocks/connection.js.map +1 -1
  5. package/dist/src/mocks/multiaddr-connection.d.ts +2 -1
  6. package/dist/src/mocks/multiaddr-connection.d.ts.map +1 -1
  7. package/dist/src/mocks/multiaddr-connection.js +2 -2
  8. package/dist/src/mocks/multiaddr-connection.js.map +1 -1
  9. package/dist/src/mocks/muxer.d.ts +2 -2
  10. package/dist/src/mocks/muxer.d.ts.map +1 -1
  11. package/dist/src/mocks/muxer.js +175 -26
  12. package/dist/src/mocks/muxer.js.map +1 -1
  13. package/dist/src/mocks/registrar.d.ts +7 -2
  14. package/dist/src/mocks/registrar.d.ts.map +1 -1
  15. package/dist/src/mocks/registrar.js +54 -5
  16. package/dist/src/mocks/registrar.js.map +1 -1
  17. package/dist/src/mocks/upgrader.d.ts.map +1 -1
  18. package/dist/src/mocks/upgrader.js +8 -4
  19. package/dist/src/mocks/upgrader.js.map +1 -1
  20. package/dist/src/pubsub/api.d.ts +2 -2
  21. package/dist/src/pubsub/api.d.ts.map +1 -1
  22. package/dist/src/pubsub/api.js +15 -7
  23. package/dist/src/pubsub/api.js.map +1 -1
  24. package/dist/src/pubsub/connection-handlers.d.ts +2 -2
  25. package/dist/src/pubsub/connection-handlers.d.ts.map +1 -1
  26. package/dist/src/pubsub/connection-handlers.js +53 -51
  27. package/dist/src/pubsub/connection-handlers.js.map +1 -1
  28. package/dist/src/pubsub/emit-self.d.ts +2 -2
  29. package/dist/src/pubsub/emit-self.d.ts.map +1 -1
  30. package/dist/src/pubsub/emit-self.js +12 -2
  31. package/dist/src/pubsub/emit-self.js.map +1 -1
  32. package/dist/src/pubsub/index.d.ts +3 -3
  33. package/dist/src/pubsub/index.d.ts.map +1 -1
  34. package/dist/src/pubsub/index.js.map +1 -1
  35. package/dist/src/pubsub/messages.d.ts +2 -2
  36. package/dist/src/pubsub/messages.d.ts.map +1 -1
  37. package/dist/src/pubsub/messages.js +36 -32
  38. package/dist/src/pubsub/messages.js.map +1 -1
  39. package/dist/src/pubsub/multiple-nodes.d.ts +2 -2
  40. package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -1
  41. package/dist/src/pubsub/multiple-nodes.js +105 -53
  42. package/dist/src/pubsub/multiple-nodes.js.map +1 -1
  43. package/dist/src/pubsub/two-nodes.d.ts +2 -2
  44. package/dist/src/pubsub/two-nodes.d.ts.map +1 -1
  45. package/dist/src/pubsub/two-nodes.js +31 -17
  46. package/dist/src/pubsub/two-nodes.js.map +1 -1
  47. package/dist/src/stream-muxer/base-test.js +1 -1
  48. package/dist/src/stream-muxer/base-test.js.map +1 -1
  49. package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
  50. package/dist/src/stream-muxer/close-test.js +12 -10
  51. package/dist/src/stream-muxer/close-test.js.map +1 -1
  52. package/dist/src/transport/dial-test.d.ts.map +1 -1
  53. package/dist/src/transport/dial-test.js +2 -1
  54. package/dist/src/transport/dial-test.js.map +1 -1
  55. package/dist/src/transport/filter-test.js +1 -1
  56. package/dist/src/transport/filter-test.js.map +1 -1
  57. package/dist/src/transport/listen-test.d.ts.map +1 -1
  58. package/dist/src/transport/listen-test.js +2 -1
  59. package/dist/src/transport/listen-test.js.map +1 -1
  60. package/dist/src/utils/is-valid-tick.d.ts +6 -0
  61. package/dist/src/utils/is-valid-tick.d.ts.map +1 -0
  62. package/dist/src/utils/is-valid-tick.js +15 -0
  63. package/dist/src/utils/is-valid-tick.js.map +1 -0
  64. package/package.json +7 -5
  65. package/src/mocks/connection.ts +62 -20
  66. package/src/mocks/multiaddr-connection.ts +3 -2
  67. package/src/mocks/muxer.ts +230 -28
  68. package/src/mocks/registrar.ts +69 -7
  69. package/src/mocks/upgrader.ts +8 -5
  70. package/src/pubsub/api.ts +19 -9
  71. package/src/pubsub/connection-handlers.ts +61 -55
  72. package/src/pubsub/emit-self.ts +14 -4
  73. package/src/pubsub/index.ts +3 -3
  74. package/src/pubsub/messages.ts +50 -36
  75. package/src/pubsub/multiple-nodes.ts +120 -55
  76. package/src/pubsub/two-nodes.ts +37 -22
  77. package/src/stream-muxer/base-test.ts +1 -1
  78. package/src/stream-muxer/close-test.ts +13 -12
  79. package/src/transport/dial-test.ts +2 -1
  80. package/src/transport/filter-test.ts +1 -1
  81. package/src/transport/listen-test.ts +2 -1
  82. package/src/utils/is-valid-tick.ts +18 -0
  83. package/dist/src/pubsub/utils.d.ts +0 -3
  84. package/dist/src/pubsub/utils.d.ts.map +0 -1
  85. package/dist/src/pubsub/utils.js +0 -11
  86. package/dist/src/pubsub/utils.js.map +0 -1
  87. package/dist/src/transport/utils/index.d.ts +0 -15
  88. package/dist/src/transport/utils/index.d.ts.map +0 -1
  89. package/dist/src/transport/utils/index.js +0 -137
  90. package/dist/src/transport/utils/index.js.map +0 -1
  91. package/src/pubsub/utils.ts +0 -13
  92. package/src/transport/utils/index.ts +0 -172
@@ -3,14 +3,22 @@ import sinon from 'sinon';
3
3
  import pDefer from 'p-defer';
4
4
  import pWaitFor from 'p-wait-for';
5
5
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
6
+ import { mockRegistrar } from '../mocks/registrar.js';
7
+ import { createEd25519PeerId } from '@libp2p/peer-id-factory';
6
8
  const topic = 'foo';
7
9
  const data = uint8ArrayFromString('bar');
8
10
  export default (common) => {
9
11
  describe('pubsub api', () => {
10
12
  let pubsub;
13
+ let registrar;
11
14
  // Create pubsub router
12
15
  beforeEach(async () => {
13
- pubsub = await common.setup();
16
+ registrar = mockRegistrar();
17
+ pubsub = await common.setup({
18
+ peerId: await createEd25519PeerId(),
19
+ registrar,
20
+ emitSelf: true
21
+ });
14
22
  });
15
23
  afterEach(async () => {
16
24
  sinon.restore();
@@ -18,17 +26,17 @@ export default (common) => {
18
26
  await common.teardown();
19
27
  });
20
28
  it('can start correctly', async () => {
21
- sinon.spy(pubsub.registrar, 'register');
29
+ sinon.spy(registrar, 'register');
22
30
  await pubsub.start();
23
- expect(pubsub.started).to.eql(true);
24
- expect(pubsub.registrar.register).to.have.property('callCount', 1);
31
+ expect(pubsub.isStarted()).to.equal(true);
32
+ expect(registrar.register).to.have.property('callCount', 1);
25
33
  });
26
34
  it('can stop correctly', async () => {
27
- sinon.spy(pubsub.registrar, 'unregister');
35
+ sinon.spy(registrar, 'unregister');
28
36
  await pubsub.start();
29
37
  await pubsub.stop();
30
- expect(pubsub.started).to.eql(false);
31
- expect(pubsub.registrar.unregister).to.have.property('callCount', 1);
38
+ expect(pubsub.isStarted()).to.equal(false);
39
+ expect(registrar.unregister).to.have.property('callCount', 1);
32
40
  });
33
41
  it('can subscribe and unsubscribe correctly', async () => {
34
42
  const handler = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/pubsub/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/pubsub/api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { TestSetup } from '../index.js';
2
- import type { PubSub } from '@libp2p/interfaces/pubsub';
2
+ import type { PubSub, PubSubOptions } from '@libp2p/interfaces/pubsub';
3
3
  import type { EventMap } from './index.js';
4
- declare const _default: (common: TestSetup<PubSub<EventMap>>) => void;
4
+ declare const _default: (common: TestSetup<PubSub<EventMap>, PubSubOptions>) => void;
5
5
  export default _default;
6
6
  //# sourceMappingURL=connection-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection-handlers.d.ts","sourceRoot":"","sources":["../../../src/pubsub/connection-handlers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAW,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;iCAElB,UAAU,OAAO,QAAQ,CAAC,CAAC;AAAnD,wBAiWC"}
1
+ {"version":3,"file":"connection-handlers.d.ts","sourceRoot":"","sources":["../../../src/pubsub/connection-handlers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAW,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;iCAMlB,UAAU,OAAO,QAAQ,CAAC,EAAE,aAAa,CAAC;AAAlE,wBAoWC"}
@@ -4,39 +4,53 @@ import pDefer from 'p-defer';
4
4
  import pWaitFor from 'p-wait-for';
5
5
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
6
6
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
7
- import { expectSet } from './utils.js';
7
+ import { createEd25519PeerId } from '@libp2p/peer-id-factory';
8
+ import { connectPeers, mockRegistrar } from '../mocks/registrar.js';
8
9
  export default (common) => {
9
10
  describe('pubsub connection handlers', () => {
10
11
  let psA;
11
12
  let psB;
13
+ let peerA;
14
+ let peerB;
15
+ let registrarA;
16
+ let registrarB;
12
17
  describe('nodes send state on connection', () => {
13
18
  // Create pubsub nodes and connect them
14
19
  before(async () => {
15
- psA = await common.setup();
16
- psB = await common.setup();
17
- expect(psA.peers.size).to.be.eql(0);
18
- expect(psB.peers.size).to.be.eql(0);
20
+ peerA = await createEd25519PeerId();
21
+ peerB = await createEd25519PeerId();
22
+ registrarA = mockRegistrar();
23
+ registrarB = mockRegistrar();
24
+ psA = await common.setup({
25
+ peerId: peerA,
26
+ registrar: registrarA
27
+ });
28
+ psB = await common.setup({
29
+ peerId: peerB,
30
+ registrar: registrarB
31
+ });
19
32
  // Start pubsub
20
33
  await psA.start();
21
34
  await psB.start();
35
+ expect(psA.getPeers()).to.be.empty();
36
+ expect(psB.getPeers()).to.be.empty();
22
37
  });
23
38
  // Make subscriptions prior to nodes connected
24
39
  before(() => {
25
40
  psA.subscribe('Za');
26
41
  psB.subscribe('Zb');
27
- expect(psA.peers.size).to.equal(0);
28
- expectSet(psA.subscriptions, ['Za']);
29
- expect(psB.peers.size).to.equal(0);
30
- expectSet(psB.subscriptions, ['Zb']);
42
+ expect(psA.getPeers()).to.be.empty();
43
+ expect(psA.getTopics()).to.deep.equal(['Za']);
44
+ expect(psB.getPeers()).to.be.empty();
45
+ expect(psB.getTopics()).to.deep.equal(['Zb']);
31
46
  });
32
47
  after(async () => {
33
48
  sinon.restore();
34
49
  await common.teardown();
35
50
  });
36
51
  it('existing subscriptions are sent upon peer connection', async function () {
52
+ await connectPeers(psA.multicodecs[0], registrarA, registrarB, peerA, peerB);
37
53
  await Promise.all([
38
- // @ts-expect-error protected fields
39
- psA._libp2p.dial(psB.peerId),
40
54
  new Promise((resolve) => psA.addEventListener('pubsub:subscription-change', resolve, {
41
55
  once: true
42
56
  })),
@@ -44,12 +58,12 @@ export default (common) => {
44
58
  once: true
45
59
  }))
46
60
  ]);
47
- expect(psA.peers.size).to.equal(1);
48
- expect(psB.peers.size).to.equal(1);
49
- expectSet(psA.subscriptions, ['Za']);
50
- expectSet(psB.topics.get('Za'), [psA.peerId.toString()]);
51
- expectSet(psB.subscriptions, ['Zb']);
52
- expectSet(psA.topics.get('Zb'), [psB.peerId.toString()]);
61
+ expect(psA.getPeers()).to.have.lengthOf(1);
62
+ expect(psB.getPeers()).to.have.lengthOf(1);
63
+ expect(psA.getTopics()).to.deep.equal(['Za']);
64
+ expect(psB.getTopics()).to.deep.equal(['Zb']);
65
+ expect(psA.getSubscribers('Zb')).to.deep.equal([peerB]);
66
+ expect(psB.getSubscribers('Za')).to.deep.equal([peerA]);
53
67
  });
54
68
  });
55
69
  describe('pubsub started before connect', () => {
@@ -65,20 +79,17 @@ export default (common) => {
65
79
  await common.teardown();
66
80
  });
67
81
  it('should get notified of connected peers on dial', async () => {
68
- // @ts-expect-error protected fields
69
- const connection = await psA._libp2p.dial(psB.peerId);
70
- expect(connection).to.exist();
82
+ await connectPeers(psA.multicodecs[0], registrarA, registrarB, peerA, peerB);
71
83
  return await Promise.all([
72
- pWaitFor(() => psA.peers.size === 1),
73
- pWaitFor(() => psB.peers.size === 1)
84
+ pWaitFor(() => psA.getPeers().length === 1),
85
+ pWaitFor(() => psB.getPeers().length === 1)
74
86
  ]);
75
87
  });
76
88
  it('should receive pubsub messages', async () => {
77
89
  const defer = pDefer();
78
90
  const topic = 'test-topic';
79
91
  const data = uint8ArrayFromString('hey!');
80
- // @ts-expect-error protected fields
81
- await psA._libp2p.dial(psB.peerId);
92
+ await connectPeers(psA.multicodecs[0], registrarA, registrarB, peerA, peerB);
82
93
  let subscribedTopics = psA.getTopics();
83
94
  expect(subscribedTopics).to.not.include(topic);
84
95
  psA.addEventListener(topic, (evt) => {
@@ -92,7 +103,7 @@ export default (common) => {
92
103
  // wait for psB to know about psA subscription
93
104
  await pWaitFor(() => {
94
105
  const subscribedPeers = psB.getSubscribers(topic);
95
- return subscribedPeers.includes(psA.peerId.toString());
106
+ return subscribedPeers.includes(peerA);
96
107
  });
97
108
  void psB.publish(topic, data);
98
109
  await defer.promise;
@@ -114,26 +125,25 @@ export default (common) => {
114
125
  // @ts-expect-error protected fields
115
126
  const connection = await psA._libp2p.dial(psB.peerId);
116
127
  expect(connection).to.exist();
117
- expect(psA.peers.size).to.be.eql(0);
118
- expect(psB.peers.size).to.be.eql(0);
128
+ expect(psA.getPeers()).to.be.empty();
129
+ expect(psB.getPeers()).to.be.empty();
119
130
  await psA.start();
120
131
  await psB.start();
121
132
  return await Promise.all([
122
- pWaitFor(() => psA.peers.size === 1),
123
- pWaitFor(() => psB.peers.size === 1)
133
+ pWaitFor(() => psA.getPeers().length === 1),
134
+ pWaitFor(() => psB.getPeers().length === 1)
124
135
  ]);
125
136
  });
126
137
  it('should receive pubsub messages', async () => {
127
138
  const defer = pDefer();
128
139
  const topic = 'test-topic';
129
140
  const data = uint8ArrayFromString('hey!');
130
- // @ts-expect-error protected fields
131
- await psA._libp2p.dial(psB.peerId);
141
+ await connectPeers(psA.multicodecs[0], registrarA, registrarB, peerA, peerB);
132
142
  await psA.start();
133
143
  await psB.start();
134
144
  await Promise.all([
135
- pWaitFor(() => psA.peers.size === 1),
136
- pWaitFor(() => psB.peers.size === 1)
145
+ pWaitFor(() => psA.getPeers().length === 1),
146
+ pWaitFor(() => psB.getPeers().length === 1)
137
147
  ]);
138
148
  let subscribedTopics = psA.getTopics();
139
149
  expect(subscribedTopics).to.not.include(topic);
@@ -148,7 +158,7 @@ export default (common) => {
148
158
  // wait for psB to know about psA subscription
149
159
  await pWaitFor(() => {
150
160
  const subscribedPeers = psB.getSubscribers(topic);
151
- return subscribedPeers.includes(psA.peerId.toString());
161
+ return subscribedPeers.includes(peerA);
152
162
  });
153
163
  void psB.publish(topic, data);
154
164
  await defer.promise;
@@ -168,15 +178,13 @@ export default (common) => {
168
178
  await psB.stop();
169
179
  await common.teardown();
170
180
  });
171
- it('should receive pubsub messages after a node restart', async function () {
181
+ it.skip('should receive pubsub messages after a node restart', async function () {
172
182
  const topic = 'test-topic';
173
183
  const data = uint8ArrayFromString('hey!');
174
- const psAid = psA.peerId.toString();
175
184
  let counter = 0;
176
185
  const defer1 = pDefer();
177
186
  const defer2 = pDefer();
178
- // @ts-expect-error protected fields
179
- await psA._libp2p.dial(psB.peerId);
187
+ await connectPeers(psA.multicodecs[0], registrarA, registrarB, peerA, peerB);
180
188
  let subscribedTopics = psA.getTopics();
181
189
  expect(subscribedTopics).to.not.include(topic);
182
190
  psA.addEventListener(topic, (evt) => {
@@ -191,7 +199,7 @@ export default (common) => {
191
199
  // wait for psB to know about psA subscription
192
200
  await pWaitFor(() => {
193
201
  const subscribedPeers = psB.getSubscribers(topic);
194
- return subscribedPeers.includes(psAid);
202
+ return subscribedPeers.includes(peerA);
195
203
  });
196
204
  void psB.publish(topic, data);
197
205
  await defer1.promise;
@@ -208,19 +216,16 @@ export default (common) => {
208
216
  // @ts-expect-error protected fields
209
217
  await psB._libp2p.start();
210
218
  await psB.start();
211
- // @ts-expect-error protected fields
212
- psA._libp2p.peerStore.addressBook.set(psB.peerId, psB._libp2p.multiaddrs);
213
- // @ts-expect-error protected fields
214
- await psA._libp2p.dial(psB.peerId);
219
+ await connectPeers(psA.multicodecs[0], registrarA, registrarB, peerA, peerB);
215
220
  // wait for remoteLibp2p to know about libp2p subscription
216
221
  await pWaitFor(() => {
217
222
  const subscribedPeers = psB.getSubscribers(topic);
218
- return subscribedPeers.includes(psAid);
223
+ return subscribedPeers.includes(peerA);
219
224
  });
220
225
  void psB.publish(topic, data);
221
226
  await defer2.promise;
222
227
  });
223
- it('should handle quick reconnects with a delayed disconnect', async () => {
228
+ it.skip('should handle quick reconnects with a delayed disconnect', async () => {
224
229
  // Subscribe on both
225
230
  let aReceivedFirstMessageFromB = false;
226
231
  let aReceivedSecondMessageFromB = false;
@@ -255,14 +260,11 @@ export default (common) => {
255
260
  // @ts-expect-error protected fields
256
261
  const originalConnection = await psA._libp2p.dialer.connectToPeer(psB.peerId);
257
262
  // second connection
258
- // @ts-expect-error protected fields
259
- await psA._libp2p.dialer.connectToPeer(psB.peerId);
260
- // @ts-expect-error protected fields
261
- expect(psA._libp2p.connections.get(psB.peerId.toString())).to.have.length(2);
263
+ await connectPeers(psA.multicodecs[0], registrarA, registrarB, peerA, peerB);
262
264
  // Wait for subscriptions to occur
263
265
  await pWaitFor(() => {
264
- return psA.getSubscribers(topic).includes(psB.peerId.toString()) &&
265
- psB.getSubscribers(topic).includes(psA.peerId.toString());
266
+ return psA.getSubscribers(topic).includes(peerB) &&
267
+ psB.getSubscribers(topic).includes(peerA);
266
268
  });
267
269
  // Verify messages go both ways
268
270
  void psA.publish(topic, uint8ArrayFromString('message-from-a-1'));
@@ -1 +1 @@
1
- {"version":3,"file":"connection-handlers.js","sourceRoot":"","sources":["../../../src/pubsub/connection-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-handlers.js","sourceRoot":"","sources":["../../../src/pubsub/connection-handlers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { TestSetup } from '../index.js';
2
- import type { PubSub, PubsubOptions } from '@libp2p/interfaces/pubsub';
2
+ import type { PubSub, PubSubOptions } from '@libp2p/interfaces/pubsub';
3
3
  import type { EventMap } from './index.js';
4
- declare const _default: (common: TestSetup<PubSub<EventMap>, Partial<PubsubOptions>>) => void;
4
+ declare const _default: (common: TestSetup<PubSub<EventMap>, PubSubOptions>) => void;
5
5
  export default _default;
6
6
  //# sourceMappingURL=emit-self.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit-self.d.ts","sourceRoot":"","sources":["../../../src/pubsub/emit-self.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;iCAMlB,UAAU,OAAO,QAAQ,CAAC,EAAE,QAAQ,aAAa,CAAC,CAAC;AAA3E,wBA2DC"}
1
+ {"version":3,"file":"emit-self.d.ts","sourceRoot":"","sources":["../../../src/pubsub/emit-self.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;iCAQlB,UAAU,OAAO,QAAQ,CAAC,EAAE,aAAa,CAAC;AAAlE,wBAmEC"}
@@ -1,6 +1,8 @@
1
1
  import { expect } from 'aegir/utils/chai.js';
2
2
  import sinon from 'sinon';
3
3
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
4
+ import { createEd25519PeerId } from '@libp2p/peer-id-factory';
5
+ import { mockRegistrar } from '../mocks/registrar.js';
4
6
  const topic = 'foo';
5
7
  const data = uint8ArrayFromString('bar');
6
8
  const shouldNotHappen = () => expect.fail();
@@ -9,7 +11,11 @@ export default (common) => {
9
11
  let pubsub;
10
12
  describe('enabled', () => {
11
13
  before(async () => {
12
- pubsub = await common.setup({ emitSelf: true });
14
+ pubsub = await common.setup({
15
+ peerId: await createEd25519PeerId(),
16
+ registrar: mockRegistrar(),
17
+ emitSelf: true
18
+ });
13
19
  });
14
20
  before(async () => {
15
21
  await pubsub.start();
@@ -30,7 +36,11 @@ export default (common) => {
30
36
  });
31
37
  describe('disabled', () => {
32
38
  before(async () => {
33
- pubsub = await common.setup({ emitSelf: false });
39
+ pubsub = await common.setup({
40
+ peerId: await createEd25519PeerId(),
41
+ registrar: mockRegistrar(),
42
+ emitSelf: false
43
+ });
34
44
  });
35
45
  before(async () => {
36
46
  await pubsub.start();
@@ -1 +1 @@
1
- {"version":3,"file":"emit-self.js","sourceRoot":"","sources":["../../../src/pubsub/emit-self.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAK5E,MAAM,KAAK,GAAG,KAAK,CAAA;AACnB,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;AACxC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAE3C,eAAe,CAAC,MAA2D,EAAE,EAAE;IAC7E,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,IAAI,MAAwB,CAAA;QAE5B,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;YACvB,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;YACjD,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;gBACpB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,KAAK,CAAC,OAAO,EAAE,CAAA;gBACf,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBACnB,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;YACzB,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;gBAC9C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE;oBAC/E,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC,CAAA;gBAEH,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAEhC,OAAO,MAAM,OAAO,CAAA;YACtB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;YAClD,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;gBACpB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,KAAK,CAAC,OAAO,EAAE,CAAA;gBACf,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBACnB,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;YACzB,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;gBAClD,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;oBACpD,IAAI,EAAE,IAAI;iBACX,CAAC,CAAA;gBAEF,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBAEhC,sDAAsD;gBACtD,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;YAClE,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"emit-self.js","sourceRoot":"","sources":["../../../src/pubsub/emit-self.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type { TestSetup } from '../index.js';
2
- import type { PubSub, Message, PubsubEvents } from '@libp2p/interfaces/pubsub';
3
- export interface EventMap extends PubsubEvents {
2
+ import type { PubSub, Message, PubSubEvents, PubSubOptions } from '@libp2p/interfaces/pubsub';
3
+ export interface EventMap extends PubSubEvents {
4
4
  'topic': CustomEvent<Message>;
5
5
  'foo': CustomEvent<Message>;
6
6
  'test-topic': CustomEvent<Message>;
7
7
  'reconnect-channel': CustomEvent<Message>;
8
8
  'Z': CustomEvent<Message>;
9
9
  }
10
- declare const _default: (common: TestSetup<PubSub<EventMap>>) => void;
10
+ declare const _default: (common: TestSetup<PubSub<EventMap>, PubSubOptions>) => void;
11
11
  export default _default;
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pubsub/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE9E,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7B,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3B,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAClC,mBAAmB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACzC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAC1B;iCAEuB,UAAU,OAAO,QAAQ,CAAC,CAAC;AAAnD,wBASC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pubsub/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE7F,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7B,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3B,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAClC,mBAAmB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACzC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAC1B;iCAEuB,UAAU,OAAO,QAAQ,CAAC,EAAE,aAAa,CAAC;AAAlE,wBASC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pubsub/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AAYnD,eAAe,CAAC,MAAmC,EAAE,EAAE;IACrD,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACjD,OAAO,CAAC,MAAM,CAAC,CAAA;QACf,YAAY,CAAC,MAAM,CAAC,CAAA;QACpB,YAAY,CAAC,MAAM,CAAC,CAAA;QACpB,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAC9B,YAAY,CAAC,MAAM,CAAC,CAAA;QACpB,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pubsub/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AAYnD,eAAe,CAAC,MAAkD,EAAE,EAAE;IACpE,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACjD,OAAO,CAAC,MAAM,CAAC,CAAA;QACf,YAAY,CAAC,MAAM,CAAC,CAAA;QACpB,YAAY,CAAC,MAAM,CAAC,CAAA;QACpB,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAC9B,YAAY,CAAC,MAAM,CAAC,CAAA;QACpB,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { TestSetup } from '../index.js';
2
- import type { PubSub } from '@libp2p/interfaces/pubsub';
2
+ import type { PubSub, PubSubOptions } from '@libp2p/interfaces/pubsub';
3
3
  import type { EventMap } from './index.js';
4
- declare const _default: (common: TestSetup<PubSub<EventMap>>) => void;
4
+ declare const _default: (common: TestSetup<PubSub<EventMap>, PubSubOptions>) => void;
5
5
  export default _default;
6
6
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/pubsub/messages.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;iCAKlB,UAAU,OAAO,QAAQ,CAAC,CAAC;AAAnD,wBAiGC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/pubsub/messages.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAO,MAAM,2BAA2B,CAAA;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;iCAQlB,UAAU,OAAO,QAAQ,CAAC,EAAE,aAAa,CAAC;AAAlE,wBA4GC"}
@@ -1,9 +1,12 @@
1
1
  import { expect } from 'aegir/utils/chai.js';
2
2
  import sinon from 'sinon';
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory';
3
+ import { createEd25519PeerId } from '@libp2p/peer-id-factory';
4
4
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
5
- import * as utils from '@libp2p/pubsub/utils';
5
+ import { noSignMsgId } from '@libp2p/pubsub/utils';
6
6
  import { PeerStreams } from '@libp2p/pubsub/peer-streams';
7
+ import { mockRegistrar } from '../mocks/registrar.js';
8
+ import pDefer from 'p-defer';
9
+ import delay from 'delay';
7
10
  const topic = 'foo';
8
11
  const data = uint8ArrayFromString('bar');
9
12
  export default (common) => {
@@ -11,7 +14,11 @@ export default (common) => {
11
14
  let pubsub;
12
15
  // Create pubsub router
13
16
  beforeEach(async () => {
14
- pubsub = await common.setup();
17
+ pubsub = await common.setup({
18
+ peerId: await createEd25519PeerId(),
19
+ registrar: mockRegistrar(),
20
+ emitSelf: true
21
+ });
15
22
  await pubsub.start();
16
23
  });
17
24
  afterEach(async () => {
@@ -21,72 +28,69 @@ export default (common) => {
21
28
  });
22
29
  it('should emit normalized signed messages on publish', async () => {
23
30
  pubsub.globalSignaturePolicy = 'StrictSign';
24
- // @ts-expect-error protected field
25
- sinon.spy(pubsub, '_emitMessage');
31
+ const spy = sinon.spy(pubsub, 'emitMessage');
26
32
  await pubsub.publish(topic, data);
27
- // @ts-expect-error protected field
28
- expect(pubsub._emitMessage.callCount).to.eql(1);
29
- // @ts-expect-error protected field
30
- const [messageToEmit] = pubsub._emitMessage.getCall(0).args;
33
+ expect(spy).to.have.property('callCount', 1);
34
+ const [messageToEmit] = spy.getCall(0).args;
31
35
  expect(messageToEmit.seqno).to.not.eql(undefined);
32
36
  expect(messageToEmit.key).to.not.eql(undefined);
33
37
  expect(messageToEmit.signature).to.not.eql(undefined);
34
38
  });
35
39
  it('should drop unsigned messages', async () => {
36
- // @ts-expect-error protected field
37
- sinon.spy(pubsub, '_emitMessage');
38
- // @ts-expect-error protected field
39
- sinon.spy(pubsub, '_publish');
40
+ const emitMessageSpy = sinon.spy(pubsub, 'emitMessage');
41
+ // @ts-expect-error protected abstract field
42
+ const publishSpy = sinon.spy(pubsub, '_publish');
40
43
  sinon.spy(pubsub, 'validate');
41
44
  const peerStream = new PeerStreams({
42
- id: await PeerIdFactory.createEd25519PeerId(),
45
+ id: await createEd25519PeerId(),
43
46
  protocol: 'test'
44
47
  });
45
48
  const rpc = {
46
49
  subscriptions: [],
47
50
  msgs: [{
48
- receivedFrom: peerStream.id.toString(),
49
51
  from: peerStream.id.toBytes(),
50
52
  data,
51
- seqno: utils.randomSeqno(),
53
+ seqno: await noSignMsgId(data),
52
54
  topicIDs: [topic]
53
55
  }]
54
56
  };
55
57
  pubsub.subscribe(topic);
56
- // @ts-expect-error protected field
57
- await pubsub._processRpc(peerStream.id.toString(), peerStream, rpc);
58
+ await pubsub.processRpc(peerStream.id, peerStream, rpc);
59
+ // message should not be delivered
60
+ await delay(1000);
58
61
  expect(pubsub.validate).to.have.property('callCount', 1);
59
- // @ts-expect-error protected field
60
- expect(pubsub._emitMessage).to.have.property('called', false);
61
- // @ts-expect-error protected field
62
- expect(pubsub._publish).to.have.property('called', false);
62
+ expect(emitMessageSpy).to.have.property('called', false);
63
+ expect(publishSpy).to.have.property('called', false);
63
64
  });
64
65
  it('should not drop unsigned messages if strict signing is disabled', async () => {
65
66
  pubsub.globalSignaturePolicy = 'StrictNoSign';
67
+ const emitMessageSpy = sinon.spy(pubsub, 'emitMessage');
66
68
  // @ts-expect-error protected field
67
- sinon.spy(pubsub, '_emitMessage');
68
- // @ts-expect-error protected field
69
- sinon.spy(pubsub, '_publish');
69
+ const publishSpy = sinon.spy(pubsub, '_publish');
70
70
  sinon.spy(pubsub, 'validate');
71
71
  const peerStream = new PeerStreams({
72
- id: await PeerIdFactory.createEd25519PeerId(),
72
+ id: await createEd25519PeerId(),
73
73
  protocol: 'test'
74
74
  });
75
75
  const rpc = {
76
76
  subscriptions: [],
77
77
  msgs: [{
78
+ from: peerStream.id.toBytes(),
78
79
  data,
79
80
  topicIDs: [topic]
80
81
  }]
81
82
  };
82
83
  pubsub.subscribe(topic);
83
- // @ts-expect-error protected field
84
- await pubsub._processRpc(peerStream.id.toString(), peerStream, rpc);
84
+ const deferred = pDefer();
85
+ await pubsub.processRpc(peerStream.id, peerStream, rpc);
86
+ pubsub.addEventListener(topic, () => {
87
+ deferred.resolve();
88
+ });
89
+ // await message delivery
90
+ await deferred.promise;
85
91
  expect(pubsub.validate).to.have.property('callCount', 1);
86
- // @ts-expect-error protected field
87
- expect(pubsub._emitMessage).to.have.property('called', 1);
88
- // @ts-expect-error protected field
89
- expect(pubsub._publish).to.have.property('called', 1);
92
+ expect(emitMessageSpy).to.have.property('callCount', 1);
93
+ expect(publishSpy).to.have.property('callCount', 1);
90
94
  });
91
95
  });
92
96
  };