@bsv/wallet-toolbox
Version:
BRC100 conforming wallet, wallet storage and wallet signer components
75 lines • 3.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const createDefaultKnexChaintracksOptions_1 = require("../createDefaultKnexChaintracksOptions");
const Chaintracks_1 = require("../Chaintracks");
const utilityHelpers_1 = require("../../../../utility/utilityHelpers");
const createDefaultNoDbChaintracksOptions_1 = require("../createDefaultNoDbChaintracksOptions");
const ChaintracksFs_1 = require("../util/ChaintracksFs");
const LocalCdnServer_1 = require("./LocalCdnServer");
const TestUtilsWalletStorage_1 = require("../../../../../test/utils/TestUtilsWalletStorage");
const rootFolder = './src/services/chaintracker/chaintracks/__tests/data';
describe('Chaintracks tests', () => {
jest.setTimeout(99999999);
let logSpy, capturedLogs = [];
beforeAll(async () => {
logSpy = jest.spyOn(console, 'log').mockImplementation((...args) => {
capturedLogs.push(args.map(String).join(' '));
});
});
test.skip('0 basic operation mainnet', async () => {
const o = (0, createDefaultKnexChaintracksOptions_1.createDefaultKnexChaintracksOptions)('main', rootFolder);
const c = new Chaintracks_1.Chaintracks(o);
await c.makeAvailable();
let done = false;
for (; !done;) {
await (0, utilityHelpers_1.wait)(10000);
}
await c.destroy();
});
test('1 NoDb mainnet', async () => {
if (TestUtilsWalletStorage_1._tu.noEnv('main'))
return;
await NoDbBody('main');
});
test('2 NoDb testnet', async () => {
if (TestUtilsWalletStorage_1._tu.noEnv('main'))
return;
await NoDbBody('test');
});
test.skip('3 NoDb export mainnet', async () => {
if (TestUtilsWalletStorage_1._tu.noEnv('main'))
return;
await NoDbBody('main', true);
});
test.skip('4 NoDb export testnet', async () => {
await NoDbBody('test', true);
});
test.skip('5 run local CDN on port 8300', async () => {
const fs = ChaintracksFs_1.ChaintracksFs;
const server = new LocalCdnServer_1.LocalCdnServer(8300, fs.pathJoin(rootFolder, 'export'));
await server.start();
let done = false;
for (; !done;) {
await (0, utilityHelpers_1.wait)(10000);
}
await server.stop();
});
async function NoDbBody(chain, exportHeaders) {
const o = (0, createDefaultNoDbChaintracksOptions_1.createDefaultNoDbChaintracksOptions)(chain);
const c = new Chaintracks_1.Chaintracks(o);
await c.makeAvailable();
c.subscribeHeaders(header => {
console.log(`Header received: ${header.height} ${header.hash}`);
});
if (exportHeaders) {
const rootFolder = './src/services/chaintracker/chaintracks/__tests/data/export';
await c.exportBulkHeaders(rootFolder, ChaintracksFs_1.ChaintracksFs, `https://cdn.projectbabbage.com/blockheaders`, 100000);
}
//let done = false
//for (; !done; ) {
await (0, utilityHelpers_1.wait)(1000);
//}
await c.destroy();
}
});
//# sourceMappingURL=Chaintracks.test.js.map