Make account import tests much more specific

However, they no longer seem to work. I'm unclear why this test is
failing. The private key being provided should be valid.
feature/default_network_editable
Dan Finlay 7 years ago
parent 385927a1b9
commit b24efcb1cd
  1. 7
      app/scripts/account-import-strategies/index.js
  2. 12970
      package-lock.json
  3. 20
      test/unit/app/account-import-strategies.spec.js

@ -19,7 +19,14 @@ const accountImporter = {
if (!privateKey) { if (!privateKey) {
throw new Error('Cannot import an empty key.') throw new Error('Cannot import an empty key.')
} }
const stripped = ethUtil.stripHexPrefix(privateKey) const stripped = ethUtil.stripHexPrefix(privateKey)
const buffer = ethUtil.toBuffer(stripped)
if (!ethUtil.isValidPrivate(buffer)) {
throw new Error('Cannot import invalid private key.')
}
return stripped return stripped
}, },
'JSON File': (input, password) => { 'JSON File': (input, password) => {

12970
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -7,33 +7,33 @@ describe('Account Import Strategies', function () {
const privkey = '0x4cfd3e90fc78b0f86bf7524722150bb8da9c60cd532564d7ff43f5716514f553' const privkey = '0x4cfd3e90fc78b0f86bf7524722150bb8da9c60cd532564d7ff43f5716514f553'
const json = '{"version":3,"id":"dbb54385-0a99-437f-83c0-647de9f244c3","address":"a7f92ce3fba24196cf6f4bd2e1eb3db282ba998c","Crypto":{"ciphertext":"bde13d9ade5c82df80281ca363320ce254a8a3a06535bbf6ffdeaf0726b1312c","cipherparams":{"iv":"fbf93718a57f26051b292f072f2e5b41"},"cipher":"aes-128-ctr","kdf":"scrypt","kdfparams":{"dklen":32,"salt":"7ffe00488319dec48e4c49a120ca49c6afbde9272854c64d9541c83fc6acdffe","n":8192,"r":8,"p":1},"mac":"2adfd9c4bc1cdac4c85bddfb31d9e21a684e0e050247a70c5698facf6b7d4681"}}' const json = '{"version":3,"id":"dbb54385-0a99-437f-83c0-647de9f244c3","address":"a7f92ce3fba24196cf6f4bd2e1eb3db282ba998c","Crypto":{"ciphertext":"bde13d9ade5c82df80281ca363320ce254a8a3a06535bbf6ffdeaf0726b1312c","cipherparams":{"iv":"fbf93718a57f26051b292f072f2e5b41"},"cipher":"aes-128-ctr","kdf":"scrypt","kdfparams":{"dklen":32,"salt":"7ffe00488319dec48e4c49a120ca49c6afbde9272854c64d9541c83fc6acdffe","n":8192,"r":8,"p":1},"mac":"2adfd9c4bc1cdac4c85bddfb31d9e21a684e0e050247a70c5698facf6b7d4681"}}'
describe.only('private key import', function () { describe('private key import', function () {
it('imports a private key and strips 0x prefix', async function () { it('imports a private key and strips 0x prefix', async function () {
const importPrivKey = await accountImporter.importAccount('Private Key', [ privkey ]) const importPrivKey = await accountImporter.importAccount('Private Key', [ privkey ])
assert.equal(importPrivKey, ethUtil.stripHexPrefix(privkey)) assert.equal(importPrivKey, ethUtil.stripHexPrefix(privkey))
}) })
it('throws an error for empty string private key', async () => { it('throws an error for empty string private key', async () => {
assert.throws(async () => { assert.throws(function() {
const privKey = await accountImporter.importAccount('Private Key', [ '' ]) accountImporter.importAccount('Private Key', [ '' ])
}) }, Error, 'no empty strings')
}) })
it('throws an error for undefined string private key', async () => { it('throws an error for undefined string private key', async () => {
assert.throws(async () => { assert.throws(function () {
const privKey = await accountImporter.importAccount('Private Key', [ undefined ]) accountImporter.importAccount('Private Key', [ undefined ])
}) })
}) })
it('throws an error for undefined string private key', async () => { it('throws an error for undefined string private key', async () => {
assert.throws(async () => { assert.throws(function () {
const privKey = await accountImporter.importAccount('Private Key', []) accountImporter.importAccount('Private Key', [])
}) })
}) })
it('throws an error for invalid private key', async () => { it('throws an error for invalid private key', async () => {
assert.throws(async () => { assert.throws(function () {
const privKey = await accountImporter.importAccount('Private Key', [ 'popcorn' ]) accountImporter.importAccount('Private Key', [ 'popcorn' ])
}) })
}) })
}) })

Loading…
Cancel
Save