@helia/interop 10.0.1-2d8295c2 → 10.0.1-33e46813

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.
@@ -13,7 +13,7 @@ export async function createKuboNode() {
13
13
  '/ip4/0.0.0.0/tcp/0',
14
14
  '/ip4/0.0.0.0/tcp/0/ws'
15
15
  ],
16
- Gateway: '/ip4/127.0.0.1/tcp/8180'
16
+ Gateway: '/ip4/127.0.0.1/tcp/0'
17
17
  },
18
18
  Gateway: {
19
19
  NoFetch: true,
@@ -1 +1 @@
1
- {"version":3,"file":"create-kubo.browser.js","sourceRoot":"","sources":["../../../src/fixtures/create-kubo.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGzD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,aAAa;QAClB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAClC,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,oBAAoB;wBACpB,uBAAuB;qBACxB;oBACD,OAAO,EAAE,yBAAyB;iBACnC;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,gBAAgB,EAAE,IAAI;oBACtB,WAAW,EAAE;wBACX,6BAA6B,EAAE,CAAC,GAAG,CAAC;wBACpC,8BAA8B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;qBAClE;iBACF;aACF;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;SAChE;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"create-kubo.browser.js","sourceRoot":"","sources":["../../../src/fixtures/create-kubo.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGzD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,aAAa;QAClB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAClC,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,oBAAoB;wBACpB,uBAAuB;qBACxB;oBACD,OAAO,EAAE,sBAAsB;iBAChC;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,gBAAgB,EAAE,IAAI;oBACtB,WAAW,EAAE;wBACX,6BAA6B,EAAE,CAAC,GAAG,CAAC;wBACpC,8BAA8B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;qBAClE;iBACF;aACF;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;SAChE;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -11,10 +11,10 @@ export async function createKuboNode() {
11
11
  config: {
12
12
  Addresses: {
13
13
  Swarm: [
14
- '/ip4/0.0.0.0/tcp/4001',
15
- '/ip4/0.0.0.0/tcp/4002/ws'
14
+ '/ip4/0.0.0.0/tcp/0',
15
+ '/ip4/0.0.0.0/tcp/0/ws'
16
16
  ],
17
- Gateway: '/ip4/127.0.0.1/tcp/8180'
17
+ Gateway: '/ip4/127.0.0.1/tcp/0'
18
18
  },
19
19
  Gateway: {
20
20
  NoFetch: true,
@@ -1 +1 @@
1
- {"version":3,"file":"create-kubo.js","sourceRoot":"","sources":["../../../src/fixtures/create-kubo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAA;AACvC,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGzD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,QAAQ,EAAE;QACf,IAAI,EAAE,IAAI;QACV,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,uBAAuB;wBACvB,0BAA0B;qBAC3B;oBACD,OAAO,EAAE,yBAAyB;iBACnC;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,gBAAgB,EAAE,IAAI;oBACtB,WAAW,EAAE;wBACX,6BAA6B,EAAE,CAAC,GAAG,CAAC;wBACpC,8BAA8B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;qBAClE;iBACF;aACF;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;SAChE;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"create-kubo.js","sourceRoot":"","sources":["../../../src/fixtures/create-kubo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAA;AACvC,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGzD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,QAAQ,EAAE;QACf,IAAI,EAAE,IAAI;QACV,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,oBAAoB;wBACpB,uBAAuB;qBACxB;oBACD,OAAO,EAAE,sBAAsB;iBAChC;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,gBAAgB,EAAE,IAAI;oBACtB,WAAW,EAAE;wBACX,6BAA6B,EAAE,CAAC,GAAG,CAAC;wBACpC,8BAA8B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;qBAClE;iBACF;aACF;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;SAChE;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { stop } from '@libp2p/interface';
1
2
  import { multiaddr } from '@multiformats/multiaddr';
2
3
  import { expect } from 'aegir/chai';
3
4
  import toBuffer from 'it-to-buffer';
@@ -8,18 +9,17 @@ describe('helia - blockstore sessions', () => {
8
9
  let helia;
9
10
  let kubo;
10
11
  let kuboInfo;
12
+ let kubo2;
13
+ let kubo2Info;
11
14
  beforeEach(async () => {
12
15
  helia = await createHeliaNode();
13
16
  kubo = await createKuboNode();
14
17
  kuboInfo = await kubo.info();
18
+ kubo2 = await createKuboNode();
19
+ kubo2Info = await kubo2.info();
15
20
  });
16
21
  afterEach(async () => {
17
- if (helia != null) {
18
- await helia.stop();
19
- }
20
- if (kubo != null) {
21
- await kubo.stop();
22
- }
22
+ await stop(helia, kubo, kubo2);
23
23
  });
24
24
  it('should be able to receive a block from a peer', async () => {
25
25
  const input = Uint8Array.from([0, 1, 2, 3, 4]);
@@ -39,12 +39,28 @@ describe('helia - blockstore sessions', () => {
39
39
  });
40
40
  const root = CID.parse(cid.toString());
41
41
  const session = helia.blockstore.createSession(root, {
42
- providers: [
43
- kuboInfo.multiaddrs.map(str => multiaddr(str))
44
- ]
42
+ providers: kuboInfo.multiaddrs.map(str => multiaddr(str))
45
43
  });
46
44
  const output = await toBuffer(session.get(root));
47
45
  expect(output).to.equalBytes(input);
48
46
  });
47
+ it('should be able to add peers to a session after creation', async () => {
48
+ const input = Uint8Array.from([0, 1, 2, 3, 4]);
49
+ const { cid } = await kubo2.api.add({ content: input }, {
50
+ cidVersion: 1,
51
+ rawLeaves: true
52
+ });
53
+ const root = CID.parse(cid.toString());
54
+ const session = helia.blockstore.createSession(root, {
55
+ providers: kuboInfo.multiaddrs.map(str => multiaddr(str))
56
+ });
57
+ await expect(toBuffer(session.get(root))).to.eventually.be.rejected
58
+ .with.property('name', 'LoadBlockFailedError');
59
+ await Promise.all(kubo2Info.multiaddrs
60
+ .map(str => multiaddr(str))
61
+ .map(ma => session.addPeer(ma)));
62
+ const output = await toBuffer(session.get(root));
63
+ expect(output).to.equalBytes(input);
64
+ });
49
65
  });
50
66
  //# sourceMappingURL=helia-blockstore-sessions.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helia-blockstore-sessions.spec.js","sourceRoot":"","sources":["../../src/helia-blockstore-sessions.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helia-blockstore-sessions.spec.js","sourceRoot":"","sources":["../../src/helia-blockstore-sessions.spec.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,11 @@ describe('@helia/ipns - http', () => {
17
17
  */
18
18
  beforeEach(async () => {
19
19
  kubo = await createKuboNode();
20
+ const kuboInfo = await kubo.info();
20
21
  helia = await createHeliaHTTP({
21
22
  routers: [
22
23
  delegatedHTTPRouting({
23
- url: 'http://127.0.0.1:8180'
24
+ url: kuboInfo.gateway
24
25
  })
25
26
  ]
26
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ipns-http.spec.js","sourceRoot":"","sources":["../../src/ipns-http.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,KAAyB,CAAA;IAC7B,IAAI,IAAc,CAAA;IAClB,IAAI,IAAU,CAAA;IAEd;;;;OAIG;IACH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;QAC7B,KAAK,GAAG,MAAM,eAAe,CAAC;YAC5B,OAAO,EAAE;gBACP,oBAAoB,CAAC;oBACnB,GAAG,EAAE,uBAAuB;iBAC7B,CAAC;aACH;SACF,CAAC,CAAA;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,iFAAiF;YACjF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAA;QAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpE,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE;YAC9B,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3C,GAAG,EAAE,OAAO;SACb,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;QAClE,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"ipns-http.spec.js","sourceRoot":"","sources":["../../src/ipns-http.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,KAAyB,CAAA;IAC7B,IAAI,IAAc,CAAA;IAClB,IAAI,IAAU,CAAA;IAEd;;;;OAIG;IACH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAClC,KAAK,GAAG,MAAM,eAAe,CAAC;YAC5B,OAAO,EAAE;gBACP,oBAAoB,CAAC;oBACnB,GAAG,EAAE,QAAQ,CAAC,OAAO;iBACtB,CAAC;aACH;SACF,CAAC,CAAA;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,iFAAiF;YACjF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAA;QAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpE,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE;YAC9B,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3C,GAAG,EAAE,OAAO;SACb,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;QAClE,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helia/interop",
3
- "version": "10.0.1-2d8295c2",
3
+ "version": "10.0.1-33e46813",
4
4
  "description": "Interop tests for Helia",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/ipfs/helia/tree/main/packages/interop#readme",
@@ -51,19 +51,19 @@
51
51
  "test:electron-main": "aegir test -t electron-main"
52
52
  },
53
53
  "dependencies": {
54
- "@helia/block-brokers": "5.0.15-2d8295c2",
55
- "@helia/dnslink": "1.1.4-2d8295c2",
56
- "@helia/car": "5.3.6-2d8295c2",
57
- "@helia/dag-cbor": "5.0.5-2d8295c2",
58
- "@helia/dag-json": "5.0.5-2d8295c2",
59
- "@helia/http": "3.0.17-2d8295c2",
60
- "@helia/interface": "6.0.3-2d8295c2",
61
- "@helia/ipns": "9.1.7-2d8295c2",
62
- "@helia/json": "5.0.5-2d8295c2",
63
- "@helia/mfs": "7.0.2-2d8295c2",
64
- "@helia/routers": "5.0.1-2d8295c2",
65
- "@helia/strings": "5.0.5-2d8295c2",
66
- "@helia/unixfs": "7.0.2-2d8295c2",
54
+ "@helia/block-brokers": "5.0.15-33e46813",
55
+ "@helia/dnslink": "1.1.4-33e46813",
56
+ "@helia/car": "5.3.6-33e46813",
57
+ "@helia/dag-cbor": "5.0.5-33e46813",
58
+ "@helia/dag-json": "5.0.5-33e46813",
59
+ "@helia/http": "3.0.17-33e46813",
60
+ "@helia/interface": "6.0.3-33e46813",
61
+ "@helia/ipns": "9.1.7-33e46813",
62
+ "@helia/json": "5.0.5-33e46813",
63
+ "@helia/mfs": "7.0.2-33e46813",
64
+ "@helia/routers": "5.0.1-33e46813",
65
+ "@helia/strings": "5.0.5-33e46813",
66
+ "@helia/unixfs": "7.0.2-33e46813",
67
67
  "@ipld/car": "^5.4.2",
68
68
  "@ipld/dag-cbor": "^9.2.5",
69
69
  "@ipld/dag-pb": "^4.1.5",
@@ -78,7 +78,7 @@
78
78
  "@multiformats/multiaddr": "^13.0.1",
79
79
  "@multiformats/sha3": "^3.0.2",
80
80
  "aegir": "^47.0.22",
81
- "helia": "6.0.17-2d8295c2",
81
+ "helia": "6.0.17-33e46813",
82
82
  "ipfs-unixfs-importer": "^16.0.1",
83
83
  "ipfsd-ctl": "^16.0.0",
84
84
  "ipns": "^10.1.2",
@@ -15,7 +15,7 @@ export async function createKuboNode (): Promise<KuboNode> {
15
15
  '/ip4/0.0.0.0/tcp/0',
16
16
  '/ip4/0.0.0.0/tcp/0/ws'
17
17
  ],
18
- Gateway: '/ip4/127.0.0.1/tcp/8180'
18
+ Gateway: '/ip4/127.0.0.1/tcp/0'
19
19
  },
20
20
  Gateway: {
21
21
  NoFetch: true,
@@ -13,10 +13,10 @@ export async function createKuboNode (): Promise<KuboNode> {
13
13
  config: {
14
14
  Addresses: {
15
15
  Swarm: [
16
- '/ip4/0.0.0.0/tcp/4001',
17
- '/ip4/0.0.0.0/tcp/4002/ws'
16
+ '/ip4/0.0.0.0/tcp/0',
17
+ '/ip4/0.0.0.0/tcp/0/ws'
18
18
  ],
19
- Gateway: '/ip4/127.0.0.1/tcp/8180'
19
+ Gateway: '/ip4/127.0.0.1/tcp/0'
20
20
  },
21
21
  Gateway: {
22
22
  NoFetch: true,
@@ -1,3 +1,4 @@
1
+ import { stop } from '@libp2p/interface'
1
2
  import { multiaddr } from '@multiformats/multiaddr'
2
3
  import { expect } from 'aegir/chai'
3
4
  import toBuffer from 'it-to-buffer'
@@ -11,21 +12,19 @@ describe('helia - blockstore sessions', () => {
11
12
  let helia: Helia
12
13
  let kubo: KuboNode
13
14
  let kuboInfo: KuboInfo
15
+ let kubo2: KuboNode
16
+ let kubo2Info: KuboInfo
14
17
 
15
18
  beforeEach(async () => {
16
19
  helia = await createHeliaNode()
17
20
  kubo = await createKuboNode()
18
21
  kuboInfo = await kubo.info()
22
+ kubo2 = await createKuboNode()
23
+ kubo2Info = await kubo2.info()
19
24
  })
20
25
 
21
26
  afterEach(async () => {
22
- if (helia != null) {
23
- await helia.stop()
24
- }
25
-
26
- if (kubo != null) {
27
- await kubo.stop()
28
- }
27
+ await stop(helia, kubo, kubo2)
29
28
  })
30
29
 
31
30
  it('should be able to receive a block from a peer', async () => {
@@ -51,13 +50,37 @@ describe('helia - blockstore sessions', () => {
51
50
  const root = CID.parse(cid.toString())
52
51
 
53
52
  const session = helia.blockstore.createSession(root, {
54
- providers: [
55
- kuboInfo.multiaddrs.map(str => multiaddr(str))
56
- ]
53
+ providers: kuboInfo.multiaddrs.map(str => multiaddr(str))
57
54
  })
58
55
 
59
56
  const output = await toBuffer(session.get(root))
60
57
 
61
58
  expect(output).to.equalBytes(input)
62
59
  })
60
+
61
+ it('should be able to add peers to a session after creation', async () => {
62
+ const input = Uint8Array.from([0, 1, 2, 3, 4])
63
+ const { cid } = await kubo2.api.add({ content: input }, {
64
+ cidVersion: 1,
65
+ rawLeaves: true
66
+ })
67
+ const root = CID.parse(cid.toString())
68
+
69
+ const session = helia.blockstore.createSession(root, {
70
+ providers: kuboInfo.multiaddrs.map(str => multiaddr(str))
71
+ })
72
+
73
+ await expect(toBuffer(session.get(root))).to.eventually.be.rejected
74
+ .with.property('name', 'LoadBlockFailedError')
75
+
76
+ await Promise.all(
77
+ kubo2Info.multiaddrs
78
+ .map(str => multiaddr(str))
79
+ .map(ma => session.addPeer(ma))
80
+ )
81
+
82
+ const output = await toBuffer(session.get(root))
83
+
84
+ expect(output).to.equalBytes(input)
85
+ })
63
86
  })
@@ -23,10 +23,11 @@ describe('@helia/ipns - http', () => {
23
23
  */
24
24
  beforeEach(async () => {
25
25
  kubo = await createKuboNode()
26
+ const kuboInfo = await kubo.info()
26
27
  helia = await createHeliaHTTP({
27
28
  routers: [
28
29
  delegatedHTTPRouting({
29
- url: 'http://127.0.0.1:8180'
30
+ url: kuboInfo.gateway
30
31
  })
31
32
  ]
32
33
  })