@libp2p/interface-compliance-tests 1.1.9 → 1.1.10

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 (45) hide show
  1. package/dist/src/mocks/connection.d.ts +5 -1
  2. package/dist/src/mocks/connection.d.ts.map +1 -1
  3. package/dist/src/mocks/connection.js +16 -8
  4. package/dist/src/mocks/connection.js.map +1 -1
  5. package/dist/src/mocks/registrar.d.ts +5 -1
  6. package/dist/src/mocks/registrar.d.ts.map +1 -1
  7. package/dist/src/mocks/registrar.js +8 -10
  8. package/dist/src/mocks/registrar.js.map +1 -1
  9. package/dist/src/pubsub/api.d.ts +3 -2
  10. package/dist/src/pubsub/api.d.ts.map +1 -1
  11. package/dist/src/pubsub/api.js +8 -6
  12. package/dist/src/pubsub/api.js.map +1 -1
  13. package/dist/src/pubsub/connection-handlers.d.ts +3 -2
  14. package/dist/src/pubsub/connection-handlers.d.ts.map +1 -1
  15. package/dist/src/pubsub/connection-handlers.js +128 -34
  16. package/dist/src/pubsub/connection-handlers.js.map +1 -1
  17. package/dist/src/pubsub/emit-self.d.ts +3 -2
  18. package/dist/src/pubsub/emit-self.d.ts.map +1 -1
  19. package/dist/src/pubsub/emit-self.js +3 -2
  20. package/dist/src/pubsub/emit-self.js.map +1 -1
  21. package/dist/src/pubsub/index.d.ts +5 -2
  22. package/dist/src/pubsub/index.d.ts.map +1 -1
  23. package/dist/src/pubsub/index.js.map +1 -1
  24. package/dist/src/pubsub/messages.d.ts +3 -2
  25. package/dist/src/pubsub/messages.d.ts.map +1 -1
  26. package/dist/src/pubsub/messages.js +16 -17
  27. package/dist/src/pubsub/messages.js.map +1 -1
  28. package/dist/src/pubsub/multiple-nodes.d.ts +3 -2
  29. package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -1
  30. package/dist/src/pubsub/multiple-nodes.js +80 -34
  31. package/dist/src/pubsub/multiple-nodes.js.map +1 -1
  32. package/dist/src/pubsub/two-nodes.d.ts +3 -2
  33. package/dist/src/pubsub/two-nodes.d.ts.map +1 -1
  34. package/dist/src/pubsub/two-nodes.js +57 -29
  35. package/dist/src/pubsub/two-nodes.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/mocks/connection.ts +22 -8
  38. package/src/mocks/registrar.ts +12 -10
  39. package/src/pubsub/api.ts +13 -9
  40. package/src/pubsub/connection-handlers.ts +148 -43
  41. package/src/pubsub/emit-self.ts +9 -7
  42. package/src/pubsub/index.ts +5 -2
  43. package/src/pubsub/messages.ts +24 -23
  44. package/src/pubsub/multiple-nodes.ts +95 -47
  45. package/src/pubsub/two-nodes.ts +69 -36
@@ -7,6 +7,8 @@ import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
7
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
+ import { CustomEvent } from '@libp2p/interfaces';
11
+ import delay from 'delay';
10
12
  const topic = 'foo';
