@bsv/wallet-toolbox
Version:
BRC100 conforming wallet, wallet storage and wallet signer components
78 lines • 2.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const TestUtilsWalletStorage_1 = require("../../../test/utils/TestUtilsWalletStorage");
const Setup_1 = require("../../Setup");
const StorageKnex_1 = require("../StorageKnex");
const sdk_1 = require("@bsv/sdk");
const Format_1 = require("../../utility/Format");
describe('storage adminStats tests', () => {
jest.setTimeout(99999999);
const env = TestUtilsWalletStorage_1._tu.getEnv('main');
const knex = Setup_1.Setup.createMySQLKnex(process.env.MAIN_CLOUD_MYSQL_CONNECTION);
const storage = new StorageKnex_1.StorageKnex({
chain: env.chain,
knex: knex,
commissionSatoshis: 0,
commissionPubKeyHex: undefined,
feeModel: { model: 'sat/kb', value: 1 }
});
let setup;
let nextId = 0;
beforeAll(async () => {
await storage.makeAvailable();
setup = await TestUtilsWalletStorage_1._tu.createTestWalletWithStorageClient({
chain: 'main',
rootKeyHex: env.devKeys[env.identityKey]
});
});
afterAll(async () => {
await storage.destroy();
await setup.wallet.destroy();
});
test('0 adminStats StorageKnex', async () => {
storage.setServices(setup.services);
const r = await storage.adminStats(env.identityKey);
console.log(Format_1.Format.toLogStringAdminStats(r));
expect(r.requestedBy).toBe(env.identityKey);
expect(r.usersTotal).toBeGreaterThan(0);
await storage.destroy();
});
test('1 adminStats StorageServer via RPC', async () => {
const authFetch = new sdk_1.AuthFetch(setup.wallet);
const endpointUrl = setup.chain === 'main' ? 'https://storage.babbage.systems' : 'https://staging-storage.babbage.systems';
const id = nextId++;
const body = {
jsonrpc: '2.0',
method: 'adminStats',
params: [env.identityKey],
id
};
let response;
try {
response = await authFetch.fetch(endpointUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(body)
});
}
catch (eu) {
throw eu;
}
if (!response.ok) {
throw new Error(`WalletStorageClient rpcCall: network error ${response.status} ${response.statusText}`);
}
const json = await response.json();
if (json.error) {
const { code, message, data } = json.error;
const err = new Error(`RPC Error: ${message}`);
err.code = code;
err.data = data;
throw err;
}
const r = json.result;
console.log(Format_1.Format.toLogStringAdminStats(r));
expect(r.requestedBy).toBe(env.identityKey);
expect(r.usersTotal).toBeGreaterThan(0);
});
});
//# sourceMappingURL=adminStats.man.test.js.map