aboutsummaryrefslogtreecommitdiffstats
path: root/packages/subproviders/test
diff options
context:
space:
mode:
authorJacob Evans <jacob@dekz.net>2018-04-06 12:55:03 +0800
committerJacob Evans <jacob@dekz.net>2018-04-06 13:21:08 +0800
commit774ab8a8efa1ff5914896d9435c0362a4586c2ef (patch)
tree906e41484fce81d88b829a6d1745ca14448f3b13 /packages/subproviders/test
parentea47613d901cb0e8d9543f37d7f591c91ef986c4 (diff)
downloaddexon-sol-tools-774ab8a8efa1ff5914896d9435c0362a4586c2ef.tar
dexon-sol-tools-774ab8a8efa1ff5914896d9435c0362a4586c2ef.tar.gz
dexon-sol-tools-774ab8a8efa1ff5914896d9435c0362a4586c2ef.tar.bz2
dexon-sol-tools-774ab8a8efa1ff5914896d9435c0362a4586c2ef.tar.lz
dexon-sol-tools-774ab8a8efa1ff5914896d9435c0362a4586c2ef.tar.xz
dexon-sol-tools-774ab8a8efa1ff5914896d9435c0362a4586c2ef.tar.zst
dexon-sol-tools-774ab8a8efa1ff5914896d9435c0362a4586c2ef.zip
Feedback
remove id management from testnet faucet spread over txParams rather than modify in place
Diffstat (limited to 'packages/subproviders/test')
-rw-r--r--packages/subproviders/test/integration/ledger_subprovider_test.ts18
-rw-r--r--packages/subproviders/test/unit/private_key_wallet_subprovider_test.ts (renamed from packages/subproviders/test/unit/pk_wallet_subprovider_test.ts)35
-rw-r--r--packages/subproviders/test/utils/fixture_data.ts8
3 files changed, 29 insertions, 32 deletions
diff --git a/packages/subproviders/test/integration/ledger_subprovider_test.ts b/packages/subproviders/test/integration/ledger_subprovider_test.ts
index 3039bd560..da858b6b3 100644
--- a/packages/subproviders/test/integration/ledger_subprovider_test.ts
+++ b/packages/subproviders/test/integration/ledger_subprovider_test.ts
@@ -14,6 +14,7 @@ import RpcSubprovider = require('web3-provider-engine/subproviders/rpc');
import { LedgerSubprovider } from '../../src';
import { DoneCallback, LedgerEthereumClient } from '../../src/types';
import { chaiSetup } from '../chai_setup';
+import { fixtureData } from '../utils/fixture_data';
import { reportCallbackErrors } from '../utils/report_callback_errors';
chaiSetup.configure();
@@ -25,9 +26,6 @@ async function ledgerEthereumNodeJsClientFactoryAsync(): Promise<LedgerEthereumC
return ledgerEthClient;
}
-const TESTRPC_DERIVATION_PATH = `m/44'/60'/0'/0`;
-const TEST_RPC_ACCOUNT_0 = '0x5409ed021d9299bf6814279a6a1411a7e866a631';
-
describe('LedgerSubprovider', () => {
let ledgerSubprovider: LedgerSubprovider;
const networkId: number = 42;
@@ -35,7 +33,7 @@ describe('LedgerSubprovider', () => {
ledgerSubprovider = new LedgerSubprovider({
networkId,
ledgerEthereumClientFactoryAsync: ledgerEthereumNodeJsClientFactoryAsync,
- derivationPath: TESTRPC_DERIVATION_PATH,
+ derivationPath: fixtureData.TESTRPC_DERIVATION_PATH,
});
});
describe('direct method calls', () => {
@@ -46,7 +44,7 @@ describe('LedgerSubprovider', () => {
});
it('returns the expected first account from a ledger set up with the test mnemonic', async () => {
const accounts = await ledgerSubprovider.getAccountsAsync();
- expect(accounts[0]).to.be.equal(TEST_RPC_ACCOUNT_0);
+ expect(accounts[0]).to.be.equal(fixtureData.TEST_RPC_ACCOUNT_0);
});
it('returns requested number of accounts', async () => {
const numberOfAccounts = 20;
@@ -55,12 +53,10 @@ describe('LedgerSubprovider', () => {
expect(accounts.length).to.be.equal(numberOfAccounts);
});
it('signs a personal message', async () => {
- const data = ethUtils.bufferToHex(ethUtils.toBuffer('hello world'));
+ const data = ethUtils.bufferToHex(ethUtils.toBuffer(fixtureData.PERSONAL_MESSAGE_STRING));
const ecSignatureHex = await ledgerSubprovider.signPersonalMessageAsync(data);
expect(ecSignatureHex.length).to.be.equal(132);
- expect(ecSignatureHex).to.be.equal(
- '0x1b0ec5e2908e993d0c8ab6b46da46be2688fdf03c7ea6686075de37392e50a7d7fcc531446699132fbda915bd989882e0064d417018773a315fb8d43ed063c9b00',
- );
+ expect(ecSignatureHex).to.be.equal(fixtureData.PERSONAL_MESSAGE_SIGNED_RESULT);
});
it('signs a transaction', async () => {
const tx = {
@@ -69,7 +65,7 @@ describe('LedgerSubprovider', () => {
to: '0x0000000000000000000000000000000000000000',
value: '0x00',
chainId: 3,
- from: TEST_RPC_ACCOUNT_0,
+ from: fixtureData.TEST_RPC_ACCOUNT_0,
};
const txHex = await ledgerSubprovider.signTransactionAsync(tx);
expect(txHex).to.be.equal(
@@ -173,7 +169,7 @@ describe('LedgerSubprovider', () => {
// Give first account on Ledger sufficient ETH to complete tx send
let tx = {
to: accounts[0],
- from: TEST_RPC_ACCOUNT_0,
+ from: fixtureData.TEST_RPC_ACCOUNT_0,
value: '0x8ac7230489e80000', // 10 ETH
};
let payload = {
diff --git a/packages/subproviders/test/unit/pk_wallet_subprovider_test.ts b/packages/subproviders/test/unit/private_key_wallet_subprovider_test.ts
index 6dd96399a..32650b3a0 100644
--- a/packages/subproviders/test/unit/pk_wallet_subprovider_test.ts
+++ b/packages/subproviders/test/unit/private_key_wallet_subprovider_test.ts
@@ -4,7 +4,7 @@ import * as ethUtils from 'ethereumjs-util';
import * as _ from 'lodash';
import Web3ProviderEngine = require('web3-provider-engine');
-import { GanacheSubprovider, PKWalletSubprovider } from '../../src/';
+import { GanacheSubprovider, PrivateKeyWalletSubprovider } from '../../src/';
import {
DoneCallback,
LedgerCommunicationClient,
@@ -12,31 +12,28 @@ import {
WalletSubproviderErrors,
} from '../../src/types';
import { chaiSetup } from '../chai_setup';
+import { fixtureData } from '../utils/fixture_data';
import { reportCallbackErrors } from '../utils/report_callback_errors';
chaiSetup.configure();
const expect = chai.expect;
-const TEST_RPC_ACCOUNT_0 = '0x5409ed021d9299bf6814279a6a1411a7e866a631';
-const TEST_ACCOUNT_PRIVATE_KEY = 'F2F48EE19680706196E2E339E5DA3491186E0C4C5030670656B0E0164837257D';
-describe('PKWalletSubprovider', () => {
- let subprovider: PKWalletSubprovider;
+describe('PrivateKeyWalletSubprovider', () => {
+ let subprovider: PrivateKeyWalletSubprovider;
before(async () => {
- subprovider = new PKWalletSubprovider(TEST_ACCOUNT_PRIVATE_KEY);
+ subprovider = new PrivateKeyWalletSubprovider(fixtureData.TEST_ACCOUNT_PRIVATE_KEY);
});
describe('direct method calls', () => {
describe('success cases', () => {
it('returns the account', async () => {
const accounts = await subprovider.getAccountsAsync();
- expect(accounts[0]).to.be.equal(TEST_RPC_ACCOUNT_0);
+ expect(accounts[0]).to.be.equal(fixtureData.TEST_RPC_ACCOUNT_0);
expect(accounts.length).to.be.equal(1);
});
it('signs a personal message', async () => {
- const data = ethUtils.bufferToHex(ethUtils.toBuffer('hello world'));
+ const data = ethUtils.bufferToHex(ethUtils.toBuffer(fixtureData.PERSONAL_MESSAGE_STRING));
const ecSignatureHex = await subprovider.signPersonalMessageAsync(data);
- expect(ecSignatureHex).to.be.equal(
- '0x1b0ec5e2908e993d0c8ab6b46da46be2688fdf03c7ea6686075de37392e50a7d7fcc531446699132fbda915bd989882e0064d417018773a315fb8d43ed063c9b00',
- );
+ expect(ecSignatureHex).to.be.equal(fixtureData.PERSONAL_MESSAGE_SIGNED_RESULT);
});
it('signs a transaction', async () => {
const tx = {
@@ -46,7 +43,7 @@ describe('PKWalletSubprovider', () => {
to: '0x0000000000000000000000000000000000000000',
value: '0x00',
chainId: 3,
- from: TEST_RPC_ACCOUNT_0,
+ from: fixtureData.TEST_RPC_ACCOUNT_0,
};
const txHex = await subprovider.signTransactionAsync(tx);
expect(txHex).to.be.equal(
@@ -74,14 +71,14 @@ describe('PKWalletSubprovider', () => {
};
const callback = reportCallbackErrors(done)((err: Error, response: JSONRPCResponsePayload) => {
expect(err).to.be.a('null');
- expect(response.result[0]).to.be.equal(TEST_RPC_ACCOUNT_0);
+ expect(response.result[0]).to.be.equal(fixtureData.TEST_RPC_ACCOUNT_0);
expect(response.result.length).to.be.equal(1);
done();
});
provider.sendAsync(payload, callback);
});
it('signs a personal message with eth_sign', (done: DoneCallback) => {
- const messageHex = ethUtils.bufferToHex(ethUtils.toBuffer('hello world'));
+ const messageHex = ethUtils.bufferToHex(ethUtils.toBuffer(fixtureData.PERSONAL_MESSAGE_STRING));
const payload = {
jsonrpc: '2.0',
method: 'eth_sign',
@@ -90,15 +87,13 @@ describe('PKWalletSubprovider', () => {
};
const callback = reportCallbackErrors(done)((err: Error, response: JSONRPCResponsePayload) => {
expect(err).to.be.a('null');
- expect(response.result).to.be.equal(
- '0x1b0ec5e2908e993d0c8ab6b46da46be2688fdf03c7ea6686075de37392e50a7d7fcc531446699132fbda915bd989882e0064d417018773a315fb8d43ed063c9b00',
- );
+ expect(response.result).to.be.equal(fixtureData.PERSONAL_MESSAGE_SIGNED_RESULT);
done();
});
provider.sendAsync(payload, callback);
});
it('signs a personal message with personal_sign', (done: DoneCallback) => {
- const messageHex = ethUtils.bufferToHex(ethUtils.toBuffer('hello world'));
+ const messageHex = ethUtils.bufferToHex(ethUtils.toBuffer(fixtureData.PERSONAL_MESSAGE_STRING));
const payload = {
jsonrpc: '2.0',
method: 'personal_sign',
@@ -107,9 +102,7 @@ describe('PKWalletSubprovider', () => {
};
const callback = reportCallbackErrors(done)((err: Error, response: JSONRPCResponsePayload) => {
expect(err).to.be.a('null');
- expect(response.result).to.be.equal(
- '0x1b0ec5e2908e993d0c8ab6b46da46be2688fdf03c7ea6686075de37392e50a7d7fcc531446699132fbda915bd989882e0064d417018773a315fb8d43ed063c9b00',
- );
+ expect(response.result).to.be.equal(fixtureData.PERSONAL_MESSAGE_SIGNED_RESULT);
done();
});
provider.sendAsync(payload, callback);
diff --git a/packages/subproviders/test/utils/fixture_data.ts b/packages/subproviders/test/utils/fixture_data.ts
new file mode 100644
index 000000000..3b6ab123e
--- /dev/null
+++ b/packages/subproviders/test/utils/fixture_data.ts
@@ -0,0 +1,8 @@
+export const fixtureData = {
+ TEST_RPC_ACCOUNT_0: '0x5409ed021d9299bf6814279a6a1411a7e866a631',
+ TEST_ACCOUNT_PRIVATE_KEY: 'F2F48EE19680706196E2E339E5DA3491186E0C4C5030670656B0E0164837257D',
+ PERSONAL_MESSAGE_STRING: 'hello world',
+ PERSONAL_MESSAGE_SIGNED_RESULT:
+ '0x1b0ec5e2908e993d0c8ab6b46da46be2688fdf03c7ea6686075de37392e50a7d7fcc531446699132fbda915bd989882e0064d417018773a315fb8d43ed063c9b00',
+ TESTRPC_DERIVATION_PATH: `m/44'/60'/0'/0`,
+};