|
|
|
@ -2,6 +2,7 @@ var assert = require('assert') |
|
|
|
|
var IdentityStore = require('../../app/scripts/lib/idStore') |
|
|
|
|
var configManagerGen = require('../lib/mock-config-manager') |
|
|
|
|
const ethUtil = require('ethereumjs-util') |
|
|
|
|
const async = require('async') |
|
|
|
|
|
|
|
|
|
describe('IdentityStore', function() { |
|
|
|
|
|
|
|
|
@ -65,6 +66,29 @@ describe('IdentityStore', function() { |
|
|
|
|
let accounts = [] |
|
|
|
|
let idStore |
|
|
|
|
|
|
|
|
|
var assertions = [ |
|
|
|
|
{ |
|
|
|
|
seed: 'picnic injury awful upper eagle junk alert toss flower renew silly vague', |
|
|
|
|
account: '0x5d8de92c205279c10e5669f797b853ccef4f739a', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
seed: 'radar blur cabbage chef fix engine embark joy scheme fiction master release', |
|
|
|
|
account: '0xac39b311dceb2a4b2f5d8461c1cdaf756f4f7ae9', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
seed: 'phone coyote caught pattern found table wedding list tumble broccoli chief swing', |
|
|
|
|
account: '0xb0e868f24bc7fec2bce2efc2b1c344d7569cd9d2', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
seed: 'recycle tag bird palace blue village anxiety census cook soldier example music', |
|
|
|
|
account: '0xab34a45920afe4af212b96ec51232aaa6a33f663', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
seed: 'half glimpse tape cute harvest sweet bike voyage actual floor poet lazy', |
|
|
|
|
account: '0x28e9044597b625ac4beda7250011670223de43b2', |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
before(function() { |
|
|
|
|
window.localStorage = {} // Hacking localStorage support into JSDom
|
|
|
|
|
|
|
|
|
@ -80,36 +104,21 @@ describe('IdentityStore', function() { |
|
|
|
|
accounts = [] |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
it('should return the expected first account', function (done) { |
|
|
|
|
let seedWords = 'picnic injury awful upper eagle junk alert toss flower renew silly vague' |
|
|
|
|
let firstAccount = '0x5d8de92c205279c10e5669f797b853ccef4f739a' |
|
|
|
|
|
|
|
|
|
idStore.recoverFromSeed(password, seedWords, (err) => { |
|
|
|
|
assert.ifError(err) |
|
|
|
|
|
|
|
|
|
assert.equal(accounts[0], firstAccount) |
|
|
|
|
done() |
|
|
|
|
it('should enforce seed compliance with TestRPC', function (done) { |
|
|
|
|
const tests = assertions.map((assertion) => { |
|
|
|
|
return function (cb) { |
|
|
|
|
idStore.recoverFromSeed(password, assertion.seed, (err) => { |
|
|
|
|
assert.ifError(err) |
|
|
|
|
|
|
|
|
|
console.log('comparing %s to %s', accounts[0], assertion.account) |
|
|
|
|
assert.equal(accounts[0], assertion.account) |
|
|
|
|
cb() |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
it('should return the expected second account', function (done) { |
|
|
|
|
const secondSeed = 'radar blur cabbage chef fix engine embark joy scheme fiction master release' |
|
|
|
|
const secondAcct = '0xac39b311dceb2a4b2f5d8461c1cdaf756f4f7ae9' |
|
|
|
|
|
|
|
|
|
idStore.recoverFromSeed(password, secondSeed, (err) => { |
|
|
|
|
assert.ifError(err) |
|
|
|
|
assert.equal(accounts[0], secondAcct) |
|
|
|
|
done() |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
it('should return the expected third account', function (done) { |
|
|
|
|
const thirdSeed = 'phone coyote caught pattern found table wedding list tumble broccoli chief swing' |
|
|
|
|
const thirdAcct = '0xb0e868f24bc7fec2bce2efc2b1c344d7569cd9d2' |
|
|
|
|
|
|
|
|
|
idStore.recoverFromSeed(password, thirdSeed, (err) => { |
|
|
|
|
async.series(tests, function(err, results) { |
|
|
|
|
assert.ifError(err) |
|
|
|
|
assert.equal(accounts[0], thirdAcct) |
|
|
|
|
done() |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|