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.
This commit is contained in:
Dan Finlay 2018-06-11 14:58:05 -07:00
parent 385927a1b9
commit b24efcb1cd
3 changed files with 6533 additions and 6470 deletions

View File

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

12970
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -7,33 +7,33 @@ describe('Account Import Strategies', function () {
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"}}'
describe.only('private key import', function () {
describe('private key import', function () {
it('imports a private key and strips 0x prefix', async function () {
const importPrivKey = await accountImporter.importAccount('Private Key', [ privkey ])
assert.equal(importPrivKey, ethUtil.stripHexPrefix(privkey))
})
it('throws an error for empty string private key', async () => {
assert.throws(async () => {
const privKey = await accountImporter.importAccount('Private Key', [ '' ])
assert.throws(function() {
accountImporter.importAccount('Private Key', [ '' ])
}, Error, 'no empty strings')
})
it('throws an error for undefined string private key', async () => {
assert.throws(function () {
accountImporter.importAccount('Private Key', [ undefined ])
})
})
it('throws an error for undefined string private key', async () => {
assert.throws(async () => {
const privKey = await accountImporter.importAccount('Private Key', [ undefined ])
})
})
it('throws an error for undefined string private key', async () => {
assert.throws(async () => {
const privKey = await accountImporter.importAccount('Private Key', [])
assert.throws(function () {
accountImporter.importAccount('Private Key', [])
})
})
it('throws an error for invalid private key', async () => {
assert.throws(async () => {
const privKey = await accountImporter.importAccount('Private Key', [ 'popcorn' ])
assert.throws(function () {
accountImporter.importAccount('Private Key', [ 'popcorn' ])
})
})
})