From 385927a1b991eb96cf1db1e42d5f6d989e4a5a16 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Thu, 7 Jun 2018 13:34:10 -0700 Subject: [PATCH] Improve private key import tests --- .../app/account-import-strategies.spec.js | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/test/unit/app/account-import-strategies.spec.js b/test/unit/app/account-import-strategies.spec.js index 73f6dafda..2f88d497f 100644 --- a/test/unit/app/account-import-strategies.spec.js +++ b/test/unit/app/account-import-strategies.spec.js @@ -7,11 +7,35 @@ 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('private key import', function () { + describe.only('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', [ '' ]) + }) + }) + + 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', []) + }) + }) + + it('throws an error for invalid private key', async () => { + assert.throws(async () => { + const privKey = await accountImporter.importAccount('Private Key', [ 'popcorn' ]) + }) + }) }) describe('JSON keystore import', function () {