@helia/interop 4.0.0 → 5.0.0-8a5bc6f
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/fixtures/load-fixture-data.d.ts +3 -0
- package/dist/src/fixtures/load-fixture-data.d.ts.map +1 -0
- package/dist/src/fixtures/load-fixture-data.js +8 -0
- package/dist/src/fixtures/load-fixture-data.js.map +1 -0
- package/dist/src/ipns-http.spec.js +1 -1
- package/dist/src/ipns-http.spec.js.map +1 -1
- package/dist/src/ipns-pubsub.spec.js +4 -4
- package/dist/src/ipns-pubsub.spec.js.map +1 -1
- package/dist/src/ipns.spec.js +1 -1
- package/dist/src/ipns.spec.js.map +1 -1
- package/dist/src/verified-fetch-json.spec.d.ts +2 -0
- package/dist/src/verified-fetch-json.spec.d.ts.map +1 -0
- package/dist/src/verified-fetch-json.spec.js +44 -0
- package/dist/src/verified-fetch-json.spec.js.map +1 -0
- package/dist/src/verified-fetch-unixfs-dir.spec.d.ts +2 -0
- package/dist/src/verified-fetch-unixfs-dir.spec.d.ts.map +1 -0
- package/dist/src/verified-fetch-unixfs-dir.spec.js +67 -0
- package/dist/src/verified-fetch-unixfs-dir.spec.js.map +1 -0
- package/dist/src/verified-fetch-websites.spec.d.ts +2 -0
- package/dist/src/verified-fetch-websites.spec.d.ts.map +1 -0
- package/dist/src/verified-fetch-websites.spec.js +78 -0
- package/dist/src/verified-fetch-websites.spec.js.map +1 -0
- package/package.json +17 -16
- package/src/fixtures/data/QmQJ8fxavY54CUsxMSx9aE9Rdcmvhx8awJK2jzJp4iAqCr-tokens.uniswap.org-2024-01-18.car +0 -0
- package/src/fixtures/data/QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR-xkcd-Barrel-part-1.car +0 -0
- package/src/fixtures/data/QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv-helia-identify-website.car +0 -0
- package/src/fixtures/data/QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw-fake-blog.libp2p.io.car +0 -0
- package/src/fixtures/data/bafybeidbclfqleg2uojchspzd4bob56dqetqjsj27gy2cq3klkkgxtpn4i-single-layer-hamt-with-multi-block-files.car +0 -0
- package/src/fixtures/load-fixture-data.ts +9 -0
- package/src/ipns-http.spec.ts +1 -1
- package/src/ipns-pubsub.spec.ts +5 -5
- package/src/ipns.spec.ts +1 -1
- package/src/verified-fetch-json.spec.ts +48 -0
- package/src/verified-fetch-unixfs-dir.spec.ts +76 -0
- package/src/verified-fetch-websites.spec.ts +87 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-fixture-data.d.ts","sourceRoot":"","sources":["../../../src/fixtures/load-fixture-data.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,wBAAsB,kBAAkB,CAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7F"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import loadFixture from 'aegir/fixtures';
|
|
2
|
+
import drain from 'it-drain';
|
|
3
|
+
export async function loadFixtureDataCar(controller, path) {
|
|
4
|
+
const fixtureData = `src/fixtures/data/${path}`;
|
|
5
|
+
const buf = loadFixture(fixtureData);
|
|
6
|
+
await drain(controller.api.dag.import([buf]));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=load-fixture-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-fixture-data.js","sourceRoot":"","sources":["../../../src/fixtures/load-fixture-data.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,KAAK,MAAM,UAAU,CAAA;AAG5B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAE,UAAsB,EAAE,IAAY;IAC5E,MAAM,WAAW,GAAG,qBAAqB,IAAI,EAAE,CAAA;IAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;IACpC,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -48,7 +48,7 @@ describe('@helia/ipns - http', () => {
|
|
|
48
48
|
key: keyName
|
|
49
49
|
});
|
|
50
50
|
const key = peerIdFromString(res.name);
|
|
51
|
-
const resolvedCid = await name.resolve(key);
|
|
51
|
+
const { cid: resolvedCid } = await name.resolve(key);
|
|
52
52
|
expect(resolvedCid.toString()).to.equal(cid.toString());
|
|
53
53
|
});
|
|
54
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipns-http.spec.js","sourceRoot":"","sources":["../../src/ipns-http.spec.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,KAAY,CAAA;IAChB,IAAI,IAAgB,CAAA;IACpB,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,uBAAuB,CAAC;aAC9C;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,yEAAyE;YACzE,eAAe;YACf,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,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEtC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ipns-http.spec.js","sourceRoot":"","sources":["../../src/ipns-http.spec.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAK1D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,KAAY,CAAA;IAChB,IAAI,IAAgB,CAAA;IACpB,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,uBAAuB,CAAC;aAC9C;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,yEAAyE;YACzE,eAAe;YACf,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,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEtC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACpD,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"}
|
|
@@ -127,11 +127,11 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
|
|
|
127
127
|
await kubo.api.name.publish(cid, {
|
|
128
128
|
key: keyName
|
|
129
129
|
});
|
|
130
|
-
let
|
|
130
|
+
let resolveResult;
|
|
131
131
|
// we should get an update eventually
|
|
132
132
|
await waitFor(async () => {
|
|
133
133
|
try {
|
|
134
|
-
|
|
134
|
+
resolveResult = await name.resolve(peerId);
|
|
135
135
|
return true;
|
|
136
136
|
}
|
|
137
137
|
catch {
|
|
@@ -141,10 +141,10 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
|
|
|
141
141
|
timeout: 10000,
|
|
142
142
|
message: 'Helia could not resolve the IPNS record'
|
|
143
143
|
});
|
|
144
|
-
if (
|
|
144
|
+
if (resolveResult == null) {
|
|
145
145
|
throw new Error('Failed to resolve CID');
|
|
146
146
|
}
|
|
147
|
-
expect(
|
|
147
|
+
expect(resolveResult.cid.toString()).to.equal(cid.toString());
|
|
148
148
|
});
|
|
149
149
|
});
|
|
150
150
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipns-pubsub.spec.js","sourceRoot":"","sources":["../../src/ipns-pubsub.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ipns-pubsub.spec.js","sourceRoot":"","sources":["../../src/ipns-pubsub.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ipns.spec.js
CHANGED
|
@@ -138,7 +138,7 @@ keyTypes.forEach(type => {
|
|
|
138
138
|
await kubo.api.name.publish(cid, {
|
|
139
139
|
key: keyName
|
|
140
140
|
});
|
|
141
|
-
const resolvedCid = await name.resolve(key);
|
|
141
|
+
const { cid: resolvedCid } = await name.resolve(key);
|
|
142
142
|
expect(resolvedCid.toString()).to.equal(cid.toString());
|
|
143
143
|
});
|
|
144
144
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipns.spec.js","sourceRoot":"","sources":["../../src/ipns.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ipns.spec.js","sourceRoot":"","sources":["../../src/ipns.spec.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAMhD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;IACtB,QAAQ,CAAC,sCAAsC,IAAI,OAAO,EAAE,GAAG,EAAE;QAC/D,IAAI,KAAkB,CAAA;QACtB,IAAI,IAAgB,CAAA;QACpB,IAAI,IAAU,CAAA;QAEd,kCAAkC;QAClC,IAAI,KAAU,CAAA;QAEd,kDAAkD;QAClD,IAAI,GAAW,CAAA;QAEf;;;;WAIG;QACH,KAAK,UAAU,WAAW,CAAE,QAA0B;YACpD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAEtC,KAAK,GAAG,MAAM,eAAe,EAAE,CAAA;YAC/B,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;YAE7B,+FAA+F;YAC/F,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,GAAG,GAAG,MAAM,mBAAmB,EAAE,CAAA;gBACnC,CAAC;qBAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;oBAChC,GAAG,GAAG,MAAM,qBAAqB,EAAE,CAAA;gBACrC,CAAC;qBAAM,CAAC;oBACN,GAAG,GAAG,MAAM,eAAe,EAAE,CAAA;gBAC/B,CAAC;gBAED,MAAM,UAAU,GAAG,gBAAgB,CAAC;oBAClC,oBAAoB,CAAC,QAAQ,CAAC;oBAC9B,GAAG,CAAC,OAAO,EAAE;iBACd,CAAC,CAAA;gBAEF,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE;oBACnD,KAAK,CAAC,MAAM,CAAC,MAAM;oBACnB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;iBAC1C,CAAC,CAAA;gBAEF,IAAI,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;oBACrF,MAAK;gBACP,CAAC;gBAED,IAAI,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChE,MAAK;gBACP,CAAC;YACH,CAAC;YAED,sEAAsE;YACtE,kDAAkD;YAClD,MAAM,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAA;YAEjD,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;gBACvB,IAAI,KAAK,GAAG,KAAK,CAAA;gBAEjB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;oBACxG,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBAChC,KAAK,GAAG,IAAI,CAAA;oBACd,CAAC;gBACH,CAAC;gBAED,OAAO,KAAK,CAAA;YACd,CAAC,EAAE;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,sCAAsC;aAChD,CAAC,CAAA;YAEF,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;gBACvB,IAAI,KAAK,GAAG,KAAK,CAAA;gBAEjB,6CAA6C;gBAC7C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBAChC,KAAK,GAAG,IAAI,CAAA;oBACd,CAAC;gBACH,CAAC;gBAED,OAAO,KAAK,CAAA;YACd,CAAC,EAAE;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,sCAAsC;aAChD,CAAC,CAAA;YAEF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QAED,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YACnB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uDAAuD,IAAI,MAAM,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;YAEzB,MAAM,OAAO,GAAG,aAAa,CAAA;YAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YAE7D,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YAElE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAChD,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK;YACrD,IAAI,cAAc,EAAE,CAAC;gBACnB,2DAA2D;gBAC3D,+DAA+D;gBAC/D,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,oCAAoC;gBACpC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YAED,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YAE1B,MAAM,OAAO,GAAG,aAAa,CAAA;YAC7B,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;YAEpE,qFAAqF;YACrF,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAEnE,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,0BAA0B,OAAO,EAAE,EAAE;gBAC9G,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CAAC,CAAA;YAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAEhD,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC/B,GAAG,EAAE,OAAO;aACb,CAAC,CAAA;YAEF,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACpD,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verified-fetch-json.spec.d.ts","sourceRoot":"","sources":["../../src/verified-fetch-json.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* eslint-env mocha */
|
|
2
|
+
import { createVerifiedFetch } from '@helia/verified-fetch';
|
|
3
|
+
import { expect } from 'aegir/chai';
|
|
4
|
+
import { CID } from 'multiformats/cid';
|
|
5
|
+
import { createKuboNode } from './fixtures/create-kubo.js';
|
|
6
|
+
import { loadFixtureDataCar } from './fixtures/load-fixture-data.js';
|
|
7
|
+
describe('@helia/verified-fetch - json', () => {
|
|
8
|
+
describe('unixfs - multiblock', () => {
|
|
9
|
+
let controller;
|
|
10
|
+
let verifiedFetch;
|
|
11
|
+
before(async () => {
|
|
12
|
+
controller = await createKuboNode();
|
|
13
|
+
await controller.start();
|
|
14
|
+
// As of 2024-01-18, https://cloudflare-ipfs.com/ipns/tokens.uniswap.org resolves to:
|
|
15
|
+
// root: QmQJ8fxavY54CUsxMSx9aE9Rdcmvhx8awJK2jzJp4iAqCr
|
|
16
|
+
// child1: QmNik5N4ryNwzzXYq5hCYKGcRjAf9QtigxtiJh9o8aXXbG // partial JSON
|
|
17
|
+
// child2: QmWNBJX6fZyNTLWNYBHxAHpBctCP43R2zeqV2G8uavqFZn // partial JSON
|
|
18
|
+
await loadFixtureDataCar(controller, 'QmQJ8fxavY54CUsxMSx9aE9Rdcmvhx8awJK2jzJp4iAqCr-tokens.uniswap.org-2024-01-18.car');
|
|
19
|
+
verifiedFetch = await createVerifiedFetch({
|
|
20
|
+
gateways: [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`],
|
|
21
|
+
// Temporarily disabling delegated routers in browser until CORS issue is fixed. see https://github.com/ipshipyard/waterworks-community/issues/4
|
|
22
|
+
routers: process.env.RUNNER_ENV === 'node' ? [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`] : []
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
after(async () => {
|
|
26
|
+
await controller.stop();
|
|
27
|
+
await verifiedFetch.stop();
|
|
28
|
+
});
|
|
29
|
+
it('handles UnixFS-chunked JSON file', async () => {
|
|
30
|
+
const resp = await verifiedFetch(CID.parse('QmQJ8fxavY54CUsxMSx9aE9Rdcmvhx8awJK2jzJp4iAqCr'));
|
|
31
|
+
expect(resp).to.be.ok();
|
|
32
|
+
const jsonObj = await resp.json();
|
|
33
|
+
expect(jsonObj).to.be.ok();
|
|
34
|
+
expect(jsonObj).to.have.property('name').equal('Uniswap Labs Default');
|
|
35
|
+
expect(jsonObj).to.have.property('timestamp').equal('2023-12-13T18:25:25.830Z');
|
|
36
|
+
expect(jsonObj).to.have.property('version').to.deep.equal({ major: 11, minor: 11, patch: 0 });
|
|
37
|
+
expect(jsonObj).to.have.property('tags');
|
|
38
|
+
expect(jsonObj).to.have.property('logoURI').equal('ipfs://QmNa8mQkrNKp1WEEeGjFezDmDeodkWRevGFN8JCV7b4Xir');
|
|
39
|
+
expect(jsonObj).to.have.property('keywords').to.deep.equal(['uniswap', 'default']);
|
|
40
|
+
expect(jsonObj.tokens).to.be.an('array').of.length(767);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=verified-fetch-json.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verified-fetch-json.spec.js","sourceRoot":"","sources":["../../src/verified-fetch-json.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verified-fetch-unixfs-dir.spec.d.ts","sourceRoot":"","sources":["../../src/verified-fetch-unixfs-dir.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/* eslint-env mocha */
|
|
2
|
+
import { createVerifiedFetch } from '@helia/verified-fetch';
|
|
3
|
+
import { expect } from 'aegir/chai';
|
|
4
|
+
import { createKuboNode } from './fixtures/create-kubo.js';
|
|
5
|
+
import { loadFixtureDataCar } from './fixtures/load-fixture-data.js';
|
|
6
|
+
describe('@helia/verified-fetch - unixfs directory', () => {
|
|
7
|
+
let controller;
|
|
8
|
+
let verifiedFetch;
|
|
9
|
+
before(async () => {
|
|
10
|
+
controller = await createKuboNode();
|
|
11
|
+
await controller.start();
|
|
12
|
+
verifiedFetch = await createVerifiedFetch({
|
|
13
|
+
gateways: [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`],
|
|
14
|
+
// Temporarily disabling delegated routers in browser until CORS issue is fixed. see https://github.com/ipshipyard/waterworks-community/issues/4
|
|
15
|
+
routers: process.env.RUNNER_ENV === 'node' ? [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`] : []
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
after(async () => {
|
|
19
|
+
await controller.stop();
|
|
20
|
+
await verifiedFetch.stop();
|
|
21
|
+
});
|
|
22
|
+
describe('XKCD Barrel Part 1', () => {
|
|
23
|
+
before(async () => {
|
|
24
|
+
// This is the content of https://explore.ipld.io/#/explore/QmdmQXB2mzChmMeKY47C43LxUdg1NDJ5MWcKMKxDu7RgQm/1%20-%20Barrel%20-%20Part%201
|
|
25
|
+
await loadFixtureDataCar(controller, 'QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR-xkcd-Barrel-part-1.car');
|
|
26
|
+
});
|
|
27
|
+
it('fails to load when passed the root', async () => {
|
|
28
|
+
// The spec says we should generate HTML with directory listings, but we don't do that yet, so expect a failure
|
|
29
|
+
const resp = await verifiedFetch('ipfs://QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR');
|
|
30
|
+
expect(resp).to.be.ok();
|
|
31
|
+
expect(resp.status).to.equal(501); // TODO: we should do a directory listing instead
|
|
32
|
+
});
|
|
33
|
+
it('can return a string for unixfs pathed data', async () => {
|
|
34
|
+
const resp = await verifiedFetch('ipfs://QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR/1 - Barrel - Part 1 - alt.txt');
|
|
35
|
+
expect(resp).to.be.ok();
|
|
36
|
+
const text = await resp.text();
|
|
37
|
+
expect(text).to.equal('Don\'t we all.');
|
|
38
|
+
expect(resp.headers.get('content-type')).to.equal('text/plain');
|
|
39
|
+
});
|
|
40
|
+
it('can return an image for unixfs pathed data', async () => {
|
|
41
|
+
const resp = await verifiedFetch('ipfs://QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR/1 - Barrel - Part 1.png');
|
|
42
|
+
expect(resp).to.be.ok();
|
|
43
|
+
expect(resp.headers.get('content-type')).to.equal('image/png');
|
|
44
|
+
const imgData = await resp.blob();
|
|
45
|
+
expect(imgData).to.be.ok();
|
|
46
|
+
expect(imgData.size).to.equal(24848);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
// TODO: find a smaller car file so the test doesn't timeout locally or flake on CI
|
|
50
|
+
describe.skip('HAMT-sharded directory', () => {
|
|
51
|
+
before(async () => {
|
|
52
|
+
// from https://github.com/ipfs/gateway-conformance/blob/193833b91f2e9b17daf45c84afaeeae61d9d7c7e/fixtures/trustless_gateway_car/single-layer-hamt-with-multi-block-files.car
|
|
53
|
+
await loadFixtureDataCar(controller, 'bafybeidbclfqleg2uojchspzd4bob56dqetqjsj27gy2cq3klkkgxtpn4i-single-layer-hamt-with-multi-block-files.car');
|
|
54
|
+
});
|
|
55
|
+
it('loads path /ipfs/bafybeidbclfqleg2uojchspzd4bob56dqetqjsj27gy2cq3klkkgxtpn4i/685.txt', async () => {
|
|
56
|
+
const resp = await verifiedFetch('ipfs://bafybeidbclfqleg2uojchspzd4bob56dqetqjsj27gy2cq3klkkgxtpn4i/685.txt');
|
|
57
|
+
expect(resp).to.be.ok();
|
|
58
|
+
expect(resp.headers.get('content-type')).to.equal('text/plain');
|
|
59
|
+
const text = await resp.text();
|
|
60
|
+
// npx kubo@0.25.0 cat '/ipfs/bafybeidbclfqleg2uojchspzd4bob56dqetqjsj27gy2cq3klkkgxtpn4i/685.txt'
|
|
61
|
+
expect(text).to.equal(`Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non imperdiet nunc. Proin ac quam ut nibh eleifend aliquet. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed ligula dolor, imperdiet sagittis arcu et, semper tincidunt urna. Donec et tempor augue, quis sollicitudin metus. Curabitur semper ullamcorper aliquet. Mauris hendrerit sodales lectus eget fermentum. Proin sollicitudin vestibulum commodo. Vivamus nec lectus eu augue aliquet dignissim nec condimentum justo. In hac habitasse platea dictumst. Mauris vel sem neque.
|
|
62
|
+
|
|
63
|
+
Vivamus finibus, enim at lacinia semper, arcu erat gravida lacus, sit amet gravida magna orci sit amet est. Sed non leo lacus. Nullam viverra ipsum a tincidunt dapibus. Nulla pulvinar ligula sit amet ante ultrices tempus. Proin purus urna, semper sed lobortis quis, gravida vitae ipsum. Aliquam mi urna, pulvinar eu bibendum quis, convallis ac dolor. In gravida justo sed risus ullamcorper, vitae luctus massa hendrerit. Pellentesque habitant amet.`);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=verified-fetch-unixfs-dir.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verified-fetch-unixfs-dir.spec.js","sourceRoot":"","sources":["../../src/verified-fetch-unixfs-dir.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verified-fetch-websites.spec.d.ts","sourceRoot":"","sources":["../../src/verified-fetch-websites.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/* eslint-env mocha */
|
|
2
|
+
import { createVerifiedFetch } from '@helia/verified-fetch';
|
|
3
|
+
import { expect } from 'aegir/chai';
|
|
4
|
+
import { createKuboNode } from './fixtures/create-kubo.js';
|
|
5
|
+
import { loadFixtureDataCar } from './fixtures/load-fixture-data.js';
|
|
6
|
+
describe('@helia/verified-fetch - websites', () => {
|
|
7
|
+
describe('helia-identify.on.fleek.co', () => {
|
|
8
|
+
let controller;
|
|
9
|
+
let verifiedFetch;
|
|
10
|
+
before(async () => {
|
|
11
|
+
controller = await createKuboNode();
|
|
12
|
+
await controller.start();
|
|
13
|
+
// 2024-01-22 CID for _dnslink.helia-identify.on.fleek.co
|
|
14
|
+
await loadFixtureDataCar(controller, 'QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv-helia-identify-website.car');
|
|
15
|
+
verifiedFetch = await createVerifiedFetch({
|
|
16
|
+
gateways: [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`],
|
|
17
|
+
// Temporarily disabling delegated routers in browser until CORS issue is fixed. see https://github.com/ipshipyard/waterworks-community/issues/4
|
|
18
|
+
routers: process.env.RUNNER_ENV === 'node' ? [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`] : []
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
after(async () => {
|
|
22
|
+
await controller.stop();
|
|
23
|
+
await verifiedFetch.stop();
|
|
24
|
+
});
|
|
25
|
+
it('loads index.html when passed helia-identify.on.fleek.co root CID', async () => {
|
|
26
|
+
const resp = await verifiedFetch('ipfs://QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv');
|
|
27
|
+
expect(resp).to.be.ok();
|
|
28
|
+
const html = await resp.text();
|
|
29
|
+
expect(html).to.be.ok();
|
|
30
|
+
expect(html).to.include('<title>Run Identify on a remote node with Helia</title>');
|
|
31
|
+
});
|
|
32
|
+
it('loads helia-identify.on.fleek.co index.html directly ', async () => {
|
|
33
|
+
const resp = await verifiedFetch('ipfs://QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv/index.html');
|
|
34
|
+
expect(resp).to.be.ok();
|
|
35
|
+
const html = await resp.text();
|
|
36
|
+
expect(html).to.be.ok();
|
|
37
|
+
expect(html).to.include('<title>Run Identify on a remote node with Helia</title>');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* Created on 2024-01-23. /ipns/blog.libp2p.io/index.html resolved to QmVZNGy6SPvUbvQCXXaGDdp8kvfJm9MMozjU12dyzH6hKf
|
|
43
|
+
*
|
|
44
|
+
* ```shell
|
|
45
|
+
* mkdir fake-blog.libp2p.io
|
|
46
|
+
* npx kubo@0.25.0 cat '/ipfs/QmVZNGy6SPvUbvQCXXaGDdp8kvfJm9MMozjU12dyzH6hKf' > fake-blog.libp2p.io/index.html
|
|
47
|
+
* npx kubo@0.25.0 add -r fake-blog.libp2p.io
|
|
48
|
+
* npx kubo@0.25.0 dag export QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw > QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw-fake-blog.libp2p.io.car
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
describe('fake blog.libp2p.io', () => {
|
|
52
|
+
let controller;
|
|
53
|
+
let verifiedFetch;
|
|
54
|
+
before(async () => {
|
|
55
|
+
controller = await createKuboNode();
|
|
56
|
+
await controller.start();
|
|
57
|
+
await loadFixtureDataCar(controller, 'QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw-fake-blog.libp2p.io.car');
|
|
58
|
+
verifiedFetch = await createVerifiedFetch({
|
|
59
|
+
gateways: [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`],
|
|
60
|
+
// Temporarily disabling delegated routers in browser until CORS issue is fixed. see https://github.com/ipshipyard/waterworks-community/issues/4
|
|
61
|
+
routers: process.env.RUNNER_ENV === 'node' ? [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`] : []
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
after(async () => {
|
|
65
|
+
await controller.stop();
|
|
66
|
+
await verifiedFetch.stop();
|
|
67
|
+
});
|
|
68
|
+
it('loads index.html when passed fake-blog.libp2p.io root CID', async () => {
|
|
69
|
+
const resp = await verifiedFetch('ipfs://QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw');
|
|
70
|
+
expect(resp).to.be.ok();
|
|
71
|
+
const html = await resp.text();
|
|
72
|
+
expect(html).to.be.ok();
|
|
73
|
+
expect(html).to.include('<title>Home | libp2p Blog & News</title>');
|
|
74
|
+
expect(html).to.include('<link href="https://libp2p.io/" rel="canonical">');
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=verified-fetch-websites.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verified-fetch-websites.spec.js","sourceRoot":"","sources":["../../src/verified-fetch-websites.spec.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAGpE,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAI,UAA4B,CAAA;QAChC,IAAI,aAA8D,CAAA;QAElE,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;YACnC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;YACxB,yDAAyD;YACzD,MAAM,kBAAkB,CAAC,UAAU,EAAE,2EAA2E,CAAC,CAAA;YACjH,aAAa,GAAG,MAAM,mBAAmB,CAAC;gBACxC,QAAQ,EAAE,CAAC,UAAU,UAAU,CAAC,GAAG,CAAC,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChF,gJAAgJ;gBAChJ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,UAAU,CAAC,GAAG,CAAC,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;aACzH,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;YACvB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,uDAAuD,CAAC,CAAA;YACzF,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;YACvB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAA;QACpF,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,kEAAkE,CAAC,CAAA;YACpG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;YACvB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAA;QACpF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,UAA4B,CAAA;QAChC,IAAI,aAA8D,CAAA;QAElE,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;YACnC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;YACxB,MAAM,kBAAkB,CAAC,UAAU,EAAE,wEAAwE,CAAC,CAAA;YAC9G,aAAa,GAAG,MAAM,mBAAmB,CAAC;gBACxC,QAAQ,EAAE,CAAC,UAAU,UAAU,CAAC,GAAG,CAAC,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChF,gJAAgJ;gBAChJ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,UAAU,CAAC,GAAG,CAAC,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;aACzH,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;YACvB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,uDAAuD,CAAC,CAAA;YACzF,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;YACvB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAA;YACxE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/interop",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-8a5bc6f",
|
|
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",
|
|
@@ -58,21 +58,22 @@
|
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@chainsafe/libp2p-gossipsub": "^11.1.0",
|
|
61
|
-
"@helia/block-brokers": "
|
|
62
|
-
"@helia/car": "
|
|
63
|
-
"@helia/dag-cbor": "
|
|
64
|
-
"@helia/dag-json": "
|
|
65
|
-
"@helia/http": "
|
|
66
|
-
"@helia/interface": "
|
|
67
|
-
"@helia/ipns": "
|
|
68
|
-
"@helia/json": "
|
|
69
|
-
"@helia/mfs": "
|
|
70
|
-
"@helia/routers": "
|
|
71
|
-
"@helia/strings": "
|
|
72
|
-
"@helia/unixfs": "
|
|
61
|
+
"@helia/block-brokers": "2.0.1-8a5bc6f",
|
|
62
|
+
"@helia/car": "3.0.0-8a5bc6f",
|
|
63
|
+
"@helia/dag-cbor": "3.0.0-8a5bc6f",
|
|
64
|
+
"@helia/dag-json": "3.0.0-8a5bc6f",
|
|
65
|
+
"@helia/http": "1.0.1-8a5bc6f",
|
|
66
|
+
"@helia/interface": "4.0.0-8a5bc6f",
|
|
67
|
+
"@helia/ipns": "6.0.0-8a5bc6f",
|
|
68
|
+
"@helia/json": "3.0.0-8a5bc6f",
|
|
69
|
+
"@helia/mfs": "3.0.0-8a5bc6f",
|
|
70
|
+
"@helia/routers": "1.0.0-8a5bc6f",
|
|
71
|
+
"@helia/strings": "3.0.0-8a5bc6f",
|
|
72
|
+
"@helia/unixfs": "3.0.0-8a5bc6f",
|
|
73
|
+
"@helia/verified-fetch": "0.0.0-8a5bc6f",
|
|
73
74
|
"@ipld/car": "^5.2.5",
|
|
74
|
-
"@ipld/dag-cbor": "^9.0
|
|
75
|
-
"@libp2p/interface": "^1.1.
|
|
75
|
+
"@ipld/dag-cbor": "^9.1.0",
|
|
76
|
+
"@libp2p/interface": "^1.1.2",
|
|
76
77
|
"@libp2p/kad-dht": "^12.0.2",
|
|
77
78
|
"@libp2p/keychain": "^4.0.7",
|
|
78
79
|
"@libp2p/peer-id": "^4.0.5",
|
|
@@ -80,7 +81,7 @@
|
|
|
80
81
|
"@libp2p/websockets": "^8.0.10",
|
|
81
82
|
"@multiformats/sha3": "^3.0.0",
|
|
82
83
|
"aegir": "^42.1.0",
|
|
83
|
-
"helia": "
|
|
84
|
+
"helia": "4.0.1-8a5bc6f",
|
|
84
85
|
"ipfs-core-types": "^0.14.1",
|
|
85
86
|
"ipfs-unixfs-importer": "^15.2.3",
|
|
86
87
|
"ipfsd-ctl": "^13.0.0",
|
|
Binary file
|
package/src/fixtures/data/QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR-xkcd-Barrel-part-1.car
ADDED
|
Binary file
|
package/src/fixtures/data/QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv-helia-identify-website.car
ADDED
|
Binary file
|
package/src/fixtures/data/QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw-fake-blog.libp2p.io.car
ADDED
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import loadFixture from 'aegir/fixtures'
|
|
2
|
+
import drain from 'it-drain'
|
|
3
|
+
import type { Controller } from 'ipfsd-ctl'
|
|
4
|
+
|
|
5
|
+
export async function loadFixtureDataCar (controller: Controller, path: string): Promise<void> {
|
|
6
|
+
const fixtureData = `src/fixtures/data/${path}`
|
|
7
|
+
const buf = loadFixture(fixtureData)
|
|
8
|
+
await drain(controller.api.dag.import([buf]))
|
|
9
|
+
}
|
package/src/ipns-http.spec.ts
CHANGED
|
@@ -62,7 +62,7 @@ describe('@helia/ipns - http', () => {
|
|
|
62
62
|
|
|
63
63
|
const key = peerIdFromString(res.name)
|
|
64
64
|
|
|
65
|
-
const resolvedCid = await name.resolve(key)
|
|
65
|
+
const { cid: resolvedCid } = await name.resolve(key)
|
|
66
66
|
expect(resolvedCid.toString()).to.equal(cid.toString())
|
|
67
67
|
})
|
|
68
68
|
})
|
package/src/ipns-pubsub.spec.ts
CHANGED
|
@@ -20,7 +20,7 @@ import { createHeliaNode } from './fixtures/create-helia.js'
|
|
|
20
20
|
import { createKuboNode } from './fixtures/create-kubo.js'
|
|
21
21
|
import { keyTypes } from './fixtures/key-types.js'
|
|
22
22
|
import { waitFor } from './fixtures/wait-for.js'
|
|
23
|
-
import type { IPNS } from '@helia/ipns'
|
|
23
|
+
import type { IPNS, ResolveResult } from '@helia/ipns'
|
|
24
24
|
import type { Libp2p, PubSub } from '@libp2p/interface'
|
|
25
25
|
import type { Keychain } from '@libp2p/keychain'
|
|
26
26
|
import type { HeliaLibp2p } from 'helia'
|
|
@@ -161,12 +161,12 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
|
|
|
161
161
|
key: keyName
|
|
162
162
|
})
|
|
163
163
|
|
|
164
|
-
let
|
|
164
|
+
let resolveResult: ResolveResult | undefined
|
|
165
165
|
|
|
166
166
|
// we should get an update eventually
|
|
167
167
|
await waitFor(async () => {
|
|
168
168
|
try {
|
|
169
|
-
|
|
169
|
+
resolveResult = await name.resolve(peerId)
|
|
170
170
|
|
|
171
171
|
return true
|
|
172
172
|
} catch {
|
|
@@ -177,11 +177,11 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
|
|
|
177
177
|
message: 'Helia could not resolve the IPNS record'
|
|
178
178
|
})
|
|
179
179
|
|
|
180
|
-
if (
|
|
180
|
+
if (resolveResult == null) {
|
|
181
181
|
throw new Error('Failed to resolve CID')
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
expect(
|
|
184
|
+
expect(resolveResult.cid.toString()).to.equal(cid.toString())
|
|
185
185
|
})
|
|
186
186
|
})
|
|
187
187
|
})
|
package/src/ipns.spec.ts
CHANGED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/* eslint-env mocha */
|
|
2
|
+
import { createVerifiedFetch } from '@helia/verified-fetch'
|
|
3
|
+
import { expect } from 'aegir/chai'
|
|
4
|
+
import { CID } from 'multiformats/cid'
|
|
5
|
+
import { createKuboNode } from './fixtures/create-kubo.js'
|
|
6
|
+
import { loadFixtureDataCar } from './fixtures/load-fixture-data.js'
|
|
7
|
+
import type { Controller } from 'ipfsd-ctl'
|
|
8
|
+
|
|
9
|
+
describe('@helia/verified-fetch - json', () => {
|
|
10
|
+
describe('unixfs - multiblock', () => {
|
|
11
|
+
let controller: Controller<'go'>
|
|
12
|
+
let verifiedFetch: Awaited<ReturnType<typeof createVerifiedFetch>>
|
|
13
|
+
|
|
14
|
+
before(async () => {
|
|
15
|
+
controller = await createKuboNode()
|
|
16
|
+
await controller.start()
|
|
17
|
+
// As of 2024-01-18, https://cloudflare-ipfs.com/ipns/tokens.uniswap.org resolves to:
|
|
18
|
+
// root: QmQJ8fxavY54CUsxMSx9aE9Rdcmvhx8awJK2jzJp4iAqCr
|
|
19
|
+
// child1: QmNik5N4ryNwzzXYq5hCYKGcRjAf9QtigxtiJh9o8aXXbG // partial JSON
|
|
20
|
+
// child2: QmWNBJX6fZyNTLWNYBHxAHpBctCP43R2zeqV2G8uavqFZn // partial JSON
|
|
21
|
+
await loadFixtureDataCar(controller, 'QmQJ8fxavY54CUsxMSx9aE9Rdcmvhx8awJK2jzJp4iAqCr-tokens.uniswap.org-2024-01-18.car')
|
|
22
|
+
verifiedFetch = await createVerifiedFetch({
|
|
23
|
+
gateways: [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`],
|
|
24
|
+
// Temporarily disabling delegated routers in browser until CORS issue is fixed. see https://github.com/ipshipyard/waterworks-community/issues/4
|
|
25
|
+
routers: process.env.RUNNER_ENV === 'node' ? [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`] : []
|
|
26
|
+
})
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
after(async () => {
|
|
30
|
+
await controller.stop()
|
|
31
|
+
await verifiedFetch.stop()
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
it('handles UnixFS-chunked JSON file', async () => {
|
|
35
|
+
const resp = await verifiedFetch(CID.parse('QmQJ8fxavY54CUsxMSx9aE9Rdcmvhx8awJK2jzJp4iAqCr'))
|
|
36
|
+
expect(resp).to.be.ok()
|
|
37
|
+
const jsonObj = await resp.json()
|
|
38
|
+
expect(jsonObj).to.be.ok()
|
|
39
|
+
expect(jsonObj).to.have.property('name').equal('Uniswap Labs Default')
|
|
40
|
+
expect(jsonObj).to.have.property('timestamp').equal('2023-12-13T18:25:25.830Z')
|
|
41
|
+
expect(jsonObj).to.have.property('version').to.deep.equal({ major: 11, minor: 11, patch: 0 })
|
|
42
|
+
expect(jsonObj).to.have.property('tags')
|
|
43
|
+
expect(jsonObj).to.have.property('logoURI').equal('ipfs://QmNa8mQkrNKp1WEEeGjFezDmDeodkWRevGFN8JCV7b4Xir')
|
|
44
|
+
expect(jsonObj).to.have.property('keywords').to.deep.equal(['uniswap', 'default'])
|
|
45
|
+
expect(jsonObj.tokens).to.be.an('array').of.length(767)
|
|
46
|
+
})
|
|
47
|
+
})
|
|
48
|
+
})
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/* eslint-env mocha */
|
|
2
|
+
import { createVerifiedFetch } from '@helia/verified-fetch'
|
|
3
|
+
import { expect } from 'aegir/chai'
|
|
4
|
+
import { createKuboNode } from './fixtures/create-kubo.js'
|
|
5
|
+
import { loadFixtureDataCar } from './fixtures/load-fixture-data.js'
|
|
6
|
+
import type { Controller } from 'ipfsd-ctl'
|
|
7
|
+
|
|
8
|
+
describe('@helia/verified-fetch - unixfs directory', () => {
|
|
9
|
+
let controller: Controller
|
|
10
|
+
let verifiedFetch: Awaited<ReturnType<typeof createVerifiedFetch>>
|
|
11
|
+
|
|
12
|
+
before(async () => {
|
|
13
|
+
controller = await createKuboNode()
|
|
14
|
+
await controller.start()
|
|
15
|
+
verifiedFetch = await createVerifiedFetch({
|
|
16
|
+
gateways: [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`],
|
|
17
|
+
// Temporarily disabling delegated routers in browser until CORS issue is fixed. see https://github.com/ipshipyard/waterworks-community/issues/4
|
|
18
|
+
routers: process.env.RUNNER_ENV === 'node' ? [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`] : []
|
|
19
|
+
})
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
after(async () => {
|
|
23
|
+
await controller.stop()
|
|
24
|
+
await verifiedFetch.stop()
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
describe('XKCD Barrel Part 1', () => {
|
|
28
|
+
before(async () => {
|
|
29
|
+
// This is the content of https://explore.ipld.io/#/explore/QmdmQXB2mzChmMeKY47C43LxUdg1NDJ5MWcKMKxDu7RgQm/1%20-%20Barrel%20-%20Part%201
|
|
30
|
+
await loadFixtureDataCar(controller, 'QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR-xkcd-Barrel-part-1.car')
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
it('fails to load when passed the root', async () => {
|
|
34
|
+
// The spec says we should generate HTML with directory listings, but we don't do that yet, so expect a failure
|
|
35
|
+
const resp = await verifiedFetch('ipfs://QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR')
|
|
36
|
+
expect(resp).to.be.ok()
|
|
37
|
+
expect(resp.status).to.equal(501) // TODO: we should do a directory listing instead
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
it('can return a string for unixfs pathed data', async () => {
|
|
41
|
+
const resp = await verifiedFetch('ipfs://QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR/1 - Barrel - Part 1 - alt.txt')
|
|
42
|
+
expect(resp).to.be.ok()
|
|
43
|
+
const text = await resp.text()
|
|
44
|
+
expect(text).to.equal('Don\'t we all.')
|
|
45
|
+
expect(resp.headers.get('content-type')).to.equal('text/plain')
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
it('can return an image for unixfs pathed data', async () => {
|
|
49
|
+
const resp = await verifiedFetch('ipfs://QmbQDovX7wRe9ek7u6QXe9zgCXkTzoUSsTFJEkrYV1HrVR/1 - Barrel - Part 1.png')
|
|
50
|
+
expect(resp).to.be.ok()
|
|
51
|
+
expect(resp.headers.get('content-type')).to.equal('image/png')
|
|
52
|
+
const imgData = await resp.blob()
|
|
53
|
+
expect(imgData).to.be.ok()
|
|
54
|
+
expect(imgData.size).to.equal(24848)
|
|
55
|
+
})
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
// TODO: find a smaller car file so the test doesn't timeout locally or flake on CI
|
|
59
|
+
describe.skip('HAMT-sharded directory', () => {
|
|
60
|
+
before(async () => {
|
|
61
|
+
// from https://github.com/ipfs/gateway-conformance/blob/193833b91f2e9b17daf45c84afaeeae61d9d7c7e/fixtures/trustless_gateway_car/single-layer-hamt-with-multi-block-files.car
|
|
62
|
+
await loadFixtureDataCar(controller, 'bafybeidbclfqleg2uojchspzd4bob56dqetqjsj27gy2cq3klkkgxtpn4i-single-layer-hamt-with-multi-block-files.car')
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
it('loads path /ipfs/bafybeidbclfqleg2uojchspzd4bob56dqetqjsj27gy2cq3klkkgxtpn4i/685.txt', async () => {
|
|
66
|
+
const resp = await verifiedFetch('ipfs://bafybeidbclfqleg2uojchspzd4bob56dqetqjsj27gy2cq3klkkgxtpn4i/685.txt')
|
|
67
|
+
expect(resp).to.be.ok()
|
|
68
|
+
expect(resp.headers.get('content-type')).to.equal('text/plain')
|
|
69
|
+
const text = await resp.text()
|
|
70
|
+
// npx kubo@0.25.0 cat '/ipfs/bafybeidbclfqleg2uojchspzd4bob56dqetqjsj27gy2cq3klkkgxtpn4i/685.txt'
|
|
71
|
+
expect(text).to.equal(`Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non imperdiet nunc. Proin ac quam ut nibh eleifend aliquet. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed ligula dolor, imperdiet sagittis arcu et, semper tincidunt urna. Donec et tempor augue, quis sollicitudin metus. Curabitur semper ullamcorper aliquet. Mauris hendrerit sodales lectus eget fermentum. Proin sollicitudin vestibulum commodo. Vivamus nec lectus eu augue aliquet dignissim nec condimentum justo. In hac habitasse platea dictumst. Mauris vel sem neque.
|
|
72
|
+
|
|
73
|
+
Vivamus finibus, enim at lacinia semper, arcu erat gravida lacus, sit amet gravida magna orci sit amet est. Sed non leo lacus. Nullam viverra ipsum a tincidunt dapibus. Nulla pulvinar ligula sit amet ante ultrices tempus. Proin purus urna, semper sed lobortis quis, gravida vitae ipsum. Aliquam mi urna, pulvinar eu bibendum quis, convallis ac dolor. In gravida justo sed risus ullamcorper, vitae luctus massa hendrerit. Pellentesque habitant amet.`)
|
|
74
|
+
})
|
|
75
|
+
})
|
|
76
|
+
})
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/* eslint-env mocha */
|
|
2
|
+
import { createVerifiedFetch } from '@helia/verified-fetch'
|
|
3
|
+
import { expect } from 'aegir/chai'
|
|
4
|
+
import { createKuboNode } from './fixtures/create-kubo.js'
|
|
5
|
+
import { loadFixtureDataCar } from './fixtures/load-fixture-data.js'
|
|
6
|
+
import type { Controller } from 'ipfsd-ctl'
|
|
7
|
+
|
|
8
|
+
describe('@helia/verified-fetch - websites', () => {
|
|
9
|
+
describe('helia-identify.on.fleek.co', () => {
|
|
10
|
+
let controller: Controller<'go'>
|
|
11
|
+
let verifiedFetch: Awaited<ReturnType<typeof createVerifiedFetch>>
|
|
12
|
+
|
|
13
|
+
before(async () => {
|
|
14
|
+
controller = await createKuboNode()
|
|
15
|
+
await controller.start()
|
|
16
|
+
// 2024-01-22 CID for _dnslink.helia-identify.on.fleek.co
|
|
17
|
+
await loadFixtureDataCar(controller, 'QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv-helia-identify-website.car')
|
|
18
|
+
verifiedFetch = await createVerifiedFetch({
|
|
19
|
+
gateways: [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`],
|
|
20
|
+
// Temporarily disabling delegated routers in browser until CORS issue is fixed. see https://github.com/ipshipyard/waterworks-community/issues/4
|
|
21
|
+
routers: process.env.RUNNER_ENV === 'node' ? [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`] : []
|
|
22
|
+
})
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
after(async () => {
|
|
26
|
+
await controller.stop()
|
|
27
|
+
await verifiedFetch.stop()
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
it('loads index.html when passed helia-identify.on.fleek.co root CID', async () => {
|
|
31
|
+
const resp = await verifiedFetch('ipfs://QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv')
|
|
32
|
+
expect(resp).to.be.ok()
|
|
33
|
+
const html = await resp.text()
|
|
34
|
+
expect(html).to.be.ok()
|
|
35
|
+
expect(html).to.include('<title>Run Identify on a remote node with Helia</title>')
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
it('loads helia-identify.on.fleek.co index.html directly ', async () => {
|
|
39
|
+
const resp = await verifiedFetch('ipfs://QmbxpRxwKXxnJQjnPqm1kzDJSJ8YgkLxH23mcZURwPHjGv/index.html')
|
|
40
|
+
expect(resp).to.be.ok()
|
|
41
|
+
const html = await resp.text()
|
|
42
|
+
expect(html).to.be.ok()
|
|
43
|
+
expect(html).to.include('<title>Run Identify on a remote node with Helia</title>')
|
|
44
|
+
})
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* Created on 2024-01-23. /ipns/blog.libp2p.io/index.html resolved to QmVZNGy6SPvUbvQCXXaGDdp8kvfJm9MMozjU12dyzH6hKf
|
|
50
|
+
*
|
|
51
|
+
* ```shell
|
|
52
|
+
* mkdir fake-blog.libp2p.io
|
|
53
|
+
* npx kubo@0.25.0 cat '/ipfs/QmVZNGy6SPvUbvQCXXaGDdp8kvfJm9MMozjU12dyzH6hKf' > fake-blog.libp2p.io/index.html
|
|
54
|
+
* npx kubo@0.25.0 add -r fake-blog.libp2p.io
|
|
55
|
+
* npx kubo@0.25.0 dag export QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw > QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw-fake-blog.libp2p.io.car
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
describe('fake blog.libp2p.io', () => {
|
|
59
|
+
let controller: Controller<'go'>
|
|
60
|
+
let verifiedFetch: Awaited<ReturnType<typeof createVerifiedFetch>>
|
|
61
|
+
|
|
62
|
+
before(async () => {
|
|
63
|
+
controller = await createKuboNode()
|
|
64
|
+
await controller.start()
|
|
65
|
+
await loadFixtureDataCar(controller, 'QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw-fake-blog.libp2p.io.car')
|
|
66
|
+
verifiedFetch = await createVerifiedFetch({
|
|
67
|
+
gateways: [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`],
|
|
68
|
+
// Temporarily disabling delegated routers in browser until CORS issue is fixed. see https://github.com/ipshipyard/waterworks-community/issues/4
|
|
69
|
+
routers: process.env.RUNNER_ENV === 'node' ? [`http://${controller.api.gatewayHost}:${controller.api.gatewayPort}`] : []
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
after(async () => {
|
|
74
|
+
await controller.stop()
|
|
75
|
+
await verifiedFetch.stop()
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
it('loads index.html when passed fake-blog.libp2p.io root CID', async () => {
|
|
79
|
+
const resp = await verifiedFetch('ipfs://QmeiDMLtPUS3RT2xAcUwsNyZz169wPke2q7im9vZpVLSYw')
|
|
80
|
+
expect(resp).to.be.ok()
|
|
81
|
+
const html = await resp.text()
|
|
82
|
+
expect(html).to.be.ok()
|
|
83
|
+
expect(html).to.include('<title>Home | libp2p Blog & News</title>')
|
|
84
|
+
expect(html).to.include('<link href="https://libp2p.io/" rel="canonical">')
|
|
85
|
+
})
|
|
86
|
+
})
|
|
87
|
+
})
|