@libp2p/interface-compliance-tests 1.1.2 → 1.1.6

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 (71) hide show
  1. package/dist/src/{utils/mock-connection-gater.d.ts → mocks/connection-gater.d.ts} +1 -1
  2. package/dist/src/mocks/connection-gater.d.ts.map +1 -0
  3. package/dist/src/{utils/mock-connection-gater.js → mocks/connection-gater.js} +1 -1
  4. package/dist/src/mocks/connection-gater.js.map +1 -0
  5. package/dist/src/{utils/mock-connection-manager.d.ts → mocks/connection-manager.d.ts} +1 -1
  6. package/dist/src/mocks/connection-manager.d.ts.map +1 -0
  7. package/dist/src/{utils/mock-connection-manager.js → mocks/connection-manager.js} +1 -1
  8. package/dist/src/mocks/connection-manager.js.map +1 -0
  9. package/dist/src/mocks/connection.d.ts +8 -0
  10. package/dist/src/mocks/connection.d.ts.map +1 -0
  11. package/dist/src/{utils/mock-connection.js → mocks/connection.js} +38 -5
  12. package/dist/src/mocks/connection.js.map +1 -0
  13. package/dist/src/mocks/index.d.ts +9 -0
  14. package/dist/src/mocks/index.d.ts.map +1 -0
  15. package/dist/src/mocks/index.js +8 -0
  16. package/dist/src/mocks/index.js.map +1 -0
  17. package/dist/src/{utils/mock-multiaddr-connection.d.ts → mocks/multiaddr-connection.d.ts} +2 -2
  18. package/dist/src/mocks/multiaddr-connection.d.ts.map +1 -0
  19. package/dist/src/{utils/mock-multiaddr-connection.js → mocks/multiaddr-connection.js} +3 -3
  20. package/dist/src/mocks/multiaddr-connection.js.map +1 -0
  21. package/dist/src/{utils/mock-muxer.d.ts → mocks/muxer.d.ts} +1 -1
  22. package/dist/src/mocks/muxer.d.ts.map +1 -0
  23. package/dist/src/{utils/mock-muxer.js → mocks/muxer.js} +1 -1
  24. package/dist/src/mocks/muxer.js.map +1 -0
  25. package/dist/src/mocks/registrar.d.ts +14 -0
  26. package/dist/src/mocks/registrar.d.ts.map +1 -0
  27. package/dist/src/mocks/registrar.js +59 -0
  28. package/dist/src/mocks/registrar.js.map +1 -0
  29. package/dist/src/{utils/mock-upgrader.d.ts → mocks/upgrader.d.ts} +1 -1
  30. package/dist/src/mocks/upgrader.d.ts.map +1 -0
  31. package/dist/src/{utils/mock-upgrader.js → mocks/upgrader.js} +3 -3
  32. package/dist/src/mocks/upgrader.js.map +1 -0
  33. package/dist/src/topology/topology.d.ts.map +1 -1
  34. package/dist/src/topology/topology.js +1 -10
  35. package/dist/src/topology/topology.js.map +1 -1
  36. package/dist/src/transport/utils/index.js +2 -2
  37. package/dist/src/transport/utils/index.js.map +1 -1
  38. package/package.json +5 -32
  39. package/src/{utils/mock-connection-gater.ts → mocks/connection-gater.ts} +0 -0
  40. package/src/{utils/mock-connection-manager.ts → mocks/connection-manager.ts} +0 -0
  41. package/src/{utils/mock-connection.ts → mocks/connection.ts} +41 -6
  42. package/src/mocks/index.ts +9 -0
  43. package/src/{utils/mock-multiaddr-connection.ts → mocks/multiaddr-connection.ts} +3 -3
  44. package/src/{utils/mock-muxer.ts → mocks/muxer.ts} +0 -0
  45. package/src/mocks/registrar.ts +77 -0
  46. package/src/{utils/mock-upgrader.ts → mocks/upgrader.ts} +2 -2
  47. package/src/topology/topology.ts +1 -14
  48. package/src/transport/utils/index.ts +2 -2
  49. package/dist/src/topology/multicodec-topology.d.ts +0 -5
  50. package/dist/src/topology/multicodec-topology.d.ts.map +0 -1
  51. package/dist/src/topology/multicodec-topology.js +0 -109
  52. package/dist/src/topology/multicodec-topology.js.map +0 -1
  53. package/dist/src/utils/mock-connection-gater.d.ts.map +0 -1
  54. package/dist/src/utils/mock-connection-gater.js.map +0 -1
  55. package/dist/src/utils/mock-connection-manager.d.ts.map +0 -1
  56. package/dist/src/utils/mock-connection-manager.js.map +0 -1
  57. package/dist/src/utils/mock-connection.d.ts +0 -5
  58. package/dist/src/utils/mock-connection.d.ts.map +0 -1
  59. package/dist/src/utils/mock-connection.js.map +0 -1
  60. package/dist/src/utils/mock-multiaddr-connection.d.ts.map +0 -1
  61. package/dist/src/utils/mock-multiaddr-connection.js.map +0 -1
  62. package/dist/src/utils/mock-muxer.d.ts.map +0 -1
  63. package/dist/src/utils/mock-muxer.js.map +0 -1
  64. package/dist/src/utils/mock-registrar.d.ts +0 -14
  65. package/dist/src/utils/mock-registrar.d.ts.map +0 -1
  66. package/dist/src/utils/mock-registrar.js +0 -38
  67. package/dist/src/utils/mock-registrar.js.map +0 -1
  68. package/dist/src/utils/mock-upgrader.d.ts.map +0 -1
  69. package/dist/src/utils/mock-upgrader.js.map +0 -1
  70. package/src/topology/multicodec-topology.ts +0 -136
  71. package/src/utils/mock-registrar.ts +0 -49
@@ -9,4 +9,4 @@ export declare function mockConnectionGater(): {
9
9
  denyOutboundUpgradedConnection: () => Promise<boolean>;
10
10
  filterMultiaddrForPeer: () => Promise<boolean>;
11
11
  };
12
- //# sourceMappingURL=mock-connection-gater.d.ts.map
12
+ //# sourceMappingURL=connection-gater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-gater.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection-gater.ts"],"names":[],"mappings":"AACA,wBAAgB,mBAAmB;;;;;;;;;;EAYlC"}
@@ -11,4 +11,4 @@ export function mockConnectionGater() {
11
11
  filterMultiaddrForPeer: async () => await Promise.resolve(true)
12
12
  };
13
13
  }
14
- //# sourceMappingURL=mock-connection-gater.js.map
14
+ //# sourceMappingURL=connection-gater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-gater.js","sourceRoot":"","sources":["../../../src/mocks/connection-gater.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACtD,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/D,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACxE,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACvE,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACxE,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KAChE,CAAA;AACH,CAAC"}
@@ -15,4 +15,4 @@ declare class MockConnectionManager extends EventEmitter<ConnectionManagerEvents
15
15
  }
16
16
  export declare function mockConnectionManager(): MockConnectionManager;
17
17
  export {};
