@libp2p/interface-compliance-tests 3.0.7-8b0e6bef → 3.0.7-a1ec46b5

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 (95) hide show
  1. package/dist/src/connection/index.d.ts.map +1 -1
  2. package/dist/src/connection/index.js +24 -25
  3. package/dist/src/connection/index.js.map +1 -1
  4. package/dist/src/connection-encryption/utils/index.d.ts.map +1 -1
  5. package/dist/src/connection-encryption/utils/index.js +1 -0
  6. package/dist/src/connection-encryption/utils/index.js.map +1 -1
  7. package/dist/src/mocks/connection-manager.d.ts +2 -0
  8. package/dist/src/mocks/connection-manager.d.ts.map +1 -1
  9. package/dist/src/mocks/connection-manager.js.map +1 -1
  10. package/dist/src/mocks/connection.d.ts.map +1 -1
  11. package/dist/src/mocks/connection.js +44 -39
  12. package/dist/src/mocks/connection.js.map +1 -1
  13. package/dist/src/mocks/multiaddr-connection.d.ts.map +1 -1
  14. package/dist/src/mocks/multiaddr-connection.js +9 -0
  15. package/dist/src/mocks/multiaddr-connection.js.map +1 -1
  16. package/dist/src/mocks/muxer.d.ts +28 -0
  17. package/dist/src/mocks/muxer.d.ts.map +1 -1
  18. package/dist/src/mocks/muxer.js +85 -213
  19. package/dist/src/mocks/muxer.js.map +1 -1
  20. package/dist/src/mocks/upgrader.d.ts +1 -1
  21. package/dist/src/mocks/upgrader.d.ts.map +1 -1
  22. package/dist/src/pubsub/api.d.ts +6 -0
  23. package/dist/src/pubsub/api.d.ts.map +1 -0
  24. package/dist/src/pubsub/api.js +87 -0
  25. package/dist/src/pubsub/api.js.map +1 -0
  26. package/dist/src/pubsub/connection-handlers.d.ts +6 -0
  27. package/dist/src/pubsub/connection-handlers.d.ts.map +1 -0
  28. package/dist/src/pubsub/connection-handlers.js +329 -0
  29. package/dist/src/pubsub/connection-handlers.js.map +1 -0
  30. package/dist/src/pubsub/emit-self.d.ts +6 -0
  31. package/dist/src/pubsub/emit-self.d.ts.map +1 -0
  32. package/dist/src/pubsub/emit-self.js +80 -0
  33. package/dist/src/pubsub/emit-self.js.map +1 -0
  34. package/dist/src/pubsub/index.d.ts +18 -0
  35. package/dist/src/pubsub/index.d.ts.map +1 -0
  36. package/dist/src/pubsub/index.js +17 -0
  37. package/dist/src/pubsub/index.js.map +1 -0
  38. package/dist/src/pubsub/messages.d.ts +6 -0
  39. package/dist/src/pubsub/messages.d.ts.map +1 -0
  40. package/dist/src/pubsub/messages.js +48 -0
  41. package/dist/src/pubsub/messages.js.map +1 -0
  42. package/dist/src/pubsub/multiple-nodes.d.ts +6 -0
  43. package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -0
  44. package/dist/src/pubsub/multiple-nodes.js +350 -0
  45. package/dist/src/pubsub/multiple-nodes.js.map +1 -0
  46. package/dist/src/pubsub/two-nodes.d.ts +6 -0
  47. package/dist/src/pubsub/two-nodes.d.ts.map +1 -0
  48. package/dist/src/pubsub/two-nodes.js +217 -0
  49. package/dist/src/pubsub/two-nodes.js.map +1 -0
  50. package/dist/src/pubsub/utils.d.ts +6 -0
  51. package/dist/src/pubsub/utils.d.ts.map +1 -0
  52. package/dist/src/pubsub/utils.js +22 -0
  53. package/dist/src/pubsub/utils.js.map +1 -0
  54. package/dist/src/stream-muxer/base-test.js +6 -6
  55. package/dist/src/stream-muxer/base-test.js.map +1 -1
  56. package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
  57. package/dist/src/stream-muxer/close-test.js +100 -12
  58. package/dist/src/stream-muxer/close-test.js.map +1 -1
  59. package/dist/src/stream-muxer/fixtures/pb/message.d.ts +13 -0
  60. package/dist/src/stream-muxer/fixtures/pb/message.d.ts.map +1 -0
  61. package/dist/src/stream-muxer/fixtures/pb/message.js +67 -0
  62. package/dist/src/stream-muxer/fixtures/pb/message.js.map +1 -0
  63. package/dist/src/stream-muxer/spawner.d.ts.map +1 -1
  64. package/dist/src/stream-muxer/spawner.js +4 -3
  65. package/dist/src/stream-muxer/spawner.js.map +1 -1
  66. package/dist/src/stream-muxer/stress-test.js +1 -1
  67. package/dist/src/stream-muxer/stress-test.js.map +1 -1
  68. package/dist/src/transport/dial-test.js +1 -1
  69. package/dist/src/transport/dial-test.js.map +1 -1
  70. package/dist/src/transport/listen-test.js +4 -4
  71. package/dist/src/transport/listen-test.js.map +1 -1
  72. package/package.json +20 -11
  73. package/src/connection/index.ts +24 -26
  74. package/src/connection-encryption/utils/index.ts +1 -0
  75. package/src/mocks/connection-manager.ts +4 -2
  76. package/src/mocks/connection.ts +48 -40
  77. package/src/mocks/multiaddr-connection.ts +9 -0
  78. package/src/mocks/muxer.ts +105 -249
  79. package/src/mocks/upgrader.ts +1 -1
  80. package/src/pubsub/api.ts +114 -0
  81. package/src/pubsub/connection-handlers.ts +413 -0
  82. package/src/pubsub/emit-self.ts +99 -0
  83. package/src/pubsub/index.ts +34 -0
  84. package/src/pubsub/messages.ts +59 -0
  85. package/src/pubsub/multiple-nodes.ts +440 -0
  86. package/src/pubsub/two-nodes.ts +273 -0
  87. package/src/pubsub/utils.ts +29 -0
  88. package/src/stream-muxer/base-test.ts +6 -6
  89. package/src/stream-muxer/close-test.ts +110 -14
  90. package/src/stream-muxer/fixtures/pb/message.proto +7 -0
  91. package/src/stream-muxer/fixtures/pb/message.ts +87 -0
  92. package/src/stream-muxer/spawner.ts +3 -2
  93. package/src/stream-muxer/stress-test.ts +1 -1
  94. package/src/transport/dial-test.ts +1 -1
  95. package/src/transport/listen-test.ts +4 -4
