@libp2p/interface-compliance-tests 3.0.7-85a317bb → 3.0.7-879f4794

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-manager.d.ts +0 -2
  2. package/dist/src/mocks/connection-manager.d.ts.map +1 -1
  3. package/dist/src/mocks/connection-manager.js.map +1 -1
  4. package/package.json +8 -13
  5. package/src/mocks/connection-manager.ts +0 -2
  6. package/dist/src/pubsub/api.d.ts +0 -6
  7. package/dist/src/pubsub/api.d.ts.map +0 -1
  8. package/dist/src/pubsub/api.js +0 -87
  9. package/dist/src/pubsub/api.js.map +0 -1
  10. package/dist/src/pubsub/connection-handlers.d.ts +0 -6
  11. package/dist/src/pubsub/connection-handlers.d.ts.map +0 -1
  12. package/dist/src/pubsub/connection-handlers.js +0 -329
  13. package/dist/src/pubsub/connection-handlers.js.map +0 -1
  14. package/dist/src/pubsub/emit-self.d.ts +0 -6
  15. package/dist/src/pubsub/emit-self.d.ts.map +0 -1
  16. package/dist/src/pubsub/emit-self.js +0 -80
  17. package/dist/src/pubsub/emit-self.js.map +0 -1
  18. package/dist/src/pubsub/index.d.ts +0 -18
  19. package/dist/src/pubsub/index.d.ts.map +0 -1
  20. package/dist/src/pubsub/index.js +0 -17
  21. package/dist/src/pubsub/index.js.map +0 -1
  22. package/dist/src/pubsub/messages.d.ts +0 -6
  23. package/dist/src/pubsub/messages.d.ts.map +0 -1
  24. package/dist/src/pubsub/messages.js +0 -48
  25. package/dist/src/pubsub/messages.js.map +0 -1
  26. package/dist/src/pubsub/multiple-nodes.d.ts +0 -6
  27. package/dist/src/pubsub/multiple-nodes.d.ts.map +0 -1
  28. package/dist/src/pubsub/multiple-nodes.js +0 -350
  29. package/dist/src/pubsub/multiple-nodes.js.map +0 -1
  30. package/dist/src/pubsub/two-nodes.d.ts +0 -6
  31. package/dist/src/pubsub/two-nodes.d.ts.map +0 -1
  32. package/dist/src/pubsub/two-nodes.js +0 -217
  33. package/dist/src/pubsub/two-nodes.js.map +0 -1
  34. package/dist/src/pubsub/utils.d.ts +0 -6
  35. package/dist/src/pubsub/utils.d.ts.map +0 -1
  36. package/dist/src/pubsub/utils.js +0 -22
  37. package/dist/src/pubsub/utils.js.map +0 -1
  38. package/src/pubsub/api.ts +0 -114
  39. package/src/pubsub/connection-handlers.ts +0 -413
  40. package/src/pubsub/emit-self.ts +0 -99
  41. package/src/pubsub/index.ts +0 -34
  42. package/src/pubsub/messages.ts +0 -59
  43. package/src/pubsub/multiple-nodes.ts +0 -440
  44. package/src/pubsub/two-nodes.ts +0 -273
  45. package/src/pubsub/utils.ts +0 -29
