@bsv/wallet-toolbox
Version:
BRC100 conforming wallet, wallet storage and wallet signer components
99 lines • 4.39 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const sdk_1 = require("@bsv/sdk");
const localWalletMethods_1 = require("../utils/localWalletMethods");
const chain = 'main';
const options = {
setActiveClient: true,
useMySQLConnectionForClient: true,
useTestIdentityKey: false,
useIdentityKey2: false
};
describe('LocalKVStore tests', () => {
jest.setTimeout(99999999);
test('0 unencrypted Wallet', async () => {
const originator = 'wallet-toolbox.tests';
const setup = await (0, localWalletMethods_1.createSetup)(chain, options);
const { wallet } = setup;
const basket = 'kvstoretest5';
const kv = new sdk_1.LocalKVStore(wallet, basket, false, originator);
const r1 = await kv.set('a', 'apple');
expect(r1).toBeTruthy(); // the outpoint of the new stored value
const r1a = await kv.set('a', 'apple');
expect(r1a).toBe(r1); // same value must return same outpoint
const r2 = await kv.get('a');
expect(r2).toBe('apple');
const r3 = await kv.get('b', 'banana');
expect(r3).toBe('banana');
const r4 = await kv.remove('b');
expect(r4.length).toBe(0);
const r5 = await kv.remove('a');
expect(r5.length).toBe(1);
const lor = await wallet.listOutputs({ basket });
expect(lor.totalOutputs).toBe(0);
await wallet.destroy();
});
test('1 unencrypted Wallet', async () => {
const originator = 'wallet-toolbox.tests';
const setup = await (0, localWalletMethods_1.createSetup)(chain, options);
const { wallet } = setup;
const basket = 'kvstoretest6';
const kv = new sdk_1.LocalKVStore(wallet, basket, true, originator);
const r1 = await kv.set('a', 'apple');
expect(r1).toBeTruthy(); // the outpoint of the new stored value
const r1a = await kv.set('a', 'apple');
expect(r1a).toBe(r1); // same value must return same outpoint
const r2 = await kv.get('a');
expect(r2).toBe('apple');
const r3 = await kv.get('b', 'banana');
expect(r3).toBe('banana');
const r4 = await kv.remove('b');
expect(r4.length).toBe(0);
const r5 = await kv.remove('a');
expect(r5.length).toBe(1);
const lor = await wallet.listOutputs({ basket });
expect(lor.totalOutputs).toBe(0);
await wallet.destroy();
});
test('0a unencrypted WalletClient', async () => {
const originator = 'wallet-toolbox.tests';
const wallet = new sdk_1.WalletClient(undefined, originator);
const basket = 'kvstoretest7';
const kv = new sdk_1.LocalKVStore(wallet, basket, false, originator);
const r1 = await kv.set('a', 'apple');
expect(r1).toBeTruthy(); // the outpoint of the new stored value
const r1a = await kv.set('a', 'apple');
expect(r1a).toBe(r1); // same value must return same outpoint
const r2 = await kv.get('a');
expect(r2).toBe('apple');
const r3 = await kv.get('b', 'banana');
expect(r3).toBe('banana');
const r4 = await kv.remove('b');
expect(r4.length).toBe(0);
const r5 = await kv.remove('a');
expect(r5.length).toBe(1);
const lor = await wallet.listOutputs({ basket });
expect(lor.totalOutputs).toBe(0);
});
test('1a unencrypted WalletClient', async () => {
const originator = 'wallet-toolbox.tests';
const wallet = new sdk_1.WalletClient(undefined, originator);
const basket = 'kvstoretest8';
const kv = new sdk_1.LocalKVStore(wallet, basket, true, originator);
const r1 = await kv.set('a', 'apple');
expect(r1).toBeTruthy(); // the outpoint of the new stored value
const r1a = await kv.set('a', 'apple');
expect(r1a).toBe(r1); // same value must return same outpoint
const r2 = await kv.get('a');
expect(r2).toBe('apple');
const r3 = await kv.get('b', 'banana');
expect(r3).toBe('banana');
const r4 = await kv.remove('b');
expect(r4.length).toBe(0);
const r5 = await kv.remove('a');
expect(r5.length).toBe(1);
const lor = await wallet.listOutputs({ basket });
expect(lor.totalOutputs).toBe(0);
});
});
//# sourceMappingURL=LocalKVStore.man.test.js.map