18
- //# sourceMappingURL=mock-connection-manager.d.ts.map
18
+ //# sourceMappingURL=connection-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAElG,cAAM,qBAAsB,SAAQ,YAAY,CAAC,uBAAuB,CAAE,YAAW,iBAAiB;IACpG,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAItD,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI;IAIjO,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI;IAI/O,aAAa,CAAE,KAAK,EAAE,KAAK,GAAG,OAAO;CAGtC;AAED,wBAAgB,qBAAqB,0BAEpC"}
@@ -19,4 +19,4 @@ class MockConnectionManager extends EventEmitter {
19
19
  export function mockConnectionManager() {
20
20
  return new MockConnectionManager();
21
21
  }
22
- //# sourceMappingURL=mock-connection-manager.js.map
22
+ //# sourceMappingURL=connection-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../../src/mocks/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD,MAAM,qBAAsB,SAAQ,YAAqC;IACvE,aAAa,CAAE,MAAc;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,IAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,gBAAgB,CAA2B,IAAO,EAAE,QAAyH,EAAE,OAA2C;QACxN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,mBAAmB,CAA2B,IAAO,EAAE,QAAuI,EAAE,OAAwC;QACtO,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,KAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,qBAAqB,EAAE,CAAA;AACpC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
2
+ import type { Connection, Stream } from '@libp2p/interfaces/connection';
3
+ import type { Muxer } from '@libp2p/interfaces/stream-muxer';
4
+ import type { Duplex } from 'it-stream-types';
5
+ export declare function mockConnection(maConn: MultiaddrConnection, direction?: 'inbound' | 'outbound', muxer?: Muxer): Promise<Connection>;
6
+ export declare function mockStream(stream: Duplex<Uint8Array>): Stream;
7
+ export declare function connectionPair(): [Connection, Connection];
8
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAA4B,MAAM,+BAA+B,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAG7C,wBAAsB,cAAc,CAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,GAAE,SAAS,GAAG,UAAsB,EAAE,KAAK,GAAE,KAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDjK;AAED,wBAAgB,UAAU,CAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAW9D;AAED,wBAAgB,cAAc,IAAK,CAAE,UAAU,EAAE,UAAU,CAAE,CAmB5D"}
@@ -1,13 +1,15 @@
1
- import { PeerId } from '@libp2p/peer-id';
1
+ import { peerIdFromString } from '@libp2p/peer-id';
2
2
  import { createEd25519PeerId } from '@libp2p/peer-id-factory';
3
3
  import { pipe } from 'it-pipe';
4
- export async function mockConnection(maConn, direction, muxer) {
4
+ import { duplexPair } from 'it-pair/duplex';
5
+ import { mockMuxer } from './muxer.js';
6
+ export async function mockConnection(maConn, direction = 'inbound', muxer = mockMuxer()) {
5
7
  const remoteAddr = maConn.remoteAddr;
6
8
  const remotePeerIdStr = remoteAddr.getPeerId();
7
- const remotePeer = remotePeerIdStr != null ? PeerId.fromString(remotePeerIdStr) : await createEd25519PeerId();
9
+ const remotePeer = remotePeerIdStr != null ? peerIdFromString(remotePeerIdStr) : await createEd25519PeerId();
10
+ const registry = new Map();
8
11
  const streams = [];
9
12
  let streamId = 0;
10
- const registry = new Map();
11
13
  void pipe(maConn, muxer, maConn);
12
14
  return {
13
15
  id: 'mock-connection',
@@ -49,4 +51,35 @@ export async function mockConnection(maConn, direction, muxer) {
49
51
  }
50
52
  };
51
53
  }
52
- //# sourceMappingURL=mock-connection.js.map
54
+ export function mockStream(stream) {
55
+ return {
56
+ ...stream,
57
+ close: () => { },
58
+ abort: () => { },
59
+ reset: () => { },
60
+ timeline: {
61
+ open: Date.now()
62
+ },
63
+ id: `stream-${Date.now()}`
64
+ };
65
+ }
66
+ export function connectionPair() {
67
+ const [d0, d1] = duplexPair();
68
+ return [
69
+ // @ts-expect-error not a complete implementation
70
+ {
71
+ newStream: async (multicodecs) => await Promise.resolve({
72
+ stream: mockStream(d0),
73
+ protocol: multicodecs[0]
74
+ })
75
+ },
76
+ // @ts-expect-error not a complete implementation
77
+ {
78
+ newStream: async (multicodecs) => await Promise.resolve({
79
+ stream: mockStream(d1),
80
+ protocol: multicodecs[0]
81
+ })
82
+ }
83
+ ];
84
+ }
85
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/mocks/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export { mockConnectionGater } from './connection-gater.js';
2
+ export { mockConnectionManager } from './connection-manager.js';
3
+ export { mockConnection, mockStream, connectionPair } from './connection.js';
4
+ export { mockMultiaddrConnection } from './multiaddr-connection.js';
5
+ export { mockMuxer } from './muxer.js';
6
+ export { mockRegistrar } from './registrar.js';
7
+ export { mockUpgrader } from './upgrader.js';
8
+ export type { MockUpgraderOptions } from './upgrader.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,8 @@
1
+ export { mockConnectionGater } from './connection-gater.js';
2
+ export { mockConnectionManager } from './connection-manager.js';
3
+ export { mockConnection, mockStream, connectionPair } from './connection.js';
4
+ export { mockMultiaddrConnection } from './multiaddr-connection.js';
5
+ export { mockMuxer } from './muxer.js';
6
+ export { mockRegistrar } from './registrar.js';
7
+ export { mockUpgrader } from './upgrader.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
2
2
  import type { Duplex } from 'it-stream-types';
3
- export declare function mockMultiaddrConnection(source: Duplex<Uint8Array>): MultiaddrConnection;
4
- //# sourceMappingURL=mock-multiaddr-connection.d.ts.map
3
+ export declare function mockMultiaddrConnection(source: Duplex<Uint8Array> & Partial<MultiaddrConnection>): MultiaddrConnection;
4
+ //# sourceMappingURL=multiaddr-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiaddr-connection.d.ts","sourceRoot":"","sources":["../../../src/mocks/multiaddr-connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,wBAAgB,uBAAuB,CAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAavH"}
@@ -1,14 +1,14 @@
1
1
  import { Multiaddr } from '@multiformats/multiaddr';
2
2
  export function mockMultiaddrConnection(source) {
3
3
  const maConn = {
4
- ...source,
5
4
  async close() {
6
5
  },
7
6
  timeline: {
8
7
  open: Date.now()
9
8
  },
10
- remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001')
9
+ remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001'),
10
+ ...source
11
11
  };
12
12
  return maConn;
13
13
  }
14
- //# sourceMappingURL=mock-multiaddr-connection.js.map
14
+ //# sourceMappingURL=multiaddr-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiaddr-connection.js","sourceRoot":"","sources":["../../../src/mocks/multiaddr-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,MAAM,UAAU,uBAAuB,CAAE,MAAyD;IAChG,MAAM,MAAM,GAAwB;QAClC,KAAK,CAAC,KAAK;QAEX,CAAC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB;QACD,UAAU,EAAE,IAAI,SAAS,CAAC,yBAAyB,CAAC;QACpD,GAAG,MAAM;KACV,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { Muxer } from '@libp2p/interfaces/stream-muxer';
2
2
  export declare function mockMuxer(): Muxer;
3
- //# sourceMappingURL=mock-muxer.d.ts.map
3
+ //# sourceMappingURL=muxer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"muxer.d.ts","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,wBAAgB,SAAS,IAAK,KAAK,CAoClC"}
@@ -34,4 +34,4 @@ export function mockMuxer() {
34
34
  };
35
35
  return muxer;
36
36
  }
37
- //# sourceMappingURL=mock-muxer.js.map
37
+ //# sourceMappingURL=muxer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,MAAM,UAAU,CAAA;AAI5B,MAAM,UAAU,SAAS;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,MAAM,CAAC,GAAG,QAAQ,EAAc,CAAA;IAEhC,MAAM,KAAK,GAAU;QACnB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrB,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,EAAc,CAAA;YAE/B,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAW;gBACrB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,GAAG,EAAE;oBACV,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;gBAC7C,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,CAAC;iBACR;aACF,CAAA;YAED,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Registrar, StreamHandler } from '@libp2p/interfaces/registrar';
2
+ import type { Topology } from '@libp2p/interfaces/topology';
3
+ export declare class MockRegistrar implements Registrar {
4
+ private readonly topologies;
5
+ private readonly handlers;
6
+ handle(protocols: string | string[], handler: StreamHandler): Promise<string>;
7
+ unhandle(id: string): Promise<void>;
8
+ getHandlers(protocol: string): StreamHandler[];
9
+ register(protocols: string | string[], topology: Topology): string;
10
+ unregister(id: string | string[]): void;
11
+ getTopologies(protocol: string): Topology[];
12
+ }
13
+ export declare function mockRegistrar(): MockRegistrar;
14
+ //# sourceMappingURL=registrar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../../src/mocks/registrar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsE;IACjG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0E;IAE7F,MAAM,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa;IAe5D,QAAQ,CAAE,EAAE,EAAE,MAAM;IAI1B,WAAW,CAAE,QAAQ,EAAE,MAAM;IAY7B,QAAQ,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ;IAe1D,UAAU,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAQjC,aAAa,CAAE,QAAQ,EAAE,MAAM;CAWhC;AAED,wBAAgB,aAAa,kBAE5B"}
@@ -0,0 +1,59 @@
1
+ export class MockRegistrar {
2
+ constructor() {
3
+ this.topologies = new Map();
4
+ this.handlers = new Map();
5
+ }
6
+ async handle(protocols, handler) {
7
+ if (!Array.isArray(protocols)) {
8
+ protocols = [protocols];
9
+ }
10
+ const id = `handler-id-${Math.random()}`;
11
+ this.handlers.set(id, {
12
+ handler,
13
+ protocols
14
+ });
15
+ return id;
16
+ }
17
+ async unhandle(id) {
18
+ this.handlers.delete(id);
19
+ }
20
+ getHandlers(protocol) {
21
+ const output = [];
22
+ for (const { handler, protocols } of this.handlers.values()) {
23
+ if (protocols.includes(protocol)) {
24
+ output.push(handler);
25
+ }
26
+ }
27
+ return output;
28
+ }
29
+ register(protocols, topology) {
30
+ if (!Array.isArray(protocols)) {
31
+ protocols = [protocols];
32
+ }
33
+ const id = `topology-id-${Math.random()}`;
34
+ this.topologies.set(id, {
35
+ topology,
36
+ protocols
37
+ });
38
+ return id;
39
+ }
40
+ unregister(id) {
41
+ if (!Array.isArray(id)) {
42
+ id = [id];
43
+ }
44
+ id.forEach(id => this.topologies.delete(id));
45
+ }
46
+ getTopologies(protocol) {
47
+ const output = [];
48
+ for (const { topology, protocols } of this.topologies.values()) {
49
+ if (protocols.includes(protocol)) {
50
+ output.push(topology);
51
+ }
52
+ }
53
+ return output;
54
+ }
55
+ }
56
+ export function mockRegistrar() {
57
+ return new MockRegistrar();
58
+ }
59
+ //# sourceMappingURL=registrar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../../src/mocks/registrar.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IAA1B;QACmB,eAAU,GAA6D,IAAI,GAAG,EAAE,CAAA;QAChF,aAAQ,GAAiE,IAAI,GAAG,EAAE,CAAA;IAmErG,CAAC;IAjEC,KAAK,CAAC,MAAM,CAAE,SAA4B,EAAE,OAAsB;QAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;SACxB;QAED,MAAM,EAAE,GAAG,cAAc,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;QAExC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;YACpB,OAAO;YACP,SAAS;SACV,CAAC,CAAA;QAEF,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,EAAU;QACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,WAAW,CAAE,QAAgB;QAC3B,MAAM,MAAM,GAAoB,EAAE,CAAA;QAElC,KAAK,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YAC3D,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACrB;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,QAAQ,CAAE,SAA4B,EAAE,QAAkB;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;SACxB;QAED,MAAM,EAAE,GAAG,eAAe,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;QAEzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;YACtB,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,OAAO,EAAE,CAAA;IACX,CAAC;IAED,UAAU,CAAE,EAAqB;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACtB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;SACV;QAED,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,aAAa,CAAE,QAAgB;QAC7B,MAAM,MAAM,GAAe,EAAE,CAAA;QAE7B,KAAK,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;YAC9D,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACtB;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,aAAa,EAAE,CAAA;AAC5B,CAAC"}
@@ -4,4 +4,4 @@ export interface MockUpgraderOptions {
4
4
  muxer?: Muxer;
5
5
  }
6
6
  export declare function mockUpgrader(options?: MockUpgraderOptions): Upgrader;
7
- //# sourceMappingURL=mock-upgrader.d.ts.map
7
+ //# sourceMappingURL=upgrader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAuB,MAAM,8BAA8B,CAAA;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,wBAAgB,YAAY,CAAE,OAAO,GAAE,mBAAwB,YAsB9D"}
@@ -1,6 +1,6 @@
1
1
  import { expect } from 'aegir/utils/chai.js';
2
- import { mockMuxer } from './mock-muxer.js';
3
- import { mockConnection } from './mock-connection.js';
2
+ import { mockMuxer } from './muxer.js';
3
+ import { mockConnection } from './connection.js';
4
4
  export function mockUpgrader(options = {}) {
5
5
  const ensureProps = (multiaddrConnection) => {
6
6
  ['sink', 'source', 'remoteAddr', 'timeline', 'close'].forEach(prop => {
@@ -21,4 +21,4 @@ export function mockUpgrader(options = {}) {
21
21
  };
22
22
  return upgrader;
23
23
  }
24
- //# sourceMappingURL=mock-upgrader.js.map
24
+ //# sourceMappingURL=upgrader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAQhD,MAAM,UAAU,YAAY,CAAE,UAA+B,EAAE;IAC7D,MAAM,WAAW,GAAG,CAAC,mBAAwC,EAAE,EAAE;QAC/D,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnE,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,OAAO,mBAAmB,CAAA;IAC5B,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,CAAA;IAE1C,MAAM,QAAQ,GAAa;QACzB,KAAK,CAAC,eAAe,CAAE,mBAAmB;YACxC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,CAAC,cAAc,CAAE,mBAAmB;YACvC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACpE,CAAC;KACF,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;+BAGrC,UAAU,QAAQ,CAAC;AAAzC,wBA6BC"}
1
+ {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;+BAErC,UAAU,QAAQ,CAAC;AAAzC,wBAmBC"}
@@ -1,13 +1,10 @@
1
1
  import { expect } from 'aegir/utils/chai.js';
2
2
  import sinon from 'sinon';
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory';
4
- import peers from '../utils/peers.js';
5
3
  export default (test) => {
6
4
  describe('topology', () => {
7
- let topology, id;
5
+ let topology;
8
6
  beforeEach(async () => {
9
7
  topology = await test.setup();
10
- id = await PeerIdFactory.createFromJSON(peers[0]);
11
8
  });
12
9
  afterEach(async () => {
13
10
  sinon.restore();
@@ -18,12 +15,6 @@ export default (test) => {
18
15
  expect(topology.max).to.exist();
19
16
  expect(topology.peers).to.exist();
20
17
  });
21
- it('should trigger "onDisconnect" on peer disconnected', () => {
22
- // @ts-expect-error protected property
23
- sinon.spy(topology, '_onDisconnect');
24
- topology.disconnect(id);
25
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1);
26
- });
27
18
  });
28
19
  };
29
20
  //# sourceMappingURL=topology.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topology.js","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,MAAM,mBAAmB,CAAA;AAKrC,eAAe,CAAC,IAAyB,EAAE,EAAE;IAC3C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,QAAkB,EAAE,EAAU,CAAA;QAElC,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAE7B,EAAE,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,EAAE,CAAA;YACf,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,sCAAsC;YACtC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;YACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YAEvB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"topology.js","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAe,CAAC,IAAyB,EAAE,EAAE;IAC3C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,QAAkB,CAAA;QAEtB,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,EAAE,CAAA;YACf,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { expect } from 'aegir/utils/chai.js';
2
2
  import { pair } from 'it-pair';
3
- import { PeerId } from '@libp2p/peer-id';
3
+ import { peerIdFromString } from '@libp2p/peer-id';
4
4
  import * as PeerIdFactory from '@libp2p/peer-id-factory';
5
5
  import { pushable } from 'it-pushable';
6
6
  import drain from 'it-drain';
@@ -89,7 +89,7 @@ export function mockUpgrader(options = {}) {
89
89
  async function createConnection(maConn, direction, muxer) {
90
90
  const remoteAddr = maConn.remoteAddr;
91
91
  const remotePeerIdStr = remoteAddr.getPeerId();
92
- const remotePeer = remotePeerIdStr != null ? PeerId.fromString(remotePeerIdStr) : await PeerIdFactory.createEd25519PeerId();
92
+ const remotePeer = remotePeerIdStr != null ? peerIdFromString(remotePeerIdStr) : await PeerIdFactory.createEd25519PeerId();
93
93
  const streams = [];
94
94
  let streamId = 0;
95
95
  const registry = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/utils/index.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.2",
3
+ "version": "1.1.6",
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",
@@ -88,37 +88,9 @@
88
88
  "import": "./dist/src/transport/utils/index.js",
89
89
  "types": "./dist/src/transport/utils/index.d.ts"
90
90
  },
91
- "./utils/mock-connection": {
92
- "import": "./dist/src/utils/mock-connection.js",
93
- "types": "./dist/src/utils/mock-connection.d.ts"
94
- },
95
- "./utils/mock-connection-gater": {
96
- "import": "./dist/src/utils/mock-connection-gater.js",
97
- "types": "./dist/src/utils/mock-connection-gater.d.ts"
98
- },
99
- "./utils/mock-connection-manager": {
100
- "import": "./dist/src/utils/mock-connection-manager.js",
101
- "types": "./dist/src/utils/mock-connection-manager.d.ts"
102
- },
103
- "./utils/mock-multiaddr-connection": {
104
- "import": "./dist/src/utils/mock-multiaddr-connection.js",
105
- "types": "./dist/src/utils/mock-multiaddr-connection.d.ts"
106
- },
107
- "./utils/mock-muxer": {
108
- "import": "./dist/src/utils/mock-muxer.js",
109
- "types": "./dist/src/utils/mock-muxer.d.ts"
110
- },
111
- "./utils/mock-peer-store": {
112
- "import": "./dist/src/utils/mock-peer-store.js",
113
- "types": "./dist/src/utils/mock-peer-store.d.ts"
114
- },
115
- "./utils/mock-registrar": {
116
- "import": "./dist/src/utils/mock-registrar.js",
117
- "types": "./dist/src/utils/mock-registrar.d.ts"
118
- },
119
- "./utils/mock-upgrader": {
120
- "import": "./dist/src/utils/mock-upgrader.js",
121
- "types": "./dist/src/utils/mock-upgrader.d.ts"
91
+ "./mocks": {
92
+ "import": "./dist/src/mocks/index.js",
93
+ "types": "./dist/src/mocks/index.d.ts"
122
94
  },
123
95
  "./utils/peers": {
124
96
  "import": "./dist/src/utils/peers.js",
@@ -242,6 +214,7 @@
242
214
  "it-pair": "^2.0.0",
243
215
  "it-pipe": "^2.0.2",
244
216
  "it-pushable": "^2.0.1",
217
+ "it-stream-types": "^1.0.4",
245
218
  "multiformats": "^9.4.10",
246
219
  "p-defer": "^4.0.0",
247
220
  "p-limit": "^4.0.0",
@@ -1,20 +1,21 @@
1
- import { PeerId } from '@libp2p/peer-id'
1
+ import { peerIdFromString } from '@libp2p/peer-id'
2
2
  import { createEd25519PeerId } from '@libp2p/peer-id-factory'
3
3
  import { pipe } from 'it-pipe'
4
+ import { duplexPair } from 'it-pair/duplex'
4
5
  import type { MultiaddrConnection } from '@libp2p/interfaces/transport'
5
6
  import type { Connection, Stream, Metadata, ProtocolStream } from '@libp2p/interfaces/connection'
6
7
  import type { Muxer } from '@libp2p/interfaces/stream-muxer'
8
+ import type { Duplex } from 'it-stream-types'
9
+ import { mockMuxer } from './muxer.js'
7
10
 
8
- export async function mockConnection (maConn: MultiaddrConnection, direction: 'inbound' | 'outbound', muxer: Muxer): Promise<Connection> {
11
+ export async function mockConnection (maConn: MultiaddrConnection, direction: 'inbound' | 'outbound' = 'inbound', muxer: Muxer = mockMuxer()): Promise<Connection> {
9
12
  const remoteAddr = maConn.remoteAddr
10
13
  const remotePeerIdStr = remoteAddr.getPeerId()
11
- const remotePeer = remotePeerIdStr != null ? PeerId.fromString(remotePeerIdStr) : await createEd25519PeerId()
12
-
14
+ const remotePeer = remotePeerIdStr != null ? peerIdFromString(remotePeerIdStr) : await createEd25519PeerId()
15
+ const registry = new Map()
13
16
  const streams: Stream[] = []
14
17
  let streamId = 0
15
18
 
16
- const registry = new Map()
17
-
18
19
  void pipe(
19
20
  maConn, muxer, maConn
20
21
  )
@@ -64,3 +65,37 @@ export async function mockConnection (maConn: MultiaddrConnection, direction: 'i
64
65
  }
65
66
  }
66
67
  }
68
+
69
+ export function mockStream (stream: Duplex<Uint8Array>): Stream {
70
+ return {
71
+ ...stream,
72
+ close: () => {},
73
+ abort: () => {},
74
+ reset: () => {},
75
+ timeline: {
76
+ open: Date.now()
77
+ },
78
+ id: `stream-${Date.now()}`
79
+ }
80
+ }
81
+
82
+ export function connectionPair (): [ Connection, Connection ] {
83
+ const [d0, d1] = duplexPair<Uint8Array>()
84
+
85
+ return [
86
+ // @ts-expect-error not a complete implementation
87
+ {
88
+ newStream: async (multicodecs: string[]) => await Promise.resolve({
89
+ stream: mockStream(d0),
90
+ protocol: multicodecs[0]
91
+ })
92
+ },
93
+ // @ts-expect-error not a complete implementation
94
+ {
95
+ newStream: async (multicodecs: string[]) => await Promise.resolve({
96
+ stream: mockStream(d1),
97
+ protocol: multicodecs[0]
98
+ })
99
+ }
100
+ ]
101
+ }
@@ -0,0 +1,9 @@
1
+
2
+ export { mockConnectionGater } from './connection-gater.js'
3
+ export { mockConnectionManager } from './connection-manager.js'
4
+ export { mockConnection, mockStream, connectionPair } from './connection.js'
5
+ export { mockMultiaddrConnection } from './multiaddr-connection.js'
6
+ export { mockMuxer } from './muxer.js'
7
+ export { mockRegistrar } from './registrar.js'
8
+ export { mockUpgrader } from './upgrader.js'
9
+ export type { MockUpgraderOptions } from './upgrader.js'
@@ -2,16 +2,16 @@ import { Multiaddr } from '@multiformats/multiaddr'
2
2
  import type { MultiaddrConnection } from '@libp2p/interfaces/transport'
3
3
  import type { Duplex } from 'it-stream-types'
4
4
 
5
- export function mockMultiaddrConnection (source: Duplex<Uint8Array>): MultiaddrConnection {
5
+ export function mockMultiaddrConnection (source: Duplex<Uint8Array> & Partial<MultiaddrConnection>): MultiaddrConnection {
6
6
  const maConn: MultiaddrConnection = {
7
- ...source,
8
7
  async close () {
9
8
 
10
9
  },
11
10
  timeline: {
12
11
  open: Date.now()
13
12
  },
14
- remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001')
13
+ remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001'),
14
+ ...source
15
15
  }
16
16
 
17
17
  return maConn
File without changes
@@ -0,0 +1,77 @@
1
+ import type { Registrar, StreamHandler } from '@libp2p/interfaces/registrar'
2
+ import type { Topology } from '@libp2p/interfaces/topology'
3
+
4
+ export class MockRegistrar implements Registrar {
5
+ private readonly topologies: Map<string, { topology: Topology, protocols: string[] }> = new Map()
6
+ private readonly handlers: Map<string, { handler: StreamHandler, protocols: string[] }> = new Map()
7
+
8
+ async handle (protocols: string | string[], handler: StreamHandler) {
9
+ if (!Array.isArray(protocols)) {
10
+ protocols = [protocols]
11
+ }
12
+
13
+ const id = `handler-id-${Math.random()}`
14
+
15
+ this.handlers.set(id, {
16
+ handler,
17
+ protocols
18
+ })
19
+
20
+ return id
21
+ }
22
+
23
+ async unhandle (id: string) {
24
+ this.handlers.delete(id)
25
+ }
26
+
27
+ getHandlers (protocol: string) {
28
+ const output: StreamHandler[] = []
29
+
30
+ for (const { handler, protocols } of this.handlers.values()) {
31
+ if (protocols.includes(protocol)) {
32
+ output.push(handler)
33
+ }
34
+ }
35
+
36
+ return output
37
+ }
38
+
39
+ register (protocols: string | string[], topology: Topology) {
40
+ if (!Array.isArray(protocols)) {
41
+ protocols = [protocols]
42
+ }
43
+
44
+ const id = `topology-id-${Math.random()}`
45
+
46
+ this.topologies.set(id, {
47
+ topology,
48
+ protocols
49
+ })
50
+
51
+ return id
52
+ }
53
+
54
+ unregister (id: string | string[]) {
55
+ if (!Array.isArray(id)) {
56
+ id = [id]
57
+ }
58
+
59
+ id.forEach(id => this.topologies.delete(id))
60
+ }
61
+
62
+ getTopologies (protocol: string) {
63
+ const output: Topology[] = []
64
+
65
+ for (const { topology, protocols } of this.topologies.values()) {
66
+ if (protocols.includes(protocol)) {
67
+ output.push(topology)
68
+ }
69
+ }
70
+
71
+ return output
72
+ }
73
+ }
74
+
75
+ export function mockRegistrar () {
76
+ return new MockRegistrar()
77
+ }
@@ -1,6 +1,6 @@
1
1
  import { expect } from 'aegir/utils/chai.js'
2
- import { mockMuxer } from './mock-muxer.js'
3
- import { mockConnection } from './mock-connection.js'
2
+ import { mockMuxer } from './muxer.js'
3
+ import { mockConnection } from './connection.js'
4
4
  import type { Upgrader, MultiaddrConnection } from '@libp2p/interfaces/transport'
5
5
  import type { Muxer } from '@libp2p/interfaces/stream-muxer'
6
6
 
@@ -1,19 +1,14 @@
1
1
  import { expect } from 'aegir/utils/chai.js'
2
2
  import sinon from 'sinon'
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory'
4
- import peers from '../utils/peers.js'
5
3
  import type { TestSetup } from '../index.js'
6
4
  import type { Topology } from '@libp2p/interfaces/topology'
7
- import type { PeerId } from '@libp2p/interfaces/peer-id'
8
5
 
9
6
  export default (test: TestSetup<Topology>) => {
10
7
  describe('topology', () => {
11
- let topology: Topology, id: PeerId
8
+ let topology: Topology
12
9
 
13
10
  beforeEach(async () => {
14
11
  topology = await test.setup()
15
-
16
- id = await PeerIdFactory.createFromJSON(peers[0])
17
12
  })
18
13
 
19
14
  afterEach(async () => {
@@ -26,13 +21,5 @@ export default (test: TestSetup<Topology>) => {
26
21
  expect(topology.max).to.exist()
27
22
  expect(topology.peers).to.exist()
28
23
  })
29
-
30
- it('should trigger "onDisconnect" on peer disconnected', () => {
31
- // @ts-expect-error protected property
32
- sinon.spy(topology, '_onDisconnect')
33
- topology.disconnect(id)
34
-
35
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1)
36
- })
37
24
  })
38
25
  }
@@ -1,6 +1,6 @@
1
1
  import { expect } from 'aegir/utils/chai.js'
2
2
  import { pair } from 'it-pair'
3
- import { PeerId } from '@libp2p/peer-id'
3
+ import { peerIdFromString } from '@libp2p/peer-id'
4
4
  import * as PeerIdFactory from '@libp2p/peer-id-factory'
5
5
  import { pushable } from 'it-pushable'
6
6
  import drain from 'it-drain'
@@ -114,7 +114,7 @@ export function mockUpgrader (options: MockUpgraderOptions = {}) {
114
114
  async function createConnection (maConn: MultiaddrConnection, direction: 'inbound' | 'outbound', muxer: Muxer): Promise<Connection> {
115
115
  const remoteAddr = maConn.remoteAddr
116
116
  const remotePeerIdStr = remoteAddr.getPeerId()
117
- const remotePeer = remotePeerIdStr != null ? PeerId.fromString(remotePeerIdStr) : await PeerIdFactory.createEd25519PeerId()
117
+ const remotePeer = remotePeerIdStr != null ? peerIdFromString(remotePeerIdStr) : await PeerIdFactory.createEd25519PeerId()
118
118
 
119
119
  const streams: Stream[] = []
120
120
  let streamId = 0
@@ -1,5 +0,0 @@
1
- import type { TestSetup } from '../index.js';
2
- import type { MulticodecTopology } from '@libp2p/interfaces/topology';
3
- declare const _default: (test: TestSetup<MulticodecTopology>) => void;
4
- export default _default;
5
- //# sourceMappingURL=multicodec-topology.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multicodec-topology.d.ts","sourceRoot":"","sources":["../../../src/topology/multicodec-topology.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;+BAG/C,UAAU,kBAAkB,CAAC;AAAnD,wBA+HC"}
@@ -1,109 +0,0 @@
1
- import { expect } from 'aegir/utils/chai.js';
2
- import sinon from 'sinon';
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory';
4
- import peers from '../utils/peers.js';
5
- export default (test) => {
6
- describe('multicodec topology', () => {
7
- let topology, id;
8
- beforeEach(async () => {
9
- topology = await test.setup();
10
- id = await PeerIdFactory.createFromJSON(peers[0]);
11
- });
12
- afterEach(async () => {
13
- sinon.restore();
14
- await test.teardown();
15
- });
16
- it('should have properties set', () => {
17
- expect(topology.multicodecs).to.exist();
18
- expect(topology.peers).to.exist();
19
- });
20
- it('should trigger "onDisconnect" on peer disconnected', () => {
21
- // @ts-expect-error protected property
22
- sinon.spy(topology, '_onDisconnect');
23
- topology.disconnect(id);
24
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1);
25
- });
26
- it('should update peers on protocol change', async () => {
27
- // @ts-expect-error protected property
28
- sinon.spy(topology, '_updatePeers');
29
- expect(topology.peers.size).to.eql(0);
30
- // @ts-expect-error protected property
31
- const peerStore = topology._registrar.peerStore;
32
- const id2 = await PeerIdFactory.createFromJSON(peers[1]);
33
- peerStore.peers.set(id2.toString(), {
34
- id: id2,
35
- protocols: Array.from(topology.multicodecs)
36
- });
37
- peerStore.emit('change:protocols', {
38
- peerId: id2,
39
- protocols: Array.from(topology.multicodecs)
40
- });
41
- expect(topology).to.have.nested.property('_updatePeers.callCount', 1);
42
- expect(topology.peers.size).to.eql(1);
43
- });
44
- it('should disconnect if peer no longer supports a protocol', async () => {
45
- // @ts-expect-error protected property
46
- sinon.spy(topology, '_onDisconnect');
47
- expect(topology.peers.size).to.eql(0);
48
- // @ts-expect-error protected property
49
- const peerStore = topology._registrar.peerStore;
50
- const id2 = await PeerIdFactory.createFromJSON(peers[1]);
51
- peerStore.peers.set(id2.toString(), {
52
- id: id2,
53
- protocols: Array.from(topology.multicodecs)
54
- });
55
- peerStore.emit('change:protocols', {
56
- peerId: id2,
57
- protocols: Array.from(topology.multicodecs)
58
- });
59
- expect(topology.peers.size).to.eql(1);
60
- peerStore.peers.set(id2.toString(), {
61
- id: id2,
62
- protocols: []
63
- });
64
- // Peer does not support the protocol anymore
65
- peerStore.emit('change:protocols', {
66
- peerId: id2,
67
- protocols: []
68
- });
69
- expect(topology.peers.size).to.eql(1);
70
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1);
71
- // @ts-expect-error protected property
72
- expect(topology._onDisconnect.calledWith(id2)).to.equal(true);
73
- });
74
- it('should trigger "onConnect" when a peer connects and has one of the topology multicodecs in its known protocols', () => {
75
- // @ts-expect-error protected property
76
- sinon.spy(topology, '_onConnect');
77
- // @ts-expect-error protected property
78
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(topology.multicodecs);
79
- // @ts-expect-error protected property
80
- topology._registrar.connectionManager.emit('peer:connect', {
81
- remotePeer: id
82
- });
83
- expect(topology).to.have.nested.property('_onConnect.callCount', 1);
84
- });
85
- it('should not trigger "onConnect" when a peer connects and has none of the topology multicodecs in its known protocols', () => {
86
- // @ts-expect-error protected property
87
- sinon.spy(topology, '_onConnect');
88
- // @ts-expect-error protected property
89
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns([]);
90
- // @ts-expect-error protected property
91
- topology._registrar.connectionManager.emit('peer:connect', {
92
- remotePeer: id
93
- });
94
- expect(topology).to.have.nested.property('_onConnect.callCount', 0);
95
- });
96
- it('should not trigger "onConnect" when a peer connects and its protocols are not known', () => {
97
- // @ts-expect-error protected property
98
- sinon.spy(topology, '_onConnect');
99
- // @ts-expect-error protected property
100
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(undefined);
101
- // @ts-expect-error protected property
102
- topology._registrar.connectionManager.emit('peer:connect', {
103
- remotePeer: id
104
- });
105
- expect(topology).to.have.nested.property('_onConnect.callCount', 0);
106
- });
107
- });
108
- };
109
- //# sourceMappingURL=multicodec-topology.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multicodec-topology.js","sourceRoot":"","sources":["../../../src/topology/multicodec-topology.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection-gater.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-connection-gater.ts"],"names":[],"mappings":"AACA,wBAAgB,mBAAmB;;;;;;;;;;EAYlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection-gater.js","sourceRoot":"","sources":["../../../src/utils/mock-connection-gater.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACtD,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/D,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACxE,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACvE,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACxE,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KAChE,CAAA;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAElG,cAAM,qBAAsB,SAAQ,YAAY,CAAC,uBAAuB,CAAE,YAAW,iBAAiB;IACpG,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAItD,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI;IAIjO,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI;IAI/O,aAAa,CAAE,KAAK,EAAE,KAAK,GAAG,OAAO;CAGtC;AAED,wBAAgB,qBAAqB,0BAEpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection-manager.js","sourceRoot":"","sources":["../../../src/utils/mock-connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD,MAAM,qBAAsB,SAAQ,YAAqC;IACvE,aAAa,CAAE,MAAc;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,IAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,gBAAgB,CAA2B,IAAO,EAAE,QAAyH,EAAE,OAA2C;QACxN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,mBAAmB,CAA2B,IAAO,EAAE,QAAuI,EAAE,OAAwC;QACtO,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,KAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,qBAAqB,EAAE,CAAA;AACpC,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
2
- import type { Connection } from '@libp2p/interfaces/connection';
3
- import type { Muxer } from '@libp2p/interfaces/stream-muxer';
4
- export declare function mockConnection(maConn: MultiaddrConnection, direction: 'inbound' | 'outbound', muxer: Muxer): Promise<Connection>;
5
- //# sourceMappingURL=mock-connection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-connection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAoC,MAAM,+BAA+B,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,wBAAsB,cAAc,CAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CA0DvI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection.js","sourceRoot":"","sources":["../../../src/utils/mock-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAK9B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,MAA2B,EAAE,SAAiC,EAAE,KAAY;IAChH,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IACpC,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;IAC9C,MAAM,UAAU,GAAG,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,mBAAmB,EAAE,CAAA;IAE7G,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;IAE1B,KAAK,IAAI,CACP,MAAM,EAAE,KAAK,EAAE,MAAM,CACtB,CAAA;IAED,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,UAAU;QACV,UAAU;QACV,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,qBAAqB;SAClC;QACD,QAAQ;QACR,IAAI,EAAE,EAAE;QACR,OAAO;QACP,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;aACxB;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;aAChD;YAED,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAW,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC1C,MAAM,UAAU,GAAmB;gBACjC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtB,MAAM;aACP,CAAA;YAED,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;YAE5B,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,SAAS,EAAE,CAAC,MAAc,EAAE,QAAkB,EAAE,EAAE;QAElD,CAAC;QACD,YAAY,EAAE,CAAC,EAAU,EAAE,EAAE;YAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-multiaddr-connection.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-multiaddr-connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,wBAAgB,uBAAuB,CAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAaxF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-multiaddr-connection.js","sourceRoot":"","sources":["../../../src/utils/mock-multiaddr-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,MAAM,UAAU,uBAAuB,CAAE,MAA0B;IACjE,MAAM,MAAM,GAAwB;QAClC,GAAG,MAAM;QACT,KAAK,CAAC,KAAK;QAEX,CAAC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB;QACD,UAAU,EAAE,IAAI,SAAS,CAAC,yBAAyB,CAAC;KACrD,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-muxer.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-muxer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,wBAAgB,SAAS,IAAK,KAAK,CAoClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-muxer.js","sourceRoot":"","sources":["../../../src/utils/mock-muxer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,MAAM,UAAU,CAAA;AAI5B,MAAM,UAAU,SAAS;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,MAAM,CAAC,GAAG,QAAQ,EAAc,CAAA;IAEhC,MAAM,KAAK,GAAU;QACnB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrB,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,EAAc,CAAA;YAE/B,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAW;gBACrB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,GAAG,EAAE;oBACV,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;gBAC7C,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,CAAC;iBACR;aACF,CAAA;YAED,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,14 +0,0 @@
1
- import type { IncomingStreamEvent, Registrar } from '@libp2p/interfaces/registrar';
2
- import type { PeerId } from '@libp2p/interfaces/peer-id';
3
- import type { Connection } from '@libp2p/interfaces/connection';
4
- declare class MockRegistrar implements Registrar {
5
- private readonly registrarRecord;
6
- handle(multicodecs: string | string[], handler: (event: IncomingStreamEvent) => void): void;
7
- unhandle(multicodec: string): void;
8
- register(topology: any): any;
9
- unregister(id: string): void;
10
- getConnection(peerId: PeerId): Connection | undefined;
11
- }
12
- export declare function mockRegistrar(): MockRegistrar;
13
- export {};
14
- //# sourceMappingURL=mock-registrar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-registrar.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-registrar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,cAAM,aAAc,YAAW,SAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8C;IAE9E,MAAM,CAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI;IAarF,QAAQ,CAAE,UAAU,EAAE,MAAM;IAI5B,QAAQ,CAAE,QAAQ,EAAE,GAAG;IAavB,UAAU,CAAE,EAAE,EAAE,MAAM;IAItB,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAGvD;AAED,wBAAgB,aAAa,kBAE5B"}
@@ -1,38 +0,0 @@
1
- class MockRegistrar {
2
- constructor() {
3
- this.registrarRecord = new Map();
4
- }
5
- handle(multicodecs, handler) {
6
- if (!Array.isArray(multicodecs)) {
7
- multicodecs = [multicodecs];
8
- }
9
- const rec = this.registrarRecord.get(multicodecs[0]) ?? {};
10
- this.registrarRecord.set(multicodecs[0], {
11
- ...rec,
12
- handler
13
- });
14
- }
15
- unhandle(multicodec) {
16
- this.registrarRecord.delete(multicodec);
17
- }
18
- register(topology) {
19
- const { multicodecs } = topology;
20
- const rec = this.registrarRecord.get(multicodecs[0]) ?? {};
21
- this.registrarRecord.set(multicodecs[0], {
22
- ...rec,
23
- onConnect: topology._onConnect,
24
- onDisconnect: topology._onDisconnect
25
- });
26
- return multicodecs[0];
27
- }
28
- unregister(id) {
29
- this.registrarRecord.delete(id);
30
- }
31
- getConnection(peerId) {
32
- throw new Error('Not implemented');
33
- }
34
- }
35
- export function mockRegistrar() {
36
- return new MockRegistrar();
37
- }
38
- //# sourceMappingURL=mock-registrar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-registrar.js","sourceRoot":"","sources":["../../../src/utils/mock-registrar.ts"],"names":[],"mappings":"AAIA,MAAM,aAAa;IAAnB;QACmB,oBAAe,GAAqC,IAAI,GAAG,EAAE,CAAA;IAuChF,CAAC;IArCC,MAAM,CAAE,WAA8B,EAAE,OAA6C;QACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC/B,WAAW,GAAG,CAAC,WAAW,CAAC,CAAA;SAC5B;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACvC,GAAG,GAAG;YACN,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAE,UAAkB;QAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;IAED,QAAQ,CAAE,QAAa;QACrB,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAA;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACvC,GAAG,GAAG;YACN,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,YAAY,EAAE,QAAQ,CAAC,aAAa;SACrC,CAAC,CAAA;QAEF,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,UAAU,CAAE,EAAU;QACpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,aAAa,CAAE,MAAc;QAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;CACF;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,aAAa,EAAE,CAAA;AAC5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-upgrader.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-upgrader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAuB,MAAM,8BAA8B,CAAA;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,wBAAgB,YAAY,CAAE,OAAO,GAAE,mBAAwB,YAsB9D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-upgrader.js","sourceRoot":"","sources":["../../../src/utils/mock-upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAQrD,MAAM,UAAU,YAAY,CAAE,UAA+B,EAAE;IAC7D,MAAM,WAAW,GAAG,CAAC,mBAAwC,EAAE,EAAE;QAC/D,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnE,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,OAAO,mBAAmB,CAAA;IAC5B,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,CAAA;IAE1C,MAAM,QAAQ,GAAa;QACzB,KAAK,CAAC,eAAe,CAAE,mBAAmB;YACxC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,CAAC,cAAc,CAAE,mBAAmB;YACvC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACpE,CAAC;KACF,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1,136 +0,0 @@
1
- import { expect } from 'aegir/utils/chai.js'
2
- import sinon from 'sinon'
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory'
4
- import peers from '../utils/peers.js'
5
- import type { TestSetup } from '../index.js'
6
- import type { MulticodecTopology } from '@libp2p/interfaces/topology'
7
- import type { PeerId } from '@libp2p/interfaces/peer-id'
8
-
9
- export default (test: TestSetup<MulticodecTopology>) => {
10
- describe('multicodec topology', () => {
11
- let topology: MulticodecTopology, id: PeerId
12
-
13
- beforeEach(async () => {
14
- topology = await test.setup()
15
-
16
- id = await PeerIdFactory.createFromJSON(peers[0])
17
- })
18
-
19
- afterEach(async () => {
20
- sinon.restore()
21
- await test.teardown()
22
- })
23
-
24
- it('should have properties set', () => {
25
- expect(topology.multicodecs).to.exist()
26
- expect(topology.peers).to.exist()
27
- })
28
-
29
- it('should trigger "onDisconnect" on peer disconnected', () => {
30
- // @ts-expect-error protected property
31
- sinon.spy(topology, '_onDisconnect')
32
- topology.disconnect(id)
33
-
34
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1)
35
- })
36
-
37
- it('should update peers on protocol change', async () => {
38
- // @ts-expect-error protected property
39
- sinon.spy(topology, '_updatePeers')
40
- expect(topology.peers.size).to.eql(0)
41
-
42
- // @ts-expect-error protected property
43
- const peerStore = topology._registrar.peerStore
44
-
45
- const id2 = await PeerIdFactory.createFromJSON(peers[1])
46
- peerStore.peers.set(id2.toString(), {
47
- id: id2,
48
- protocols: Array.from(topology.multicodecs)
49
- })
50
-
51
- peerStore.emit('change:protocols', {
52
- peerId: id2,
53
- protocols: Array.from(topology.multicodecs)
54
- })
55
-
56
- expect(topology).to.have.nested.property('_updatePeers.callCount', 1)
57
- expect(topology.peers.size).to.eql(1)
58
- })
59
-
60
- it('should disconnect if peer no longer supports a protocol', async () => {
61
- // @ts-expect-error protected property
62
- sinon.spy(topology, '_onDisconnect')
63
- expect(topology.peers.size).to.eql(0)
64
-
65
- // @ts-expect-error protected property
66
- const peerStore = topology._registrar.peerStore
67
-
68
- const id2 = await PeerIdFactory.createFromJSON(peers[1])
69
- peerStore.peers.set(id2.toString(), {
70
- id: id2,
71
- protocols: Array.from(topology.multicodecs)
72
- })
73
-
74
- peerStore.emit('change:protocols', {
75
- peerId: id2,
76
- protocols: Array.from(topology.multicodecs)
77
- })
78
-
79
- expect(topology.peers.size).to.eql(1)
80
-
81
- peerStore.peers.set(id2.toString(), {
82
- id: id2,
83
- protocols: []
84
- })
85
- // Peer does not support the protocol anymore
86
- peerStore.emit('change:protocols', {
87
- peerId: id2,
88
- protocols: []
89
- })
90
-
91
- expect(topology.peers.size).to.eql(1)
92
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1)
93
- // @ts-expect-error protected property
94
- expect(topology._onDisconnect.calledWith(id2)).to.equal(true)
95
- })
96
-
97
- it('should trigger "onConnect" when a peer connects and has one of the topology multicodecs in its known protocols', () => {
98
- // @ts-expect-error protected property
99
- sinon.spy(topology, '_onConnect')
100
- // @ts-expect-error protected property
101
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(topology.multicodecs)
102
- // @ts-expect-error protected property
103
- topology._registrar.connectionManager.emit('peer:connect', {
104
- remotePeer: id
105
- })
106
-
107
- expect(topology).to.have.nested.property('_onConnect.callCount', 1)
108
- })
109
-
110
- it('should not trigger "onConnect" when a peer connects and has none of the topology multicodecs in its known protocols', () => {
111
- // @ts-expect-error protected property
112
- sinon.spy(topology, '_onConnect')
113
- // @ts-expect-error protected property
114
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns([])
115
- // @ts-expect-error protected property
116
- topology._registrar.connectionManager.emit('peer:connect', {
117
- remotePeer: id
118
- })
119
-
120
- expect(topology).to.have.nested.property('_onConnect.callCount', 0)
121
- })
122
-
123
- it('should not trigger "onConnect" when a peer connects and its protocols are not known', () => {
124
- // @ts-expect-error protected property
125
- sinon.spy(topology, '_onConnect')
126
- // @ts-expect-error protected property
127
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(undefined)
128
- // @ts-expect-error protected property
129
- topology._registrar.connectionManager.emit('peer:connect', {
130
- remotePeer: id
131
- })
132
-
133
- expect(topology).to.have.nested.property('_onConnect.callCount', 0)
134
- })
135
- })
136
- }
@@ -1,49 +0,0 @@
1
- import type { IncomingStreamEvent, Registrar } from '@libp2p/interfaces/registrar'
2
- import type { PeerId } from '@libp2p/interfaces/peer-id'
3
- import type { Connection } from '@libp2p/interfaces/connection'
4
-
5
- class MockRegistrar implements Registrar {
6
- private readonly registrarRecord: Map<string, Record<string, any>> = new Map()
7
-
8
- handle (multicodecs: string | string[], handler: (event: IncomingStreamEvent) => void) {
9
- if (!Array.isArray(multicodecs)) {
10
- multicodecs = [multicodecs]
11
- }
12
-
13
- const rec = this.registrarRecord.get(multicodecs[0]) ?? {}
14
-
15
- this.registrarRecord.set(multicodecs[0], {
16
- ...rec,
17
- handler
18
- })
19
- }
20
-
21
- unhandle (multicodec: string) {
22
- this.registrarRecord.delete(multicodec)
23
- }
24
-
25
- register (topology: any) {
26
- const { multicodecs } = topology
27
- const rec = this.registrarRecord.get(multicodecs[0]) ?? {}
28
-
29
- this.registrarRecord.set(multicodecs[0], {
30
- ...rec,
31
- onConnect: topology._onConnect,
32
- onDisconnect: topology._onDisconnect
33
- })
34
-
35
- return multicodecs[0]
36
- }
37
-
38
- unregister (id: string) {
39
- this.registrarRecord.delete(id)
40
- }
41
-
42
- getConnection (peerId: PeerId): Connection | undefined {
43
- throw new Error('Not implemented')
44
- }
45
- }
46
-
47
- export function mockRegistrar () {
48
- return new MockRegistrar()
49
- }