UNPKG

@bsv/wallet-toolbox

Version:

BRC100 conforming wallet, wallet storage and wallet signer components

56 lines 2.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const knex_1 = require("knex"); const BulkIngestorCDNBabbage_1 = require("../BulkIngestorCDNBabbage"); const ChaintracksFetch_1 = require("../../util/ChaintracksFetch"); const ChaintracksFs_1 = require("../../util/ChaintracksFs"); const HeightRange_1 = require("../../util/HeightRange"); const ChaintracksStorageKnex_1 = require("../../Storage/ChaintracksStorageKnex"); const BulkFilesReader_1 = require("../../util/BulkFilesReader"); const rootFolder = './src/services/chaintracker/chaintracks/__tests/data'; const fs = ChaintracksFs_1.ChaintracksFs; const fetch = new ChaintracksFetch_1.ChaintracksFetch(); describe('BulkIngestorCDNBabbage tests', () => { jest.setTimeout(99999999); let logSpy, capturedLogs = []; beforeAll(async () => { logSpy = jest.spyOn(console, 'log').mockImplementation((...args) => { capturedLogs.push(args.map(String).join(' ')); }); }); test('0 mainNet', async () => { var _a; const { cdn, r } = await testUpdateLocalCache('main', '0'); expect((_a = cdn.availableBulkFiles) === null || _a === void 0 ? void 0 : _a.files.length).toBeGreaterThan(8); expect(r.liveHeaders.length).toBe(0); expect(r.reader.range.minHeight).toBe(0); expect(r.reader.range.maxHeight).toBeGreaterThan(800000); }); test('1 testNet', async () => { var _a; const { cdn, r } = await testUpdateLocalCache('test', '1'); expect((_a = cdn.availableBulkFiles) === null || _a === void 0 ? void 0 : _a.files.length).toBeGreaterThan(15); expect(r.liveHeaders.length).toBe(0); expect(r.reader.range.minHeight).toBe(0); expect(r.reader.range.maxHeight).toBeGreaterThan(1500000); }); }); async function testUpdateLocalCache(chain, test) { const bulkCDNOptions = BulkIngestorCDNBabbage_1.BulkIngestorCDNBabbage.createBulkIngestorCDNBabbageOptions(chain, fetch); const cdn = new BulkIngestorCDNBabbage_1.BulkIngestorCDNBabbage(bulkCDNOptions); const localSqlite = { client: 'better-sqlite3', connection: { filename: fs.pathJoin(rootFolder, `BulkIngestorCDNBabbage.test_${test}.sqlite`) }, useNullAsDefault: true }; const knexOptions = ChaintracksStorageKnex_1.ChaintracksStorageKnex.createStorageKnexOptions(chain, (0, knex_1.knex)(localSqlite)); const storage = new ChaintracksStorageKnex_1.ChaintracksStorageKnex(knexOptions); const before = await storage.getAvailableHeightRanges(); await cdn.setStorage(storage, console.log); const range = new HeightRange_1.HeightRange(0, 9900000); const liveHeaders = await cdn.fetchHeaders(before, range, range, []); const reader = await BulkFilesReader_1.BulkFilesReaderStorage.fromStorage(storage, fetch, range); await storage.knex.destroy(); return { cdn, r: { reader, liveHeaders } }; } //# sourceMappingURL=BulkIngestorCDNBabbage.test.js.map