diff options
author | Dan Finlay <dan@danfinlay.com> | 2016-10-22 03:11:54 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2016-10-22 03:11:54 +0800 |
commit | 44aa1be2778a1647c9a607fd02c61bf93704d92d (patch) | |
tree | a99d27dbcac5209950ffde79c53519fde2eaa621 /test | |
parent | c3e1c5c57f2062155626647e239c2a760f3e4b8a (diff) | |
download | tangerine-wallet-browser-44aa1be2778a1647c9a607fd02c61bf93704d92d.tar tangerine-wallet-browser-44aa1be2778a1647c9a607fd02c61bf93704d92d.tar.gz tangerine-wallet-browser-44aa1be2778a1647c9a607fd02c61bf93704d92d.tar.bz2 tangerine-wallet-browser-44aa1be2778a1647c9a607fd02c61bf93704d92d.tar.lz tangerine-wallet-browser-44aa1be2778a1647c9a607fd02c61bf93704d92d.tar.xz tangerine-wallet-browser-44aa1be2778a1647c9a607fd02c61bf93704d92d.tar.zst tangerine-wallet-browser-44aa1be2778a1647c9a607fd02c61bf93704d92d.zip |
Create basic keyring-controller unit test file
Diffstat (limited to 'test')
-rw-r--r-- | test/lib/mock-encryptor.js | 32 | ||||
-rw-r--r-- | test/unit/keyring-controller-test.js | 55 |
2 files changed, 67 insertions, 20 deletions
diff --git a/test/lib/mock-encryptor.js b/test/lib/mock-encryptor.js new file mode 100644 index 000000000..09bbf7ad5 --- /dev/null +++ b/test/lib/mock-encryptor.js @@ -0,0 +1,32 @@ +var mockHex = '0xabcdef0123456789' +var mockKey = new Buffer(32) +let cacheVal + +module.exports = { + + encrypt(password, dataObj) { + cacheVal = dataObj + return Promise.resolve(mockHex) + }, + + decrypt(password, text) { + return Promise.resolve(cacheVal || {}) + }, + + encryptWithKey(key, dataObj) { + return this.encrypt(key, dataObj) + }, + + decryptWithKey(key, text) { + return this.decrypt(key, text) + }, + + keyFromPassword(password) { + return Promise.resolve(mockKey) + }, + + generateSalt() { + return 'WHADDASALT!' + }, + +} diff --git a/test/unit/keyring-controller-test.js b/test/unit/keyring-controller-test.js index d3685a257..fbcd3ba81 100644 --- a/test/unit/keyring-controller-test.js +++ b/test/unit/keyring-controller-test.js @@ -3,33 +3,48 @@ var KeyringController = require('../../app/scripts/keyring-controller') var configManagerGen = require('../lib/mock-config-manager') const ethUtil = require('ethereumjs-util') const async = require('async') +const mockEncryptor = require('../lib/mock-encryptor') describe('KeyringController', function() { + let keyringController + let password = 'password123' + let entropy = 'entripppppyy duuude' + let seedWords + let accounts = [] + let originalKeystore + + beforeEach(function() { + window.localStorage = {} // Hacking localStorage support into JSDom + + keyringController = new KeyringController({ + configManager: configManagerGen(), + ethStore: { + addAccount(acct) { accounts.push(ethUtil.addHexPrefix(acct)) }, + }, + }) + + // Stub out the browser crypto for a mock encryptor. + // Browser crypto is tested in the integration test suite. + keyringController.encryptor = mockEncryptor + }) + describe('#createNewVault', function () { - let keyringController - let password = 'password123' - let entropy = 'entripppppyy duuude' - let seedWords - let accounts = [] - let originalKeystore - - before(function(done) { - window.localStorage = {} // Hacking localStorage support into JSDom - - keyringController = new KeyringController({ - configManager: configManagerGen(), - ethStore: { - addAccount(acct) { accounts.push(ethUtil.addHexPrefix(acct)) }, - }, - }) + it('should set a vault on the configManager', function(done) { + assert(!keyringController.configManager.getVault(), 'no previous vault') + keyringController.createNewVault(password, null, function (err, state) { + assert.ifError(err) + const vault = keyringController.configManager.getVault() + assert(vault, 'vault created') - keyringController.createNewVault(password, entropy, (err, seeds) => { - assert.ifError(err, 'createNewVault threw error') - seedWords = seeds - originalKeystore = keyringController._idmgmt.keyStore done() }) }) }) + }) + + + + + |