@libp2p/interface-compliance-tests 6.1.8 → 6.1.9-05d559f54

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 (66) hide show
  1. package/dist/src/matchers.d.ts +6 -0
  2. package/dist/src/matchers.d.ts.map +1 -1
  3. package/dist/src/matchers.js +6 -0
  4. package/dist/src/matchers.js.map +1 -1
  5. package/dist/src/mocks/index.d.ts +0 -2
  6. package/dist/src/mocks/index.d.ts.map +1 -1
  7. package/dist/src/mocks/index.js +0 -2
  8. package/dist/src/mocks/index.js.map +1 -1
  9. package/dist/src/mocks/muxer.d.ts +8 -3
  10. package/dist/src/mocks/muxer.d.ts.map +1 -1
  11. package/dist/src/mocks/muxer.js +15 -6
  12. package/dist/src/mocks/muxer.js.map +1 -1
  13. package/dist/src/mocks/upgrader.d.ts.map +1 -1
  14. package/dist/src/mocks/upgrader.js +0 -1
  15. package/dist/src/mocks/upgrader.js.map +1 -1
  16. package/dist/src/transport/index.d.ts +23 -10
  17. package/dist/src/transport/index.d.ts.map +1 -1
  18. package/dist/src/transport/index.js +418 -6
  19. package/dist/src/transport/index.js.map +1 -1
  20. package/dist/src/transport/utils.d.ts +17 -0
  21. package/dist/src/transport/utils.d.ts.map +1 -0
  22. package/dist/src/transport/utils.js +63 -0
  23. package/dist/src/transport/utils.js.map +1 -0
  24. package/package.json +16 -15
  25. package/src/matchers.ts +6 -0
  26. package/src/mocks/index.ts +0 -2
  27. package/src/mocks/muxer.ts +24 -10
  28. package/src/mocks/upgrader.ts +1 -3
  29. package/src/transport/index.ts +570 -16
  30. package/src/transport/utils.ts +76 -0
  31. package/dist/src/connection/index.d.ts +0 -5
  32. package/dist/src/connection/index.d.ts.map +0 -1
  33. package/dist/src/connection/index.js +0 -135
  34. package/dist/src/connection/index.js.map +0 -1
  35. package/dist/src/mocks/connection-gater.d.ts +0 -3
  36. package/dist/src/mocks/connection-gater.d.ts.map +0 -1
  37. package/dist/src/mocks/connection-gater.js +0 -17
  38. package/dist/src/mocks/connection-gater.js.map +0 -1
  39. package/dist/src/mocks/metrics.d.ts +0 -3
  40. package/dist/src/mocks/metrics.d.ts.map +0 -1
  41. package/dist/src/mocks/metrics.js +0 -286
  42. package/dist/src/mocks/metrics.js.map +0 -1
  43. package/dist/src/mocks/peer-discovery.d.ts +0 -21
  44. package/dist/src/mocks/peer-discovery.d.ts.map +0 -1
  45. package/dist/src/mocks/peer-discovery.js +0 -47
  46. package/dist/src/mocks/peer-discovery.js.map +0 -1
  47. package/dist/src/transport/dial-test.d.ts +0 -5
  48. package/dist/src/transport/dial-test.d.ts.map +0 -1
  49. package/dist/src/transport/dial-test.js +0 -99
  50. package/dist/src/transport/dial-test.js.map +0 -1
  51. package/dist/src/transport/filter-test.d.ts +0 -5
  52. package/dist/src/transport/filter-test.d.ts.map +0 -1
  53. package/dist/src/transport/filter-test.js +0 -24
  54. package/dist/src/transport/filter-test.js.map +0 -1
  55. package/dist/src/transport/listen-test.d.ts +0 -5
  56. package/dist/src/transport/listen-test.d.ts.map +0 -1
  57. package/dist/src/transport/listen-test.js +0 -154
  58. package/dist/src/transport/listen-test.js.map +0 -1
  59. package/dist/typedoc-urls.json +0 -49
  60. package/src/connection/index.ts +0 -166
  61. package/src/mocks/connection-gater.ts +0 -18
  62. package/src/mocks/metrics.ts +0 -385
  63. package/src/mocks/peer-discovery.ts +0 -59
  64. package/src/transport/dial-test.ts +0 -125
  65. package/src/transport/filter-test.ts +0 -32
  66. package/src/transport/listen-test.ts +0 -192