11
13
  function shouldNotHappen() {
12
14
  expect.fail();
@@ -27,7 +29,8 @@ export default (common) => {
27
29
  registrarB = mockRegistrar();
28
30
  psA = await common.setup({
29
31
  peerId: peerIdA,
30
- registrar: registrarA
32
+ registrar: registrarA,
33
+ emitSelf: true
31
34
  });
32
35
  psB = await common.setup({
33
36
  peerId: peerIdB,
@@ -38,7 +41,13 @@ export default (common) => {
38
41
  await psB.start();
39
42
  expect(psA.getPeers()).to.be.empty();
40
43
  expect(psB.getPeers()).to.be.empty();
41
- await connectPeers(psA.multicodecs[0], registrarA, registrarB, peerIdA, peerIdB);
44
+ await connectPeers(psA.multicodecs[0], {
45
+ peerId: peerIdA,
46
+ registrar: registrarA
47
+ }, {
48
+ peerId: peerIdB,
49
+ registrar: registrarB
50
+ });
42
51
  // Wait for peers to be ready in pubsub
43
52
  await pWaitFor(() => psA.getPeers().length === 1 && psB.getPeers().length === 1);
44
53
  });
@@ -54,10 +63,10 @@ export default (common) => {
54
63
  const { peerId: changedPeerId, subscriptions: changedSubs } = evt.detail;
55
64
  expect(psA.getTopics()).to.deep.equal([topic]);
56
65
  expect(psB.getPeers()).to.have.lengthOf(1);
57
- expect(psB.getSubscribers(topic)).to.deep.equal([peerIdA]);
66
+ expect(psB.getSubscribers(topic).map(p => p.toString())).to.deep.equal([peerIdA.toString()]);
58
67
  expect(changedPeerId).to.deep.equal(psB.getPeers()[0]);
59
68
  expect(changedSubs).to.have.lengthOf(1);
60
- expect(changedSubs[0].topicID).to.equal(topic);
69
+ expect(changedSubs[0].topic).to.equal(topic);
61
70
  expect(changedSubs[0].subscribe).to.equal(true);
62
71
  defer.resolve();
63
72
  }, {
@@ -79,7 +88,8 @@ export default (common) => {
79
88
  psB.addEventListener(topic, shouldNotHappen, {
80
89
  once: true
81
90
  });
82
- void psA.publish(topic, uint8ArrayFromString('hey'));
91
+ await delay(100);
92
+ void psA.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('hey') }));
83
93
  return await defer.promise;
84
94
  });