@@ -1,7 +1,6 @@
1
- import { CodeError } from '@libp2p/interface/errors';
1
+ import { AbstractStream } from '@libp2p/interface/stream-muxer/stream';
2
2
  import { logger } from '@libp2p/logger';
3
3
  import { abortableSource } from 'abortable-iterator';
4
- import { anySignal } from 'any-signal';
5
4
  import map from 'it-map';
6
5
  import * as ndjson from 'it-ndjson';
7
6
  import { pipe } from 'it-pipe';
@@ -11,183 +10,48 @@ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
11
10
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
12
11
  let muxers = 0;
13
12
  let streams = 0;
14
- const MAX_MESSAGE_SIZE = 1024 * 1024;
15
- class MuxedStream {
16
- id;
17
- input;
18
- stream;
19
- type;
20
- sinkEnded;
21
- sourceEnded;
22
- abortController;
23
- resetController;
24
- closeController;
25
- log;
13
+ class MuxedStream extends AbstractStream {
14
+ push;
26
15
  constructor(init) {
27
- const { id, type, push, onEnd } = init;
28
- this.log = logger(`libp2p:mock-muxer:stream:${id}:${type}`);
29
- this.id = id;
30
- this.type = type;
31
- this.abortController = new AbortController();
32
- this.resetController = new AbortController();
33
- this.closeController = new AbortController();
34
- this.sourceEnded = false;
35
- this.sinkEnded = false;
36
- let endErr;
37
- const onSourceEnd = (err) => {
38
- if (this.sourceEnded) {
39
- return;
40
- }
41
- this.log('onSourceEnd sink ended? %s', this.sinkEnded);
42
- this.sourceEnded = true;
43
- if (err != null && endErr == null) {
44
- endErr = err;
45
- }
46
- if (this.sinkEnded) {
47
- this.stream.stat.timeline.close = Date.now();
48
- if (onEnd != null) {
49
- onEnd(endErr);
50
- }
51
- }
16
+ super(init);
17
+ this.push = init.push;
18
+ }
19
+ sendNewStream() {
20
+ // If initiator, open a new stream
21
+ const createMsg = {
22
+ id: this.id,
23
+ type: 'create',
24
+ direction: 'outbound'
52
25
  };
53
- const onSinkEnd = (err) => {
54
- if (this.sinkEnded) {
55
- return;
56
- }
57
- this.log('onSinkEnd source ended? %s', this.sourceEnded);
58
- this.sinkEnded = true;
59
- if (err != null && endErr == null) {
60
- endErr = err;
61
- }
62
- if (this.sourceEnded) {
63
- this.stream.stat.timeline.close = Date.now();
64
- if (onEnd != null) {
65
- onEnd(endErr);
66
- }
67
- }
26
+ this.push.push(createMsg);
27
+ }
28
+ sendData(data) {
29
+ const dataMsg = {
30
+ id: this.id,
31
+ type: 'data',
32
+ chunk: uint8ArrayToString(data.subarray(), 'base64pad'),
33
+ direction: this.direction
68
34
  };
69
- this.input = pushable({
70
- onEnd: onSourceEnd
71
- });
72
- this.stream = {
73
- id,
74
- sink: async (source) => {
75
- if (this.sinkEnded) {
76
- throw new CodeError('stream closed for writing', 'ERR_SINK_ENDED');
77
- }
78
- const signal = anySignal([
79
- this.abortController.signal,
80
- this.resetController.signal,
81
- this.closeController.signal
82
- ]);
83
- source = abortableSource(source, signal);
84
- try {
85
- if (this.type === 'initiator') {
86
- // If initiator, open a new stream
87
- const createMsg = {
88
- id: this.id,
89
- type: 'create',
90
- direction: this.type
91
- };
92
- push.push(createMsg);
93
- }
94
- const list = new Uint8ArrayList();
95
- for await (const chunk of source) {
96
- list.append(chunk);
97
- while (list.length > 0) {
98
- const available = Math.min(list.length, MAX_MESSAGE_SIZE);
99
- const dataMsg = {
100
- id,
101
- type: 'data',
102
- chunk: uint8ArrayToString(list.subarray(0, available), 'base64pad'),
103
- direction: this.type
104
- };
105
- push.push(dataMsg);
106
- list.consume(available);
107
- }
108
- }
109
- }
110
- catch (err) {
111
- if (err.type === 'aborted' && err.message === 'The operation was aborted') {
112
- if (this.closeController.signal.aborted) {
113
- return;
114
- }
115
- if (this.resetController.signal.aborted) {
116
- err.message = 'stream reset';
117
- err.code = 'ERR_STREAM_RESET';
118
- }
119
- if (this.abortController.signal.aborted) {
120
- err.message = 'stream aborted';
121
- err.code = 'ERR_STREAM_ABORT';
122
- }
123
- }
124
- // Send no more data if this stream was remotely reset
125
- if (err.code !== 'ERR_STREAM_RESET') {
126
- const resetMsg = {
127
- id,
128
- type: 'reset',
129
- direction: this.type
130
- };
131
- push.push(resetMsg);
132
- }
133
- this.log('sink erred', err);
134
- this.input.end(err);
135
- onSinkEnd(err);
136
- return;
137
- }
138
- finally {
139
- signal.clear();
140
- }
141
- this.log('sink ended');
142
- onSinkEnd();
143
- const closeMsg = {
144
- id,
145
- type: 'close',
146
- direction: this.type
147
- };
148
- push.push(closeMsg);
149
- },
150
- source: this.input,
151
- // Close for reading
152
- close: () => {
153
- this.stream.closeRead();
154
- this.stream.closeWrite();
155
- },
156
- closeRead: () => {
157
- this.input.end();
158
- },
159
- closeWrite: () => {
160
- this.closeController.abort();
161
- const closeMsg = {
162
- id,
163
- type: 'close',
164
- direction: this.type
165
- };
166
- push.push(closeMsg);
167
- onSinkEnd();
168
- },
169
- // Close for reading and writing (local error)
170
- abort: (err) => {
171
- // End the source with the passed error
172
- this.input.end(err);
173
- this.abortController.abort();
174
- onSinkEnd(err);
175
- },
176
- // Close immediately for reading and writing (remote error)
177
- reset: () => {
178
- const err = new CodeError('stream reset', 'ERR_STREAM_RESET');
179
- this.resetController.abort();
180
- this.input.end(err);
181
- onSinkEnd(err);
182
- },
183
- stat: {
184
- direction: type === 'initiator' ? 'outbound' : 'inbound',
185
- timeline: {
186
- open: Date.now()
187
- }
188
- },
189
- metadata: {}
35
+ this.push.push(dataMsg);
36
+ }
37
+ sendReset() {
38
+ const resetMsg = {
39
+ id: this.id,
40
+ type: 'reset',
41
+ direction: this.direction
42
+ };
43
+ this.push.push(resetMsg);
44
+ }
45
+ sendCloseWrite() {
46
+ const closeMsg = {
47
+ id: this.id,
48
+ type: 'close',
49
+ direction: this.direction
190
50
  };
51
+ this.push.push(closeMsg);
52
+ }
53
+ sendCloseRead() {
54
+ // does not support close read, only close write
191
55
  }
192
56
  }
193
57
  class MockMuxer {
@@ -211,8 +75,13 @@ class MockMuxer {
211
75
  this.closeController = new AbortController();
212
76
  // receives data from the muxer at the other end of the stream
213
77
  this.source = this.input = pushable({
214
- onEnd: (err) => {
215
- this.close(err);
78
+ onEnd: () => {
79
+ for (const stream of this.registryInitiatorStreams.values()) {
80
+ stream.destroy();
81
+ }
82
+ for (const stream of this.registryRecipientStreams.values()) {
83
+ stream.destroy();
84
+ }
216
85
  }
217
86
  });
218
87
  // receives messages from all of the muxed streams
@@ -239,15 +108,15 @@ class MockMuxer {
239
108
  }
240
109
  handleMessage(message) {
241
110
  let muxedStream;
242
- const registry = message.direction === 'initiator' ? this.registryRecipientStreams : this.registryInitiatorStreams;
111
+ const registry = message.direction === 'outbound' ? this.registryRecipientStreams : this.registryInitiatorStreams;
243
112
  if (message.type === 'create') {
244
113
  if (registry.has(message.id)) {
245
114
  throw new Error(`Already had stream for ${message.id}`);
246
115
  }
247
- muxedStream = this.createStream(message.id, 'recipient');
248
- registry.set(muxedStream.stream.id, muxedStream);
116
+ muxedStream = this.createStream(message.id, 'inbound');
117
+ registry.set(muxedStream.id, muxedStream);
249
118
  if (this.options.onIncomingStream != null) {
250
- this.options.onIncomingStream(muxedStream.stream);
119
+ this.options.onIncomingStream(muxedStream);
251
120
  }
252
121
  }
253
122
  muxedStream = registry.get(message.id);
@@ -256,68 +125,71 @@ class MockMuxer {
256
125
  return;
257
126
  }
258
127
  if (message.type === 'data') {
259
- muxedStream.input.push(new Uint8ArrayList(uint8ArrayFromString(message.chunk, 'base64pad')));
128
+ muxedStream.sourcePush(new Uint8ArrayList(uint8ArrayFromString(message.chunk, 'base64pad')));
260
129
  }
261
130
  else if (message.type === 'reset') {
262
- this.log('-> reset stream %s %s', muxedStream.type, muxedStream.stream.id);
263
- muxedStream.stream.reset();
131
+ this.log('-> reset stream %s %s', muxedStream.direction, muxedStream.id);
132
+ muxedStream.reset();
264
133
  }
265
134
  else if (message.type === 'close') {
266
- this.log('-> closing stream %s %s', muxedStream.type, muxedStream.stream.id);
267
- muxedStream.stream.closeRead();
135
+ this.log('-> closing stream %s %s', muxedStream.direction, muxedStream.id);
136
+ muxedStream.remoteCloseWrite();
268
137
  }
269
138
  }
270
139
  get streams() {
271
140
  return Array.from(this.registryRecipientStreams.values())
272
- .concat(Array.from(this.registryInitiatorStreams.values()))
273
- .map(({ stream }) => stream);
141
+ .concat(Array.from(this.registryInitiatorStreams.values()));
274
142
  }
275
143
  newStream(name) {
276
144
  if (this.closeController.signal.aborted) {
277
145
  throw new Error('Muxer already closed');
278
146
  }
279
147
  this.log('newStream %s', name);
280
- const storedStream = this.createStream(name, 'initiator');
281
- this.registryInitiatorStreams.set(storedStream.stream.id, storedStream);
282
- return storedStream.stream;
148
+ const storedStream = this.createStream(name, 'outbound');
149
+ this.registryInitiatorStreams.set(storedStream.id, storedStream);
150
+ return storedStream;
283
151
  }
284
- createStream(name, type = 'initiator') {
285
- const id = name ?? `${this.name}:stream:${streams++}`;
286
- this.log('createStream %s %s', type, id);
152
+ createStream(name, direction = 'outbound') {
153
+ const id = name ?? `${streams++}`;
154
+ this.log('createStream %s %s', direction, id);
287
155
  const muxedStream = new MuxedStream({
288
156
  id,
289
- type,
157
+ direction,
290
158
  push: this.streamInput,
291
159
  onEnd: () => {
292
- this.log('stream ended %s %s', type, id);
293
- if (type === 'initiator') {
294
- this.registryInitiatorStreams.delete(id);
160
+ this.log('stream ended');
161
+ if (direction === 'outbound') {
162
+ this.registryInitiatorStreams.delete(muxedStream.id);
295
163
  }
296
164
  else {
297
- this.registryRecipientStreams.delete(id);
165
+ this.registryRecipientStreams.delete(muxedStream.id);
298
166
  }
299
167
  if (this.options.onStreamEnd != null) {
300
- this.options.onStreamEnd(muxedStream.stream);
168
+ this.options.onStreamEnd(muxedStream);
301
169
  }
302
- }
170
+ },
171
+ log: logger(`libp2p:mock-muxer:stream:${direction}:${id}`)
303
172
  });
304
173
  return muxedStream;
305
174
  }
306
- close(err) {
307
- if (this.closeController.signal.aborted)
175
+ async close(options) {
176
+ if (this.closeController.signal.aborted) {
308
177
  return;
309
- this.log('closing muxed streams');
310
- if (err == null) {
311
- this.streams.forEach(s => {
312
- s.close();
313
- });
314
- }
315
- else {
316
- this.streams.forEach(s => {
317
- s.abort(err);
318
- });
319
178
  }
179
+ this.log('closing muxed streams');
180
+ await Promise.all(this.streams.map(async (s) => s.close()));
320
181
  this.closeController.abort();
182
+ this.input.end();
183
+ }
184
+ abort(err) {
185
+ if (this.closeController.signal.aborted) {
186
+ return;
187
+ }
188
+ this.log('aborting muxed streams');
189
+ this.streams.forEach(s => {
190
+ s.abort(err);
191
+ });
192
+ this.closeController.abort(err);
321
193
  this.input.end(err);
322
194
  }
323
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Libp2pEvents } from '@libp2p/interface';
2
2
  import type { EventEmitter } from '@libp2p/interface/events';
3
+ import type { Upgrader } from '@libp2p/interface/transport';
3
4
  import type { Registrar } from '@libp2p/interface-internal/registrar';
4
- import type { Upgrader } from '@libp2p/interface-internal/upgrader';
5
5
  export interface MockUpgraderInit {
6
6
  registrar?: Registrar;
7
7
  events?: EventEmitter<Libp2pEvents>;
@@ -1 +1 @@
1
- {"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,qCAAqC,CAAA;AAEpF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACpC;AAoCD,wBAAgB,YAAY,CAAE,IAAI,GAAE,gBAAqB,GAAG,QAAQ,CAEnE"}
1
+ {"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAErE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACpC;AAoCD,wBAAgB,YAAY,CAAE,IAAI,GAAE,gBAAqB,GAAG,QAAQ,CAEnE"}
@@ -0,0 +1,6 @@
1
+ import type { PubSubArgs } from './index.js';
2
+ import type { TestSetup } from '../index.js';
3
+ import type { PubSub } from '@libp2p/interface/pubsub';
4
+ declare const _default: (common: TestSetup<PubSub, PubSubArgs>) => void;
5
+ export default _default;
6
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/pubsub/api.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;iCAK9B,UAAU,MAAM,EAAE,UAAU,CAAC,KAAG,IAAI;AAA5D,wBAiGC"}
@@ -0,0 +1,87 @@
1
+ import { isStartable, start, stop } from '@libp2p/interface/startable';
2
+ import { expect } from 'aegir/chai';
3
+ import delay from 'delay';
4
+ import pDefer from 'p-defer';
5
+ import pWaitFor from 'p-wait-for';
6
+ import sinon from 'sinon';
7
+ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
8
+ import { mockNetwork } from '../mocks/index.js';
9
+ import { createComponents } from './utils.js';
10
+ const topic = 'foo';
11
+ const data = uint8ArrayFromString('bar');
12
+ export default (common) => {
13
+ describe('pubsub api', () => {
14
+ let pubsub;
15
+ let components;
16
+ // Create pubsub router
17
+ beforeEach(async () => {
18
+ mockNetwork.reset();
19
+ components = await createComponents();
20
+ pubsub = components.pubsub = await common.setup({
21
+ components,
22
+ init: {
23
+ emitSelf: true
24
+ }
25
+ });
26
+ });
27
+ afterEach(async () => {
28
+ sinon.restore();
29
+ await stop(...Object.values(components));
30
+ await common.teardown();
31
+ mockNetwork.reset();
32
+ });
33
+ it('can start correctly', async () => {
34
+ if (!isStartable(pubsub)) {
35
+ return;
36
+ }
37
+ sinon.spy(components.registrar, 'register');
38
+ await start(...Object.values(components));
39
+ expect(pubsub.isStarted()).to.equal(true);
40
+ expect(components.registrar.register).to.have.property('callCount', 1);
41
+ });
42
+ it('can stop correctly', async () => {
43
+ if (!isStartable(pubsub)) {
44
+ return;
45
+ }
46
+ sinon.spy(components.registrar, 'unregister');
47
+ await start(...Object.values(components));
48
+ await stop(...Object.values(components));
49
+ expect(pubsub.isStarted()).to.equal(false);
50
+ expect(components.registrar.unregister).to.have.property('callCount', 1);
51
+ });
52
+ it('can subscribe and unsubscribe correctly', async () => {
53
+ const handler = () => {
54
+ throw new Error('a message should not be received');
55
+ };
56
+ await start(...Object.values(components));
57
+ pubsub.subscribe(topic);
58
+ pubsub.addEventListener('message', handler);
59
+ await pWaitFor(() => {
60
+ const topics = pubsub.getTopics();
61
+ return topics.length === 1 && topics[0] === topic;
62
+ });
63
+ pubsub.removeEventListener('message', handler);
64
+ pubsub.unsubscribe(topic);
65
+ await pWaitFor(() => pubsub.getTopics().length === 0);
66
+ // Publish to guarantee the handler is not called
67
+ await pubsub.publish(topic, data);
68
+ // handlers are called async
69
+ await delay(100);
70
+ await stop(...Object.values(components));
71
+ });
72
+ it('can subscribe and publish correctly', async () => {
73
+ const defer = pDefer();
74
+ await start(...Object.values(components));
75
+ pubsub.subscribe(topic);
76
+ pubsub.addEventListener('message', (evt) => {
77
+ expect(evt).to.have.nested.property('detail.topic', topic);
78
+ expect(evt).to.have.deep.nested.property('detail.data', data);
79
+ defer.resolve();
80
+ });
81
+ await pubsub.publish(topic, data);
82
+ await defer.promise;
83
+ await stop(...Object.values(components));
84
+ });
85
+ });
86
+ };
87
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/pubsub/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { PubSubArgs } from './index.js';
2
+ import type { TestSetup } from '../index.js';
3
+ import type { PubSub } from '@libp2p/interface/pubsub';
4
+ declare const _default: (common: TestSetup<PubSub, PubSubArgs>) => void;
5
+ export default _default;
6
+ //# sourceMappingURL=connection-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-handlers.d.ts","sourceRoot":"","sources":["../../../src/pubsub/connection-handlers.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,0BAA0B,CAAA;iCAEvC,UAAU,MAAM,EAAE,UAAU,CAAC,KAAG,IAAI;AAA5D,wBA6YC"}