@@ -1,80 +0,0 @@
1
- import { start, stop } from '@libp2p/interface/startable';
2
- import { expect } from 'aegir/chai';
3
- import sinon from 'sinon';
4
- import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
5
- import { mockNetwork } from '../mocks/index.js';
6
- import { createComponents } from './utils.js';
7
- const topic = 'foo';
8
- const data = uint8ArrayFromString('bar');
9
- const shouldNotHappen = () => expect.fail();
10
- export default (common) => {
11
- describe('emit self', () => {
12
- describe('enabled', () => {
13
- let pubsub;
14
- let components;
15
- before(async () => {
16
- mockNetwork.reset();
17
- components = await createComponents();
18
- pubsub = components.pubsub = await common.setup({
19
- components,
20
- init: {
21
- emitSelf: true
22
- }
23
- });
24
- await start(...Object.values(components));
25
- pubsub.subscribe(topic);
26
- });
27
- after(async () => {
28
- sinon.restore();
29
- await stop(...Object.values(components));
30
- await common.teardown();
31
- mockNetwork.reset();
32
- });
33
- it('should emit to self on publish', async () => {
34
- const promise = new Promise((resolve) => {
35
- pubsub.addEventListener('message', (evt) => {
36
- if (evt.detail.topic === topic) {
37
- resolve();
38
- }
39
- }, {
40
- once: true
41
- });
42
- });
43
- const result = await pubsub.publish(topic, data);
44
- await promise;
45
- expect(result).to.have.property('recipients').with.lengthOf(1);
46
- });
47
- });
48
- describe('disabled', () => {
49
- let pubsub;
50
- let components;
51
- before(async () => {
52
- mockNetwork.reset();
53
- components = await createComponents();
54
- pubsub = components.pubsub = await common.setup({
55
- components,
56
- init: {
57
- emitSelf: false
58
- }
59
- });
60
- await start(...Object.values(components));
61
- pubsub.subscribe(topic);
62
- });
63
- after(async () => {
64
- sinon.restore();
65
- await stop(...Object.values(components));
66
- await common.teardown();
67
- mockNetwork.reset();
68
- });
69
- it('should not emit to self on publish', async () => {
70
- pubsub.addEventListener('message', shouldNotHappen, {
71
- once: true
72
- });
73
- await pubsub.publish(topic, data);
74
- // Wait 1 second to guarantee that self is not noticed
75
- await new Promise((resolve) => setTimeout(resolve, 1000));
76
- });
77
- });
78
- });
79
- };
80
- //# sourceMappingURL=emit-self.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit-self.js","sourceRoot":"","sources":["../../../src/pubsub/emit-self.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { TestSetup } from '../index.js';
2
- import type { PeerId } from '@libp2p/interface/peer-id';
3
- import type { PubSub, PubSubInit } from '@libp2p/interface/pubsub';
4
- import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager';
5
- import type { Registrar } from '@libp2p/interface-internal/registrar';
6
- export interface PubSubComponents {
7
- peerId: PeerId;
8
- registrar: Registrar;
9
- connectionManager: ConnectionManager;
10
- pubsub?: PubSub;
11
- }
12
- export interface PubSubArgs {
13
- components: PubSubComponents;
14
- init: PubSubInit;
15
- }
16
- declare const _default: (common: TestSetup<PubSub, PubSubArgs>) => void;
17
- export default _default;
18
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAErE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;CACjB;iCAEuB,UAAU,MAAM,EAAE,UAAU,CAAC,KAAG,IAAI;AAA5D,wBASC"}
@@ -1,17 +0,0 @@
1
- import apiTest from './api.js';
2
- import connectionHandlersTest from './connection-handlers.js';
3
- import emitSelfTest from './emit-self.js';
4
- import messagesTest from './messages.js';
5
- import multipleNodesTest from './multiple-nodes.js';
6
- import twoNodesTest from './two-nodes.js';
7
- export default (common) => {
8
- describe('interface-pubsub compliance tests', () => {
9
- apiTest(common);
10
- emitSelfTest(common);
11
- messagesTest(common);
12
- connectionHandlersTest(common);
13
- twoNodesTest(common);
14
- multipleNodesTest(common);
15
- });
16
- };
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pubsub/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAmBzC,eAAe,CAAC,MAAqC,EAAQ,EAAE;IAC7D,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 +0,0 @@
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=messages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/pubsub/messages.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,0BAA0B,CAAA;iCAKvC,UAAU,MAAM,EAAE,UAAU,CAAC,KAAG,IAAI;AAA5D,wBA4CC"}
@@ -1,48 +0,0 @@
1
- import { start, stop } from '@libp2p/interface/startable';
2
- import { expect } from 'aegir/chai';
3
- import { pEvent } from 'p-event';
4
- import sinon from 'sinon';
5
- import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
6
- import { mockNetwork } from '../mocks/index.js';
7
- import { createComponents } from './utils.js';
8
- const topic = 'foo';
9
- const data = uint8ArrayFromString('bar');
10
- export default (common) => {
11
- describe('messages', () => {
12
- let pubsub;
13
- let components;
14
- // Create pubsub router
15
- beforeEach(async () => {
16
- mockNetwork.reset();
17
- components = await createComponents();
18
- pubsub = components.pubsub = await common.setup({
19
- components,
20
- init: {
21
- emitSelf: true
22
- }
23
- });
24
- await start(...Object.values(components));
25
- });
26
- afterEach(async () => {
27
- sinon.restore();
28
- await stop(...Object.values(components));
29
- await common.teardown();
30
- mockNetwork.reset();
31
- });
32
- it('should emit normalized signed messages on publish', async () => {
33
- const eventPromise = pEvent(pubsub, 'message');
34
- pubsub.globalSignaturePolicy = 'StrictSign';
35
- pubsub.subscribe(topic);
36
- await pubsub.publish(topic, data);
37
- const event = await eventPromise;
38
- const message = event.detail;
39
- if (message.type === 'signed') {
40
- expect(message.from.toString()).to.equal(components.peerId.toString());
41
- expect(message.sequenceNumber).to.not.eql(undefined);
42
- expect(message.key).to.not.eql(undefined);
43
- expect(message.signature).to.not.eql(undefined);
44
- }
45
- });
46
- });
47
- };
48
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/pubsub/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAK7C,MAAM,KAAK,GAAG,KAAK,CAAA;AACnB,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;AAExC,eAAe,CAAC,MAAqC,EAAQ,EAAE;IAC7D,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,MAAc,CAAA;QAClB,IAAI,UAA4B,CAAA;QAEhC,uBAAuB;QACvB,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,WAAW,CAAC,KAAK,EAAE,CAAA;YACnB,UAAU,GAAG,MAAM,gBAAgB,EAAE,CAAA;YAErC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAC9C,UAAU;gBACV,IAAI,EAAE;oBACJ,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC,CAAA;YACF,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,EAAE,CAAA;YACf,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;YACxC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;YACvB,WAAW,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAG,MAAM,CAAkC,MAAM,EAAE,SAAS,CAAC,CAAA;YAE/E,MAAM,CAAC,qBAAqB,GAAG,YAAY,CAAA;YAC3C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACvB,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAEjC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAA;YAChC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAA;YAE5B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACtE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACpD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACzC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;aAChD;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,6 +0,0 @@
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=multiple-nodes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multiple-nodes.d.ts","sourceRoot":"","sources":["../../../src/pubsub/multiple-nodes.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,0BAA0B,CAAA;iCAEvC,UAAU,MAAM,EAAE,UAAU,CAAC,KAAG,IAAI;AAA5D,wBAwaC"}
@@ -1,350 +0,0 @@
1
- /* eslint max-nested-callbacks: ["error", 6] */
2
- import { start, stop } from '@libp2p/interface/startable';
3
- import { expect } from 'aegir/chai';
4
- import delay from 'delay';
5
- import pDefer from 'p-defer';
6
- import pWaitFor from 'p-wait-for';
7
- import sinon from 'sinon';
8
- import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
9
- import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
10
- import { mockNetwork } from '../mocks/index.js';
11
- import { createComponents, waitForSubscriptionUpdate } from './utils.js';
12
- export default (common) => {
13
- describe('pubsub with multiple nodes', function () {
14
- describe('every peer subscribes to the topic', () => {
15
- describe('line', () => {
16
- // line
17
- // ◉────◉────◉
18
- // a b c
19
- let psA;
20
- let psB;
21
- let psC;
22
- let componentsA;
23
- let componentsB;
24
- let componentsC;
25
- // Create and start pubsub nodes
26
- beforeEach(async () => {
27
- mockNetwork.reset();
28
- componentsA = await createComponents();
29
- componentsB = await createComponents();
30
- componentsC = await createComponents();
31
- psA = componentsA.pubsub = await common.setup({
32
- components: componentsA,
33
- init: {
34
- emitSelf: true
35
- }
36
- });
37
- psB = componentsB.pubsub = await common.setup({
38
- components: componentsB,
39
- init: {
40
- emitSelf: true
41
- }
42
- });
43
- psC = componentsC.pubsub = await common.setup({
44
- components: componentsC,
45
- init: {
46
- emitSelf: true
47
- }
48
- });
49
- // Start pubsub modes
50
- await start(...Object.values(componentsA), ...Object.values(componentsB), ...Object.values(componentsC));
51
- // Connect nodes
52
- await componentsA.connectionManager.openConnection(componentsB.peerId);
53
- await componentsB.connectionManager.openConnection(componentsC.peerId);
54
- // Wait for peers to be ready in pubsub
55
- await pWaitFor(() => psA.getPeers().length === 1 &&
56
- psC.getPeers().length === 1 &&
57
- psA.getPeers().length === 1);
58
- });
59
- afterEach(async () => {
60
- sinon.restore();
61
- await stop(...Object.values(componentsA), ...Object.values(componentsB), ...Object.values(componentsC));
62
- await common.teardown();
63
- mockNetwork.reset();
64
- });
65
- it('subscribe to the topic on node a', async () => {
66
- const topic = 'Z';
67
- psA.subscribe(topic);
68
- expect(psA.getTopics()).to.deep.equal([topic]);
69
- await waitForSubscriptionUpdate(psB, componentsA.peerId);
70
- expect(psB.getPeers().length).to.equal(2);
71
- expect(psB.getSubscribers(topic).map(p => p.toString())).to.deep.equal([componentsA.peerId.toString()]);
72
- expect(psC.getPeers().length).to.equal(1);
73
- expect(psC.getSubscribers(topic)).to.be.empty();
74
- });
75
- it('subscribe to the topic on node b', async () => {
76
- const topic = 'Z';
77
- psB.subscribe(topic);
78
- expect(psB.getTopics()).to.deep.equal([topic]);
79
- await Promise.all([
80
- waitForSubscriptionUpdate(psA, componentsB.peerId),
81
- waitForSubscriptionUpdate(psC, componentsB.peerId)
82
- ]);
83
- expect(psA.getPeers().length).to.equal(1);
84
- expect(psA.getSubscribers(topic).map(p => p.toString())).to.deep.equal([componentsB.peerId.toString()]);
85
- expect(psC.getPeers().length).to.equal(1);
86
- expect(psC.getSubscribers(topic).map(p => p.toString())).to.deep.equal([componentsB.peerId.toString()]);
87
- });
88
- it('subscribe to the topic on node c', async () => {
89
- const topic = 'Z';
90
- const defer = pDefer();
91
- psC.subscribe(topic);
92
- expect(psC.getTopics()).to.deep.equal([topic]);
93
- psB.addEventListener('subscription-change', () => {
94
- expect(psA.getPeers().length).to.equal(1);
95
- expect(psB.getPeers().length).to.equal(2);
96
- expect(psB.getSubscribers(topic).map(p => p.toString())).to.deep.equal([componentsC.peerId.toString()]);
97
- defer.resolve();
98
- }, {
99
- once: true
100
- });
101
- return defer.promise;
102
- });
103
- it('publish on node a', async () => {
104
- const topic = 'Z';
105
- const defer = pDefer();
106
- psA.subscribe(topic);
107
- psB.subscribe(topic);
108
- psC.subscribe(topic);
109
- await Promise.all([
110
- waitForSubscriptionUpdate(psA, componentsB.peerId),
111
- waitForSubscriptionUpdate(psB, componentsA.peerId),
112
- waitForSubscriptionUpdate(psC, componentsB.peerId)
113
- ]);
114
- // GossipSub needs time to build the mesh overlay
115
- await delay(1000);
116
- let counter = 0;
117
- psA.addEventListener('message', incMsg);
118
- psB.addEventListener('message', incMsg);
119
- psC.addEventListener('message', incMsg);
120
- const result = await psA.publish(topic, uint8ArrayFromString('hey'));
121
- expect(result).to.have.property('recipients').with.property('length').greaterThanOrEqual(1);
122
- function incMsg(evt) {
123
- const msg = evt.detail;
124
- if (msg.topic !== topic) {
125
- return;
126
- }
127
- expect(uint8ArrayToString(msg.data)).to.equal('hey');
128
- check();
129
- }
130
- function check() {
131
- if (++counter === 3) {
132
- psA.removeEventListener('message', incMsg);
133
- psB.removeEventListener('message', incMsg);
134
- psC.removeEventListener('message', incMsg);
135
- defer.resolve();
136
- }
137
- }
138
- return defer.promise;
139
- });
140
- // since the topology is the same, just the publish
141
- // gets sent by other peer, we reused the same peers
142
- describe('1 level tree', () => {
143
- // 1 level tree
144
- // ┌◉┐
145
- // │b│
146
- // ◉─┘ └─◉
147
- // a c
148
- it('publish on node b', async () => {
149
- const topic = 'Z';
150
- const defer = pDefer();
151
- let counter = 0;
152
- psA.subscribe(topic);
153
- psB.subscribe(topic);
154
- psC.subscribe(topic);
155
- await Promise.all([
156
- waitForSubscriptionUpdate(psA, componentsB.peerId),
157
- waitForSubscriptionUpdate(psB, componentsA.peerId),
158
- waitForSubscriptionUpdate(psC, componentsB.peerId)
159
- ]);
160
- // GossipSub needs time to build the mesh overlay
161
- await delay(1000);
162
- psA.addEventListener('message', incMsg);
163
- psB.addEventListener('message', incMsg);
164
- psC.addEventListener('message', incMsg);
165
- await psB.publish(topic, uint8ArrayFromString('hey'));
166
- function incMsg(evt) {
167
- const msg = evt.detail;
168
- if (msg.topic !== topic) {
169
- return;
170
- }
171
- expect(uint8ArrayToString(msg.data)).to.equal('hey');
172
- check();
173
- }
174
- function check() {
175
- if (++counter === 3) {
176
- psA.removeEventListener('message', incMsg);
177
- psB.removeEventListener('message', incMsg);
178
- psC.removeEventListener('message', incMsg);
179
- defer.resolve();
180
- }
181
- }
182
- return defer.promise;
183
- });
184
- });
185
- });
186
- describe('2 level tree', () => {
187
- // 2 levels tree
188
- // ┌◉┐
189
- // │c│
190
- // ┌◉─┘ └─◉┐
191
- // │b d│
192
- // ◉─┘ └─◉
193
- // a
194
- let psA;
195
- let psB;
196
- let psC;
197
- let psD;
198
- let psE;
199
- let componentsA;
200
- let componentsB;
201
- let componentsC;
202
- let componentsD;
203
- let componentsE;
204
- // Create and start pubsub nodes
205
- beforeEach(async () => {
206
- mockNetwork.reset();
207
- componentsA = await createComponents();
208
- componentsB = await createComponents();
209
- componentsC = await createComponents();
210
- componentsD = await createComponents();
211
- componentsE = await createComponents();
212
- psA = componentsA.pubsub = await common.setup({
213
- components: componentsA,
214
- init: {
215
- emitSelf: true
216
- }
217
- });
218
- psB = componentsB.pubsub = await common.setup({
219
- components: componentsB,
220
- init: {
221
- emitSelf: true
222
- }
223
- });
224
- psC = componentsC.pubsub = await common.setup({
225
- components: componentsC,
226
- init: {
227
- emitSelf: true
228
- }
229
- });
230
- psD = componentsD.pubsub = await common.setup({
231
- components: componentsD,
232
- init: {
233
- emitSelf: true
234
- }
235
- });
236
- psE = componentsE.pubsub = await common.setup({
237
- components: componentsE,
238
- init: {
239
- emitSelf: true
240
- }
241
- });
242
- // Start pubsub nodes
243
- await start(...Object.values(componentsA), ...Object.values(componentsB), ...Object.values(componentsC), ...Object.values(componentsD), ...Object.values(componentsE));
244
- // connect nodes
245
- await componentsA.connectionManager.openConnection(componentsB.peerId);
246
- await componentsB.connectionManager.openConnection(componentsC.peerId);
247
- await componentsC.connectionManager.openConnection(componentsD.peerId);
248
- await componentsD.connectionManager.openConnection(componentsE.peerId);
249
- // Wait for peers to be ready in pubsub
250
- await pWaitFor(() => psA.getPeers().length === 1 &&
251
- psB.getPeers().length === 2 &&
252
- psC.getPeers().length === 2 &&
253
- psD.getPeers().length === 2 &&
254
- psE.getPeers().length === 1);
255
- });
256
- afterEach(async () => {
257
- await stop(...Object.values(componentsA), ...Object.values(componentsB), ...Object.values(componentsC), ...Object.values(componentsD), ...Object.values(componentsE));
258
- await common.teardown();
259
- mockNetwork.reset();
260
- });
261
- it('subscribes', () => {
262
- psA.subscribe('Z');
263
- expect(psA.getTopics()).to.deep.equal(['Z']);
264
- psB.subscribe('Z');
265
- expect(psB.getTopics()).to.deep.equal(['Z']);
266
- psC.subscribe('Z');
267
- expect(psC.getTopics()).to.deep.equal(['Z']);
268
- psD.subscribe('Z');
269
- expect(psD.getTopics()).to.deep.equal(['Z']);
270
- psE.subscribe('Z');
271
- expect(psE.getTopics()).to.deep.equal(['Z']);
272
- });
273
- it('publishes from c', async function () {
274
- const defer = pDefer();
275
- let counter = 0;
276
- const topic = 'Z';
277
- psA.subscribe(topic);
278
- psA.addEventListener('message', incMsg);
279
- psB.subscribe(topic);
280
- psB.addEventListener('message', incMsg);
281
- psC.subscribe(topic);
282
- psC.addEventListener('message', incMsg);
283
- psD.subscribe(topic);
284
- psD.addEventListener('message', incMsg);
285
- psE.subscribe(topic);
286
- psE.addEventListener('message', incMsg);
287
- await Promise.all([
288
- waitForSubscriptionUpdate(psA, componentsB.peerId),
289
- waitForSubscriptionUpdate(psB, componentsA.peerId),
290
- waitForSubscriptionUpdate(psC, componentsB.peerId),
291
- waitForSubscriptionUpdate(psD, componentsC.peerId),
292
- waitForSubscriptionUpdate(psE, componentsD.peerId)
293
- ]);
294
- // GossipSub needs time to build the mesh overlay
295
- await delay(1000);
296
- await psC.publish('Z', uint8ArrayFromString('hey from c'));
297
- function incMsg(evt) {
298
- const msg = evt.detail;
299
- if (msg.topic !== topic) {
300
- return;
301
- }
302
- expect(uint8ArrayToString(msg.data)).to.equal('hey from c');
303
- check();
304
- }
305
- function check() {
306
- if (++counter === 5) {
307
- psA.unsubscribe('Z');
308
- psB.unsubscribe('Z');
309
- psC.unsubscribe('Z');
310
- psD.unsubscribe('Z');
311
- psE.unsubscribe('Z');
312
- defer.resolve();
313
- }
314
- }
315
- return defer.promise;
316
- });
317
- });
318
- });
319
- describe('only some nodes subscribe the networks', () => {
320
- describe('line', () => {
321
- // line
322
- // ◉────◎────◉
323
- // a b c
324
- before(() => { });
325
- after(() => { });
326
- });
327
- describe('1 level tree', () => {
328
- // 1 level tree
329
- // ┌◉┐
330
- // │b│
331
- // ◎─┘ └─◉
332
- // a c
333
- before(() => { });
334
- after(() => { });
335
- });
336
- describe('2 level tree', () => {
337
- // 2 levels tree
338
- // ┌◉┐
339
- // │c│
340
- // ┌◎─┘ └─◉┐
341
- // │b d│
342
- // ◉─┘ └─◎
343
- // a e
344
- before(() => { });
345
- after(() => { });
346
- });
347
- });
348
- });
349
- };
350
- //# sourceMappingURL=multiple-nodes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multiple-nodes.js","sourceRoot":"","sources":["../../../src/pubsub/multiple-nodes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
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=two-nodes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"two-nodes.d.ts","sourceRoot":"","sources":["../../../src/pubsub/two-nodes.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,0BAA0B,CAAA;iCAQvC,UAAU,MAAM,EAAE,UAAU,CAAC,KAAG,IAAI;AAA5D,wBA2PC"}