@@ -0,0 +1,76 @@
1
+ /* eslint-env mocha */
2
+
3
+ import { echo } from '@libp2p/echo'
4
+ import { memory } from '@libp2p/memory'
5
+ import { plaintext } from '@libp2p/plaintext'
6
+ import delay from 'delay'
7
+ import map from 'it-map'
8
+ import { createLibp2p } from 'libp2p'
9
+ import { mockMuxer } from '../mocks/muxer.js'
10
+ import type { Echo } from '@libp2p/echo'
11
+ import type { Libp2p, Upgrader } from '@libp2p/interface'
12
+ import type { TransportManager } from '@libp2p/interface-internal'
13
+ import type { Libp2pOptions } from 'libp2p'
14
+
15
+ export async function createPeer (config: Partial<Libp2pOptions> = {}): Promise<Libp2p<{ echo: Echo }>> {
16
+ return createLibp2p({
17
+ transports: [
18
+ memory()
19
+ ],
20
+ connectionEncrypters: [
21
+ plaintext()
22
+ ],
23
+ streamMuxers: [
24
+ () => mockMuxer()
25
+ ],
26
+ connectionGater: {
27
+ denyDialMultiaddr: () => false
28
+ },
29
+ ...config,
30
+ services: {
31
+ ...config.services,
32
+ echo: echo({
33
+ maxInboundStreams: 5
34
+ })
35
+ }
36
+ })
37
+ }
38
+
39
+ /**
40
+ * Monkey patch the upgrader in the passed libp2p to add latency to any
41
+ * multiaddr connections upgraded to connections - this is to work with
42
+ * transports that have their own muxers/encrypters and do not support
43
+ * connection protection
44
+ */
45
+ export function slowNetwork (libp2p: any, latency: number): void {
46
+ const upgrader: Upgrader = getUpgrader(libp2p)
47
+
48
+ const originalUpgradeInbound = upgrader.upgradeInbound.bind(upgrader)
49
+ const originalUpgradeOutbound = upgrader.upgradeOutbound.bind(upgrader)
50
+
51
+ upgrader.upgradeInbound = async (maConn, opts) => {
52
+ maConn.source = map(maConn.source, async (buf) => {
53
+ await delay(latency)
54
+ return buf
55
+ })
56
+
57
+ return originalUpgradeInbound(maConn, opts)
58
+ }
59
+
60
+ upgrader.upgradeOutbound = async (maConn, opts) => {
61
+ maConn.source = map(maConn.source, async (buf) => {
62
+ await delay(latency)
63
+ return buf
64
+ })
65
+
66
+ return originalUpgradeOutbound(maConn, opts)
67
+ }
68
+ }
69
+
70
+ export function getUpgrader (libp2p: any): Upgrader {
71
+ return libp2p.components.upgrader
72
+ }
73
+
74
+ export function getTransportManager (libp2p: any): TransportManager {
75
+ return libp2p.components.transportManager
76
+ }
@@ -1,5 +0,0 @@
1
- import type { TestSetup } from '../index.js';
2
- import type { Connection } from '@libp2p/interface';
3
- declare const _default: (test: TestSetup<Connection>) => void;
4
- export default _default;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;+BAE7B,UAAU,UAAU,CAAC,KAAG,IAAI;AAAlD,wBAgKC"}
@@ -1,135 +0,0 @@
1
- import { expect } from 'aegir/chai';
2
- import sinon from 'sinon';
3
- export default (test) => {
4
- describe('connection', () => {
5
- describe('open connection', () => {
6
- let connection;
7
- beforeEach(async () => {
8
- connection = await test.setup();
9
- });
10
- afterEach(async () => {
11
- await connection.close();
12
- await test.teardown();
13
- });
14
- it('should have properties set', () => {
15
- expect(connection.id).to.exist();
16
- expect(connection.remotePeer).to.exist();
17
- expect(connection.remoteAddr).to.exist();
18
- expect(connection.status).to.equal('open');
19
- expect(connection.timeline.open).to.exist();
20
- expect(connection.timeline.close).to.not.exist();
21
- expect(connection.direction).to.exist();
22
- expect(connection.streams).to.eql([]);
23
- expect(connection.tags).to.eql([]);
24
- });
25
- it('should get the metadata of an open connection', () => {
26
- expect(connection.status).to.equal('open');
27
- expect(connection.direction).to.exist();
28
- expect(connection.timeline.open).to.exist();
29
- expect(connection.timeline.close).to.not.exist();
30
- });
31
- it('should return an empty array of streams', () => {
32
- const streams = connection.streams;
33
- expect(streams).to.eql([]);
34
- });
35
- it('should be able to create a new stream', async () => {
36
- expect(connection.streams).to.be.empty();
37
- const protocolToUse = '/echo/0.0.1';
38
- const stream = await connection.newStream([protocolToUse]);
39
- expect(stream).to.have.property('protocol', protocolToUse);
40
- const connStreams = connection.streams;
41
- expect(stream).to.exist();
42
- expect(connStreams).to.exist();
43
- expect(connStreams).to.have.lengthOf(1);
44
- expect(connStreams[0]).to.equal(stream);
45
- });
46
- });
47
- describe('close connection', () => {
48
- let connection;
49
- let timelineProxy;
50
- const proxyHandler = {
51
- set() {
52
- // @ts-expect-error - TS fails to infer here
53
- return Reflect.set(...arguments);
54
- }
55
- };
56
- beforeEach(async () => {
57
- timelineProxy = new Proxy({
58
- open: Date.now() - 10,
59
- upgraded: Date.now()
60
- }, proxyHandler);
61
- connection = await test.setup();
62
- connection.timeline = timelineProxy;
63
- });
64
- afterEach(async () => {
65
- await test.teardown();
66
- });
67
- it('should be able to close the connection after being created', async () => {
68
- expect(connection.timeline.close).to.not.exist();
69
- await connection.close();
70
- expect(connection.timeline.close).to.exist();
71
- expect(connection.status).to.equal('closed');
72
- });
73
- it('should be able to close the connection after opening a stream', async () => {
74
- // Open stream
75
- const protocol = '/echo/0.0.1';
76
- await connection.newStream([protocol]);
77
- // Close connection
78
- expect(connection.timeline.close).to.not.exist();
79
- await connection.close();
80
- expect(connection.timeline.close).to.exist();
81
- expect(connection.status).to.equal('closed');
82
- });
83
- it('should properly track streams', async () => {
84
- // Open stream
85
- const protocol = '/echo/0.0.1';
86
- const stream = await connection.newStream([protocol]);
87
- expect(stream).to.have.property('protocol', protocol);
88
- // Close stream
89
- await stream.close();
90
- expect(connection.streams.filter(s => s.id === stream.id)).to.be.empty();
91
- });
92
- it('should track outbound streams', async () => {
93
- // Open stream
94
- const protocol = '/echo/0.0.1';
95
- const stream = await connection.newStream(protocol);
96
- expect(stream).to.have.property('direction', 'outbound');
97
- });
98
- it('should support a proxy on the timeline', async () => {
99
- sinon.spy(proxyHandler, 'set');
100
- expect(connection.timeline.close).to.not.exist();
101
- await connection.close();
102
- // @ts-expect-error - fails to infer callCount
103
- expect(proxyHandler.set.callCount).to.equal(1);
104
- // @ts-expect-error - fails to infer getCall
105
- const [obj, key, value] = proxyHandler.set.getCall(0).args;
106
- expect(obj).to.eql(connection.timeline);
107
- expect(key).to.equal('close');
108
- expect(value).to.be.a('number').that.equals(connection.timeline.close);
109
- });
110
- it('should fail to create a new stream if the connection is closing', async () => {
111
- expect(connection.timeline.close).to.not.exist();
112
- const p = connection.close();
113
- try {
114
- const protocol = '/echo/0.0.1';
115
- await connection.newStream([protocol]);
116
- }
117
- catch (err) {
118
- expect(err).to.exist();
119
- return;
120
- }
121
- finally {
122
- await p;
123
- }
124
- throw new Error('should fail to create a new stream if the connection is closing');
125
- });
126
- it('should fail to create a new stream if the connection is closed', async () => {
127
- expect(connection.timeline.close).to.not.exist();
128
- await connection.close();
129
- await expect(connection.newStream(['/echo/0.0.1'])).to.eventually.be.rejected
130
- .with.property('name', 'ConnectionClosedError');
131
- });
132
- });
133
- });
134
- };
135
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { ConnectionGater } from '@libp2p/interface';
2
- export declare function mockConnectionGater(): ConnectionGater;
3
- //# sourceMappingURL=connection-gater.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection-gater.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection-gater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,wBAAgB,mBAAmB,IAAK,eAAe,CAetD"}
@@ -1,17 +0,0 @@
1
- export function mockConnectionGater() {
2
- return {
3
- denyDialPeer: async () => Promise.resolve(false),
4
- denyDialMultiaddr: async () => Promise.resolve(false),
5
- denyInboundConnection: async () => Promise.resolve(false),
6
- denyOutboundConnection: async () => Promise.resolve(false),
7
- denyInboundEncryptedConnection: async () => Promise.resolve(false),
8
- denyOutboundEncryptedConnection: async () => Promise.resolve(false),
9
- denyInboundUpgradedConnection: async () => Promise.resolve(false),
10
- denyOutboundUpgradedConnection: async () => Promise.resolve(false),
11
- denyInboundRelayReservation: async () => Promise.resolve(false),
12
- denyOutboundRelayedConnection: async () => Promise.resolve(false),
13
- denyInboundRelayedConnection: async () => Promise.resolve(false),
14
- filterMultiaddrForPeer: async () => Promise.resolve(true)
15
- };
16
- }
17
- //# sourceMappingURL=connection-gater.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection-gater.js","sourceRoot":"","sources":["../../../src/mocks/connection-gater.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAChD,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACrD,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACzD,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1D,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAClE,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACnE,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACjE,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAClE,2BAA2B,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/D,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACjE,4BAA4B,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KAC1D,CAAA;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Metrics } from '@libp2p/interface';
2
- export declare function mockMetrics(): () => Metrics;
3
- //# sourceMappingURL=metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/mocks/metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA2E,OAAO,EAAoL,MAAM,mBAAmB,CAAA;AA6X3S,wBAAgB,WAAW,IAAK,MAAM,OAAO,CAE5C"}
@@ -1,286 +0,0 @@
1
- import { TDigest } from 'tdigest';
2
- class DefaultMetric {
3
- value = 0;
4
- update(value) {
5
- this.value = value;
6
- }
7
- increment(value = 1) {
8
- this.value += value;
9
- }
10
- decrement(value = 1) {
11
- this.value -= value;
12
- }
13
- reset() {
14
- this.value = 0;
15
- }
16
- timer() {
17
- const start = Date.now();
18
- return () => {
19
- this.value = Date.now() - start;
20
- };
21
- }
22
- }
23
- class DefaultGroupMetric {
24
- values = {};
25
- update(values) {
26
- Object.entries(values).forEach(([key, value]) => {
27
- this.values[key] = value;
28
- });
29
- }
30
- increment(values) {
31
- Object.entries(values).forEach(([key, value]) => {
32
- this.values[key] = this.values[key] ?? 0;
33
- const inc = typeof value === 'number' ? value : 1;
34
- this.values[key] += Number(inc);
35
- });
36
- }
37
- decrement(values) {
38
- Object.entries(values).forEach(([key, value]) => {
39
- this.values[key] = this.values[key] ?? 0;
40
- const dec = typeof value === 'number' ? value : 1;
41
- this.values[key] -= Number(dec);
42
- });
43
- }
44
- reset() {
45
- this.values = {};
46
- }
47
- timer(key) {
48
- const start = Date.now();
49
- return () => {
50
- this.values[key] = Date.now() - start;
51
- };
52
- }
53
- }
54
- class DefaultHistogram {
55
- bucketValues = new Map();
56
- countValue = 0;
57
- sumValue = 0;
58
- constructor(opts) {
59
- const buckets = [
60
- ...(opts.buckets ?? [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]),
61
- Infinity
62
- ];
63
- for (const bucket of buckets) {
64
- this.bucketValues.set(bucket, 0);
65
- }
66
- }
67
- observe(value) {
68
- this.countValue++;
69
- this.sumValue += value;
70
- for (const [bucket, count] of this.bucketValues.entries()) {
71
- if (value <= bucket) {
72
- this.bucketValues.set(bucket, count + 1);
73
- }
74
- }
75
- }
76
- reset() {
77
- this.countValue = 0;
78
- this.sumValue = 0;
79
- for (const bucket of this.bucketValues.keys()) {
80
- this.bucketValues.set(bucket, 0);
81
- }
82
- }
83
- timer() {
84
- const start = Date.now();
85
- return () => {
86
- this.observe(Date.now() - start);
87
- };
88
- }
89
- }
90
- class DefaultHistogramGroup {
91
- histograms = {};
92
- constructor(opts) {
93
- this.histograms = {};
94
- }
95
- observe(values) {
96
- for (const [key, value] of Object.entries(values)) {
97
- if (this.histograms[key] === undefined) {
98
- this.histograms[key] = new DefaultHistogram({});
99
- }
100
- this.histograms[key].observe(value);
101
- }
102
- }
103
- reset() {
104
- for (const histogram of Object.values(this.histograms)) {
105
- histogram.reset();
106
- }
107
- }
108
- timer(key) {
109
- const start = Date.now();
110
- return () => {
111
- this.observe({ [key]: Date.now() - start });
112
- };
113
- }
114
- }
115
- class DefaultSummary {
116
- sumValue = 0;
117
- countValue = 0;
118
- percentiles;
119
- tdigest = new TDigest(0.01);
120
- compressCount;
121
- constructor(opts) {
122
- this.percentiles = opts.percentiles ?? [0.01, 0.05, 0.5, 0.9, 0.95, 0.99, 0.999];
123
- this.compressCount = opts.compressCount ?? 1000;
124
- }
125
- observe(value) {
126
- this.sumValue += value;
127
- this.countValue++;
128
- this.tdigest.push(value);
129
- if (this.tdigest.size() > this.compressCount) {
130
- this.tdigest.compress();
131
- }
132
- }
133
- reset() {
134
- this.sumValue = 0;
135
- this.countValue = 0;
136
- this.tdigest.reset();
137
- }
138
- timer() {
139
- const start = Date.now();
140
- return () => {
141
- this.observe(Date.now() - start);
142
- };
143
- }
144
- }
145
- class DefaultSummaryGroup {
146
- summaries = {};
147
- opts;
148
- constructor(opts) {
149
- this.summaries = {};
150
- this.opts = opts;
151
- }
152
- observe(values) {
153
- for (const [key, value] of Object.entries(values)) {
154
- if (this.summaries[key] === undefined) {
155
- this.summaries[key] = new DefaultSummary(this.opts);
156
- }
157
- this.summaries[key].observe(value);
158
- }
159
- }
160
- reset() {
161
- for (const summary of Object.values(this.summaries)) {
162
- summary.reset();
163
- }
164
- }
165
- timer(key) {
166
- const start = Date.now();
167
- return () => {
168
- this.observe({ [key]: Date.now() - start });
169
- };
170
- }
171
- }
172
- class MockMetrics {
173
- metrics = new Map();
174
- trackMultiaddrConnection(maConn) {
175
- }
176
- trackProtocolStream(stream, connection) {
177
- }
178
- registerMetric(name, opts) {
179
- if (name == null || name.trim() === '') {
180
- throw new Error('Metric name is required');
181
- }
182
- if (opts?.calculate != null) {
183
- // calculated metric
184
- this.metrics.set(name, opts.calculate);
185
- return;
186
- }
187
- const metric = new DefaultMetric();
188
- this.metrics.set(name, metric);
189
- return metric;
190
- }
191
- registerCounter(name, opts) {
192
- if (name == null || name.trim() === '') {
193
- throw new Error('Metric name is required');
194
- }
195
- if (opts?.calculate != null) {
196
- // calculated metric
197
- this.metrics.set(name, opts.calculate);
198
- return;
199
- }
200
- const metric = new DefaultMetric();
201
- this.metrics.set(name, metric);
202
- return metric;
203
- }
204
- registerMetricGroup(name, opts) {
205
- if (name == null || name.trim() === '') {
206
- throw new Error('Metric name is required');
207
- }
208
- if (opts?.calculate != null) {
209
- // calculated metric
210
- this.metrics.set(name, opts.calculate);
211
- return;
212
- }
213
- const metric = new DefaultGroupMetric();
214
- this.metrics.set(name, metric);
215
- return metric;
216
- }
217
- registerCounterGroup(name, opts) {
218
- if (name == null || name.trim() === '') {
219
- throw new Error('Metric name is required');
220
- }
221
- if (opts?.calculate != null) {
222
- // calculated metric
223
- this.metrics.set(name, opts.calculate);
224
- return;
225
- }
226
- const metric = new DefaultGroupMetric();
227
- this.metrics.set(name, metric);
228
- return metric;
229
- }
230
- registerHistogram(name, opts = {}) {
231
- if (name == null || name.trim() === '') {
232
- throw new Error('Metric name is required');
233
- }
234
- if (opts?.calculate != null) {
235
- // calculated metric
236
- this.metrics.set(name, opts.calculate);
237
- return;
238
- }
239
- const metric = new DefaultHistogram(opts);
240
- this.metrics.set(name, metric);
241
- return metric;
242
- }
243
- registerHistogramGroup(name, opts = {}) {
244
- if (name == null || name.trim() === '') {
245
- throw new Error('Metric name is required');
246
- }
247
- if (opts?.calculate != null) {
248
- // calculated metric
249
- this.metrics.set(name, opts.calculate);
250
- return;
251
- }
252
- const metric = new DefaultHistogramGroup(opts);
253
- this.metrics.set(name, metric);
254
- return metric;
255
- }
256
- registerSummary(name, opts = {}) {
257
- if (name == null || name.trim() === '') {
258
- throw new Error('Metric name is required');
259
- }
260
- if (opts?.calculate != null) {
261
- // calculated metric
262
- this.metrics.set(name, opts.calculate);
263
- return;
264
- }
265
- const metric = new DefaultSummary(opts);
266
- this.metrics.set(name, metric);
267
- return metric;
268
- }
269
- registerSummaryGroup(name, opts = {}) {
270
- if (name == null || name.trim() === '') {
271
- throw new Error('Metric name is required');
272
- }
273
- if (opts?.calculate != null) {
274
- // calculated metric
275
- this.metrics.set(name, opts.calculate);
276
- return;
277
- }
278
- const metric = new DefaultSummaryGroup(opts);
279
- this.metrics.set(name, metric);
280
- return metric;
281
- }
282
- }
283
- export function mockMetrics() {
284
- return () => new MockMetrics();
285
- }
286
- //# sourceMappingURL=metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/mocks/metrics.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { TypedEventEmitter, peerDiscoverySymbol } from '@libp2p/interface';
2
- import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interface';
3
- interface MockDiscoveryInit {
4
- discoveryDelay?: number;
5
- }
6
- /**
7
- * Emits 'peer' events on discovery.
8
- */
9
- export declare class MockDiscovery extends TypedEventEmitter<PeerDiscoveryEvents> implements PeerDiscovery {
10
- readonly options: MockDiscoveryInit;
11
- private _isRunning;
12
- private _timer;
13
- constructor(init?: {});
14
- readonly [peerDiscoverySymbol]: this;
15
- start(): void;
16
- stop(): void;
17
- isStarted(): boolean;
18
- _discoverPeer(): void;
19
- }
20
- export {};
21
- //# sourceMappingURL=peer-discovery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"peer-discovery.d.ts","sourceRoot":"","sources":["../../../src/mocks/peer-discovery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAY,MAAM,mBAAmB,CAAA;AAErF,UAAU,iBAAiB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,iBAAiB,CAAC,mBAAmB,CAAE,YAAW,aAAa;IAChG,SAAgB,OAAO,EAAE,iBAAiB,CAAA;IAC1C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAK;gBAEN,IAAI,KAAK;IAOtB,QAAQ,CAAC,CAAC,mBAAmB,CAAC,OAAO;IAErC,KAAK,IAAK,IAAI;IAKd,IAAI,IAAK,IAAI;IAKb,SAAS,IAAK,OAAO;IAIrB,aAAa,IAAK,IAAI;CAiBvB"}
@@ -1,47 +0,0 @@
1
- import { generateKeyPair } from '@libp2p/crypto/keys';
2
- import { TypedEventEmitter, peerDiscoverySymbol } from '@libp2p/interface';
3
- import { peerIdFromPrivateKey } from '@libp2p/peer-id';
4
- import { multiaddr } from '@multiformats/multiaddr';
5
- /**
6
- * Emits 'peer' events on discovery.
7
- */
8
- export class MockDiscovery extends TypedEventEmitter {
9
- options;
10
- _isRunning;
11
- _timer;
12
- constructor(init = {}) {
13
- super();
14
- this.options = init;
15
- this._isRunning = false;
16
- }
17
- [peerDiscoverySymbol] = this;
18
- start() {
19
- this._isRunning = true;
20
- this._discoverPeer();
21
- }
22
- stop() {
23
- clearTimeout(this._timer);
24
- this._isRunning = false;
25
- }
26
- isStarted() {
27
- return this._isRunning;
28
- }
29
- _discoverPeer() {
30
- if (!this._isRunning)
31
- return;
32
- generateKeyPair('Ed25519')
33
- .then(key => {
34
- const peerId = peerIdFromPrivateKey(key);
35
- this._timer = setTimeout(() => {
36
- this.safeDispatchEvent('peer', {
37
- detail: {
38
- id: peerId,
39
- multiaddrs: [multiaddr('/ip4/127.0.0.1/tcp/8000')]
40
- }
41
- });
42
- }, this.options.discoveryDelay ?? 1000);
43
- })
44
- .catch(() => { });
45
- }
46
- }
47
- //# sourceMappingURL=peer-discovery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"peer-discovery.js","sourceRoot":"","sources":["../../../src/mocks/peer-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAOnD;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,iBAAsC;IACvD,OAAO,CAAmB;IAClC,UAAU,CAAS;IACnB,MAAM,CAAK;IAEnB,YAAa,IAAI,GAAG,EAAE;QACpB,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;IACzB,CAAC;IAEQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAA;IAErC,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED,IAAI;QACF,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;IACzB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAE5B,eAAe,CAAC,SAAS,CAAC;aACvB,IAAI,CAAC,GAAG,CAAC,EAAE;YACV,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;YACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,iBAAiB,CAAW,MAAM,EAAE;oBACvC,MAAM,EAAE;wBACN,EAAE,EAAE,MAAM;wBACV,UAAU,EAAE,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;qBACnD;iBACF,CAAC,CAAA;YACJ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,CAAA;QACzC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpB,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import type { TransportTestFixtures } from './index.js';
2
- import type { TestSetup } from '../index.js';
3
- declare const _default: (common: TestSetup<TransportTestFixtures>) => void;
4
- export default _default;
5
- //# sourceMappingURL=dial-test.d.ts.map