@peerbit/test-utils 3.0.14 → 3.0.16
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.
- package/dist/src/session.d.ts.map +1 -1
- package/dist/src/session.js +31 -16
- package/dist/src/session.js.map +1 -1
- package/package.json +7 -7
- package/src/session.ts +34 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAoC,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAoC,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EACN,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEhE,KAAK,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,MAAM,MAAM,6BAA6B,GAAG;IAC3C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC7D,CAAC;AAoGF,KAAK,WAAW,GAAG;IAClB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;CACrB,CAAC;AA4GF,qBAAa,WAAW;IACvB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,eAAe,CAA6B;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;gBAG/E,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,OAAO,EAAE,EAChB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;YAAC,OAAO,EAAE,eAAe,CAAA;SAAE,CAAA;KAAE;IAQlF,IAAW,KAAK,IAAI,aAAa,EAAE,CAElC;YAEc,yBAAyB;IAuKlC,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE;IAsCxC;;;;OAIG;IACG,kBAAkB,CAAC,IAAI,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;IAqCzB,OAAO,CAAC,yBAAyB;IAkE3B,IAAI;IAcV;;;;;OAKG;WACU,aAAa,CACzB,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;WAO7B,gBAAgB,CAC5B,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;WAuC7B,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;WAM9D,YAAY,CACxB,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE;IAgG1C;;;;;;;;OAQG;WACU,oBAAoB,CAChC,CAAC,EAAE,MAAM,EACT,IAAI,GAAE,6BAA6B,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;WAsFrD,iBAAiB,CAC7B,CAAC,EAAE,MAAM,EACT,IAAI,GAAE,6BAA6B,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;CAclE"}
|
package/dist/src/session.js
CHANGED
|
@@ -7,7 +7,6 @@ import { PreHash, SignatureWithKey } from "@peerbit/crypto";
|
|
|
7
7
|
import { TestSession as SSession, listenFast, transportsFast, } from "@peerbit/libp2p-test-utils";
|
|
8
8
|
import {} from "@peerbit/program";
|
|
9
9
|
import { FanoutTree, TopicControlPlane, TopicRootControlPlane } from "@peerbit/pubsub";
|
|
10
|
-
import { waitForNeighbour as waitForPeersStreams, } from "@peerbit/stream";
|
|
11
10
|
import {} from "libp2p";
|
|
12
11
|
import path from "path";
|
|
13
12
|
import {} from "peerbit";
|
|
@@ -358,11 +357,38 @@ export class TestSession {
|
|
|
358
357
|
}
|
|
359
358
|
}
|
|
360
359
|
async connect(groups) {
|
|
360
|
+
const dialGroups = groups ?? [this._peers];
|
|
361
361
|
await this.session.connect(groups?.map((x) => x.map((y) => y)));
|
|
362
362
|
this.connectedGroups = groups
|
|
363
363
|
? groups.map((group) => new Set(group))
|
|
364
364
|
: [new Set(this._peers)];
|
|
365
365
|
await this.configureFanoutShardRoots();
|
|
366
|
+
for (const group of dialGroups) {
|
|
367
|
+
if (!group || group.length < 2)
|
|
368
|
+
continue;
|
|
369
|
+
for (const peer of group) {
|
|
370
|
+
const peerHash = peer.identity.publicKey.hashcode();
|
|
371
|
+
await Promise.all(group
|
|
372
|
+
.filter((other) => other !== peer)
|
|
373
|
+
.map(async (other) => {
|
|
374
|
+
const services = other.services;
|
|
375
|
+
await Promise.all([
|
|
376
|
+
services.blocks.waitFor(peerHash, {
|
|
377
|
+
target: "neighbor",
|
|
378
|
+
timeout: 10_000,
|
|
379
|
+
}),
|
|
380
|
+
services.pubsub.waitFor(peerHash, {
|
|
381
|
+
target: "neighbor",
|
|
382
|
+
timeout: 10_000,
|
|
383
|
+
}),
|
|
384
|
+
services.fanout.waitFor(peerHash, {
|
|
385
|
+
target: "neighbor",
|
|
386
|
+
timeout: 10_000,
|
|
387
|
+
}),
|
|
388
|
+
]);
|
|
389
|
+
}));
|
|
390
|
+
}
|
|
391
|
+
}
|
|
366
392
|
return;
|
|
367
393
|
}
|
|
368
394
|
/**
|
|
@@ -437,16 +463,17 @@ export class TestSession {
|
|
|
437
463
|
await peer.dial(other);
|
|
438
464
|
// Also wait for the reverse direction to be fully established; some
|
|
439
465
|
// protocols require a writable stream on both sides to reply.
|
|
466
|
+
const services = other.services;
|
|
440
467
|
await Promise.all([
|
|
441
|
-
|
|
468
|
+
services.blocks.waitFor(peerHash, {
|
|
442
469
|
target: "neighbor",
|
|
443
470
|
timeout: 10_000,
|
|
444
471
|
}),
|
|
445
|
-
|
|
472
|
+
services.pubsub.waitFor(peerHash, {
|
|
446
473
|
target: "neighbor",
|
|
447
474
|
timeout: 10_000,
|
|
448
475
|
}),
|
|
449
|
-
|
|
476
|
+
services.fanout.waitFor(peerHash, {
|
|
450
477
|
target: "neighbor",
|
|
451
478
|
timeout: 10_000,
|
|
452
479
|
}),
|
|
@@ -480,12 +507,6 @@ export class TestSession {
|
|
|
480
507
|
static async connectedMock(n, options) {
|
|
481
508
|
const session = await TestSession.disconnectedMock(n, options);
|
|
482
509
|
await session.connect();
|
|
483
|
-
// TODO types
|
|
484
|
-
await waitForPeersStreams(...session.peers.map((x) => x.services.blocks));
|
|
485
|
-
// Sharded pubsub/fanout uses its own DirectStream protocols; ensure those
|
|
486
|
-
// neighbor streams are established before tests start opening programs.
|
|
487
|
-
await waitForPeersStreams(...session.peers.map((x) => x.services.pubsub));
|
|
488
|
-
await waitForPeersStreams(...session.peers.map((x) => x.services.fanout));
|
|
489
510
|
return session;
|
|
490
511
|
}
|
|
491
512
|
static async disconnectedMock(n, options) {
|
|
@@ -523,12 +544,6 @@ export class TestSession {
|
|
|
523
544
|
static async connected(n, options) {
|
|
524
545
|
const session = await TestSession.disconnected(n, options);
|
|
525
546
|
await session.connect();
|
|
526
|
-
// TODO types
|
|
527
|
-
await waitForPeersStreams(...session.peers.map((x) => x.services.blocks));
|
|
528
|
-
// Sharded pubsub/fanout uses its own DirectStream protocols; ensure those
|
|
529
|
-
// neighbor streams are established before tests start opening programs.
|
|
530
|
-
await waitForPeersStreams(...session.peers.map((x) => x.services.pubsub));
|
|
531
|
-
await waitForPeersStreams(...session.peers.map((x) => x.services.fanout));
|
|
532
547
|
return session;
|
|
533
548
|
}
|
|
534
549
|
static async disconnected(n, options) {
|
package/dist/src/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/test-utils",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.16",
|
|
4
4
|
"description": "Test utils for Peerbit",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -75,15 +75,15 @@
|
|
|
75
75
|
"libp2p": "^3.1.0",
|
|
76
76
|
"tty-table": "^4.2.1",
|
|
77
77
|
"@peerbit/any-store": "2.2.7",
|
|
78
|
+
"@peerbit/crypto": "3.1.0",
|
|
78
79
|
"@peerbit/indexer-interface": "3.0.2",
|
|
80
|
+
"peerbit": "5.2.1",
|
|
79
81
|
"@peerbit/libp2p-test-utils": "3.0.2",
|
|
80
|
-
"peerbit": "5.1.2",
|
|
81
|
-
"@peerbit/crypto": "3.1.0",
|
|
82
|
-
"@peerbit/blocks": "4.0.8",
|
|
83
|
-
"@peerbit/program": "6.0.10",
|
|
84
|
-
"@peerbit/stream": "5.0.6",
|
|
85
82
|
"@peerbit/keychain": "1.2.7",
|
|
86
|
-
"@peerbit/
|
|
83
|
+
"@peerbit/blocks": "4.0.9",
|
|
84
|
+
"@peerbit/program": "6.0.12",
|
|
85
|
+
"@peerbit/stream": "5.0.7",
|
|
86
|
+
"@peerbit/pubsub": "5.1.1"
|
|
87
87
|
},
|
|
88
88
|
"devDependencies": {
|
|
89
89
|
"@types/libsodium-wrappers": "^0.7.14",
|
package/src/session.ts
CHANGED
|
@@ -12,10 +12,6 @@ import {
|
|
|
12
12
|
import type { Indices, Index, IndexEngineInitProperties } from "@peerbit/indexer-interface";
|
|
13
13
|
import { type ProgramClient } from "@peerbit/program";
|
|
14
14
|
import { FanoutTree, TopicControlPlane, TopicRootControlPlane } from "@peerbit/pubsub";
|
|
15
|
-
import {
|
|
16
|
-
type DirectStream,
|
|
17
|
-
waitForNeighbour as waitForPeersStreams,
|
|
18
|
-
} from "@peerbit/stream";
|
|
19
15
|
import { type Libp2pOptions } from "libp2p";
|
|
20
16
|
import path from "path";
|
|
21
17
|
import {
|
|
@@ -457,11 +453,40 @@ export class TestSession {
|
|
|
457
453
|
}
|
|
458
454
|
|
|
459
455
|
async connect(groups?: ProgramClient[][]) {
|
|
456
|
+
const dialGroups = groups ?? ([this._peers] as unknown as ProgramClient[][]);
|
|
460
457
|
await this.session.connect(groups?.map((x) => x.map((y) => y)));
|
|
461
458
|
this.connectedGroups = groups
|
|
462
459
|
? groups.map((group) => new Set(group as Peerbit[]))
|
|
463
460
|
: [new Set(this._peers)];
|
|
464
461
|
await this.configureFanoutShardRoots();
|
|
462
|
+
for (const group of dialGroups) {
|
|
463
|
+
if (!group || group.length < 2) continue;
|
|
464
|
+
for (const peer of group) {
|
|
465
|
+
const peerHash = peer.identity.publicKey.hashcode();
|
|
466
|
+
await Promise.all(
|
|
467
|
+
group
|
|
468
|
+
.filter((other) => other !== peer)
|
|
469
|
+
.map(async (other) => {
|
|
470
|
+
const services = other.services as ProgramClient["services"] &
|
|
471
|
+
Pick<Peerbit["services"], "fanout">;
|
|
472
|
+
await Promise.all([
|
|
473
|
+
services.blocks.waitFor(peerHash, {
|
|
474
|
+
target: "neighbor",
|
|
475
|
+
timeout: 10_000,
|
|
476
|
+
}),
|
|
477
|
+
services.pubsub.waitFor(peerHash, {
|
|
478
|
+
target: "neighbor",
|
|
479
|
+
timeout: 10_000,
|
|
480
|
+
}),
|
|
481
|
+
services.fanout.waitFor(peerHash, {
|
|
482
|
+
target: "neighbor",
|
|
483
|
+
timeout: 10_000,
|
|
484
|
+
}),
|
|
485
|
+
]);
|
|
486
|
+
}),
|
|
487
|
+
);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
465
490
|
return;
|
|
466
491
|
}
|
|
467
492
|
|
|
@@ -550,16 +575,18 @@ export class TestSession {
|
|
|
550
575
|
|
|
551
576
|
// Also wait for the reverse direction to be fully established; some
|
|
552
577
|
// protocols require a writable stream on both sides to reply.
|
|
578
|
+
const services = other.services as ProgramClient["services"] &
|
|
579
|
+
Pick<Peerbit["services"], "fanout">;
|
|
553
580
|
await Promise.all([
|
|
554
|
-
|
|
581
|
+
services.blocks.waitFor(peerHash, {
|
|
555
582
|
target: "neighbor",
|
|
556
583
|
timeout: 10_000,
|
|
557
584
|
}),
|
|
558
|
-
|
|
585
|
+
services.pubsub.waitFor(peerHash, {
|
|
559
586
|
target: "neighbor",
|
|
560
587
|
timeout: 10_000,
|
|
561
588
|
}),
|
|
562
|
-
|
|
589
|
+
services.fanout.waitFor(peerHash, {
|
|
563
590
|
target: "neighbor",
|
|
564
591
|
timeout: 10_000,
|
|
565
592
|
}),
|
|
@@ -602,24 +629,6 @@ export class TestSession {
|
|
|
602
629
|
) {
|
|
603
630
|
const session = await TestSession.disconnectedMock(n, options);
|
|
604
631
|
await session.connect();
|
|
605
|
-
// TODO types
|
|
606
|
-
await waitForPeersStreams(
|
|
607
|
-
...session.peers.map(
|
|
608
|
-
(x) => x.services.blocks as any as DirectStream<any>,
|
|
609
|
-
),
|
|
610
|
-
);
|
|
611
|
-
// Sharded pubsub/fanout uses its own DirectStream protocols; ensure those
|
|
612
|
-
// neighbor streams are established before tests start opening programs.
|
|
613
|
-
await waitForPeersStreams(
|
|
614
|
-
...session.peers.map(
|
|
615
|
-
(x) => x.services.pubsub as any as DirectStream<any>,
|
|
616
|
-
),
|
|
617
|
-
);
|
|
618
|
-
await waitForPeersStreams(
|
|
619
|
-
...session.peers.map(
|
|
620
|
-
(x) => (x.services as any).fanout as any as DirectStream<any>,
|
|
621
|
-
),
|
|
622
|
-
);
|
|
623
632
|
return session;
|
|
624
633
|
}
|
|
625
634
|
|
|
@@ -667,24 +676,6 @@ export class TestSession {
|
|
|
667
676
|
static async connected(n: number, options?: CreateOptions | CreateOptions[]) {
|
|
668
677
|
const session = await TestSession.disconnected(n, options);
|
|
669
678
|
await session.connect();
|
|
670
|
-
// TODO types
|
|
671
|
-
await waitForPeersStreams(
|
|
672
|
-
...session.peers.map(
|
|
673
|
-
(x) => x.services.blocks as any as DirectStream<any>,
|
|
674
|
-
),
|
|
675
|
-
);
|
|
676
|
-
// Sharded pubsub/fanout uses its own DirectStream protocols; ensure those
|
|
677
|
-
// neighbor streams are established before tests start opening programs.
|
|
678
|
-
await waitForPeersStreams(
|
|
679
|
-
...session.peers.map(
|
|
680
|
-
(x) => x.services.pubsub as any as DirectStream<any>,
|
|
681
|
-
),
|
|
682
|
-
);
|
|
683
|
-
await waitForPeersStreams(
|
|
684
|
-
...session.peers.map(
|
|
685
|
-
(x) => (x.services as any).fanout as any as DirectStream<any>,
|
|
686
|
-
),
|
|
687
|
-
);
|
|
688
679
|
return session;
|
|
689
680
|
}
|
|
690
681
|
|