85
95
  it('Publish to a topic in nodeB', async () => {
@@ -101,7 +111,8 @@ export default (common) => {
101
111
  psB.addEventListener(topic, shouldNotHappen, {
102
112
  once: true
103
113
  });
104
- void psB.publish(topic, uint8ArrayFromString('banana'));
114
+ await delay(100);
115
+ void psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') }));
105
116
  return await defer.promise;
106
117
  });
107
118
  it('Publish 10 msg to a topic in nodeB', async () => {
@@ -114,51 +125,68 @@ export default (common) => {
114
125
  function receivedMsg(evt) {
115
126
  const msg = evt.detail;
116
127
  expect(uint8ArrayToString(msg.data)).to.equal('banana');
117
- expect(msg.from).to.deep.equal(peerIdB);
118
- expect(msg.seqno).to.be.a('Uint8Array');
119
- expect(msg.topicIDs).to.be.eql([topic]);
128
+ expect(msg.from.toString()).to.equal(peerIdB.toString());
129
+ expect(msg.seqno).to.be.a('BigInt');
130
+ expect(msg.topic).to.be.equal(topic);
120
131
  if (++counter === 10) {
121
132
  psA.removeEventListener(topic, receivedMsg);
122
133
  psB.removeEventListener(topic, shouldNotHappen);
123
134
  defer.resolve();
124
135
  }
125
136
  }
126
- Array.from({ length: 10 }, async (_, i) => await psB.publish(topic, uint8ArrayFromString('banana')));
137
+ await delay(100);
138
+ Array.from({ length: 10 }, (_, i) => psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') })));
127
139
  return await defer.promise;
128
140
  });
129
141
  it('Unsubscribe from topic in nodeA', async () => {
130
142
  const defer = pDefer();
131
- psA.unsubscribe(topic);
132
- expect(psA.getTopics()).to.be.empty();
143
+ let callCount = 0;
133
144
  psB.addEventListener('pubsub:subscription-change', (evt) => {
134
- const { peerId: changedPeerId, subscriptions: changedSubs } = evt.detail;
135
- expect(psB.getPeers()).to.have.lengthOf(1);
136
- expect(psB.getTopics()).to.be.empty();
137
- expect(changedPeerId).to.deep.equal(psB.getPeers()[0]);
138
- expect(changedSubs).to.have.lengthOf(1);
139
- expect(changedSubs[0].topicID).to.equal(topic);
140
- expect(changedSubs[0].subscribe).to.equal(false);
141
- defer.resolve();
142
- }, {
143
- once: true
145
+ callCount++;
146
+ if (callCount === 1) {
147
+ // notice subscribe
148
+ const { peerId: changedPeerId, subscriptions: changedSubs } = evt.detail;
149
+ expect(psB.getPeers()).to.have.lengthOf(1);
150
+ expect(psB.getTopics()).to.be.empty();
151
+ expect(changedPeerId).to.deep.equal(psB.getPeers()[0]);
152
+ expect(changedSubs).to.have.lengthOf(1);
153
+ expect(changedSubs[0].topic).to.equal(topic);
154
+ expect(changedSubs[0].subscribe).to.equal(true);
155
+ }
156
+ else {
157
+ // notice unsubscribe
158
+ const { peerId: changedPeerId, subscriptions: changedSubs } = evt.detail;
159
+ expect(psB.getPeers()).to.have.lengthOf(1);
160
+ expect(psB.getTopics()).to.be.empty();
161
+ expect(changedPeerId).to.deep.equal(psB.getPeers()[0]);
162
+ expect(changedSubs).to.have.lengthOf(1);
163
+ expect(changedSubs[0].topic).to.equal(topic);
164
+ expect(changedSubs[0].subscribe).to.equal(false);
165
+ defer.resolve();
166
+ }
144
167
  });
168
+ psA.subscribe(topic);
169
+ expect(psA.getTopics()).to.not.be.empty();
170
+ psA.unsubscribe(topic);
171
+ expect(psA.getTopics()).to.be.empty();
145
172
  return await defer.promise;
146
173
  });
147
- it('Publish to a topic:Z in nodeA nodeB', async () => {
174
+ it.skip('Publish to a topic:Z in nodeA nodeB', async () => {
148
175
  const defer = pDefer();
149
- psA.addEventListener('Z', shouldNotHappen, {
176
+ const topic = 'Z';
177
+ psA.addEventListener(topic, shouldNotHappen, {
150
178
  once: true
151
179
  });
152
- psB.addEventListener('Z', shouldNotHappen, {
180
+ psB.addEventListener(topic, shouldNotHappen, {
153
181
  once: true
154
182
  });
155
183
  setTimeout(() => {
156
- psA.removeEventListener('Z', shouldNotHappen);
157
- psB.removeEventListener('Z', shouldNotHappen);
184
+ psA.removeEventListener(topic, shouldNotHappen);
185
+ psB.removeEventListener(topic, shouldNotHappen);
158
186
  defer.resolve();
159
187
  }, 100);
160
- void psB.publish('Z', uint8ArrayFromString('banana'));
161
- void psA.publish('Z', uint8ArrayFromString('banana'));
188
+ void psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') }));
189
+ void psA.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') }));
162
190
  return await defer.promise;
163
191
  });
164
192
  });
@@ -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;AAI5E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,MAAM,KAAK,GAAG,KAAK,CAAA;AAEnB,SAAS,eAAe;IACtB,MAAM,CAAC,IAAI,EAAE,CAAA;AACf,CAAC;AAED,eAAe,CAAC,MAAkD,EAAE,EAAE;IACpE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,IAAI,GAAqB,CAAA;QACzB,IAAI,GAAqB,CAAA;QACzB,IAAI,OAAe,CAAA;QACnB,IAAI,OAAe,CAAA;QACnB,IAAI,UAAqB,CAAA;QACzB,IAAI,UAAqB,CAAA;QAEzB,uCAAuC;QACvC,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,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;aACtB,CAAC,CAAA;YACF,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBACvB,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,UAAU;aACtB,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,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAEhF,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,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,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,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC1D,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,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC9C,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,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;YAEpD,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,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;YAEvD,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,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBACvC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;gBACvC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;gBAEvC,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,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAEpG,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;YAEtB,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACtB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAErC,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,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAC1C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;gBACrC,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,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC9C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAEhD,KAAK,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC,EAAE;gBACD,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,OAAO,MAAM,KAAK,CAAC,OAAO,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;YAEtB,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE;gBACzC,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YACF,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE;gBACzC,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,UAAU,CAAC,GAAG,EAAE;gBACd,GAAG,CAAC,mBAAmB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;gBAC7C,GAAG,CAAC,mBAAmB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;gBAC7C,KAAK,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC,EAAE,GAAG,CAAC,CAAA;YAEP,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;YACrD,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;YAErD,OAAO,MAAM,KAAK,CAAC,OAAO,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"two-nodes.js","sourceRoot":"","sources":["../../../src/pubsub/two-nodes.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.9",
3
+ "version": "1.1.10",
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",
@@ -10,7 +10,7 @@ import type { PeerId } from '@libp2p/interfaces/src/peer-id'
10
10
  import { mockMultiaddrConnection } from './multiaddr-connection.js'
11
11
  import type { Registrar } from '@libp2p/interfaces/registrar'
12
12
  import { mockRegistrar } from './registrar.js'
13
- import { Listener } from '@libp2p/multistream-select'
13
+ import { Dialer, Listener } from '@libp2p/multistream-select'
14
14
  import { logger } from '@libp2p/logger'
15
15
  import { CustomEvent } from '@libp2p/interfaces'
16
16
 
@@ -33,7 +33,6 @@ export function mockConnection (maConn: MultiaddrConnection, opts: MockConnectio
33
33
  const remotePeer = peerIdFromString(remotePeerIdStr)
34
34
  const registry = new Map()
35
35
  const streams: Stream[] = []
36
- let streamId = 0
37
36
  const direction = opts.direction ?? 'inbound'
38
37
  const registrar = opts.registrar ?? mockRegistrar()
39
38
 
@@ -91,11 +90,17 @@ export function mockConnection (maConn: MultiaddrConnection, opts: MockConnectio
91
90
  throw new Error('protocols must have a length')
92
91
  }
93
92
 
94
- const id = `${streamId++}`
93
+ const id = `${Math.random()}`
95
94
  const stream: Stream = muxer.newStream(id)
95
+ const mss = new Dialer(stream)
96
+ const result = await mss.select(protocols)
97
+
96
98
  const streamData: ProtocolStream = {
97
- protocol: protocols[0],
98
- stream
99
+ protocol: result.protocol,
100
+ stream: {
101
+ ...stream,
102
+ ...result.stream
103
+ }
99
104
  }
100
105
 
101
106
  registry.set(id, streamData)
@@ -129,15 +134,24 @@ export function mockStream (stream: Duplex<Uint8Array>): Stream {
129
134
  }
130
135
  }
131
136
 
132
- export function connectionPair (peerA: PeerId, peerB: PeerId): [ Connection, Connection ] {
137
+ export interface Peer {
138
+ peerId: PeerId
139
+ registrar: Registrar
140
+ }
141
+
142
+ export function connectionPair (a: Peer, b: Peer): [ Connection, Connection ] {
133
143
  const [peerBtoPeerA, peerAtoPeerB] = duplexPair<Uint8Array>()
134
144
 
135
145
  return [
136
146
  mockConnection(
137
- mockMultiaddrConnection(peerBtoPeerA, peerA)
147
+ mockMultiaddrConnection(peerAtoPeerB, b.peerId), {
148
+ registrar: a.registrar
149
+ }
138
150
  ),
139
151
  mockConnection(
140
- mockMultiaddrConnection(peerAtoPeerB, peerB)
152
+ mockMultiaddrConnection(peerBtoPeerA, a.peerId), {
153
+ registrar: b.registrar
154
+ }
141
155
  )
142
156
  ]
143
157
  }
@@ -116,18 +116,20 @@ export async function mockIncomingStreamEvent (protocol: string, conn: Connectio
116
116
  })
117
117
  }
118
118
 
119
- export async function connectPeers (protocol: string, registrarA: Registrar, registrarB: Registrar, peerIdA: PeerId, peerIdB: PeerId) {
120
- const topologyA = registrarA.getTopologies(protocol)[0]
121
- const topologyB = registrarB.getTopologies(protocol)[0]
122
- // const handlerA = registrarA.getHandler(protocol)
123
- // const handlerB = registrarB.getHandler(protocol)
119
+ export interface Peer {
120
+ peerId: PeerId
121
+ registrar: Registrar
122
+ }
124
123
 
124
+ export async function connectPeers (protocol: string, a: Peer, b: Peer) {
125
125
  // Notify peers of connection
126
- const [bToA, aToB] = connectionPair(peerIdA, peerIdB)
126
+ const [aToB, bToA] = connectionPair(a, b)
127
127
 
128
- await topologyA.onConnect(peerIdB, aToB)
129
- // await handlerA(await mockIncomingStreamEvent(protocol, aToB, peerIdB))
128
+ for (const topology of a.registrar.getTopologies(protocol)) {
129
+ await topology.onConnect(b.peerId, aToB)
130
+ }
130
131
 
131
- await topologyB.onConnect(peerIdA, bToA)
132
- // await handlerB(await mockIncomingStreamEvent(protocol, bToA, peerIdA))
132
+ for (const topology of b.registrar.getTopologies(protocol)) {
133
+ await topology.onConnect(a.peerId, bToA)
134
+ }
133
135
  }
package/src/pubsub/api.ts CHANGED
@@ -3,17 +3,20 @@ 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'
8
+ import delay from 'delay'
9
+ import { CustomEvent } from '@libp2p/interfaces'
6
10
  import type { TestSetup } from '../index.js'
7
11
  import type { PubSub, PubSubOptions } from '@libp2p/interfaces/pubsub'
8
12
  import type { EventMap } from './index.js'
9
13
  import type { Registrar } from '@libp2p/interfaces/src/registrar'
10
- import { mockRegistrar } from '../mocks/registrar.js'
11
- import { createEd25519PeerId } from '@libp2p/peer-id-factory'
14
+ import type { PubsubBaseProtocol } from '@libp2p/pubsub'
12
15
 
13
16
  const topic = 'foo'
14
17
  const data = uint8ArrayFromString('bar')
15
18
 
16
- export default (common: TestSetup<PubSub<EventMap>, PubSubOptions>) => {
19
+ export default (common: TestSetup<PubsubBaseProtocol<EventMap>, PubSubOptions>) => {
17
20
  describe('pubsub api', () => {
18
21
  let pubsub: PubSub<EventMap>
19
22
  let registrar: Registrar
@@ -60,20 +63,22 @@ export default (common: TestSetup<PubSub<EventMap>, PubSubOptions>) => {
60
63
  }
61
64
 
62
65
  await pubsub.start()
63
- pubsub.subscribe(topic)
64
- pubsub.addEventListener('topic', handler)
66
+ pubsub.addEventListener(topic, handler)
65
67
 
66
68
  await pWaitFor(() => {
67
69
  const topics = pubsub.getTopics()
68
70
  return topics.length === 1 && topics[0] === topic
69
71
  })
70
72
 
71
- pubsub.unsubscribe(topic)
73
+ pubsub.removeEventListener(topic, handler)
72
74
 
73
75
  await pWaitFor(() => pubsub.getTopics().length === 0)
74
76
 
75
77
  // Publish to guarantee the handler is not called
76
- await pubsub.publish(topic, data)
78
+ pubsub.dispatchEvent(new CustomEvent(topic, { detail: data }))
79
+
80
+ // handlers are called async
81
+ await delay(100)
77
82
 
78
83
  await pubsub.stop()
79
84
  })
@@ -83,13 +88,12 @@ export default (common: TestSetup<PubSub<EventMap>, PubSubOptions>) => {
83
88
 
84
89
  await pubsub.start()
85
90
 
86
- pubsub.subscribe(topic)
87
91
  pubsub.addEventListener(topic, (evt) => {
88
92
  const msg = evt.detail
89
93
  expect(msg).to.not.eql(undefined)
90
94
  defer.resolve()
91
95
  })
92
- await pubsub.publish(topic, data)
96
+ pubsub.dispatchEvent(new CustomEvent(topic, { detail: data }))
93
97
  await defer.promise
94
98
 
95
99
  await pubsub.stop()