From 64e206ca7af9b6e9bd29c4d6bdef6def7be4cc5c Mon Sep 17 00:00:00 2001 From: Wei Lu Date: Wed, 18 Mar 2015 23:30:04 +0800 Subject: [PATCH] crypto: fix test randomBytes stub --- package.json | 1 + test/eckey.js | 33 +++++++++++++-------------------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 454bf6d..fd14bf9 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "coveralls": "^2.11.2", "istanbul": "^0.3.5", "mocha": "^2.2.0", + "proxyquire": "^1.4.0", "sinon": "^1.12.2", "standard": "^2.11.0" } diff --git a/test/eckey.js b/test/eckey.js index 16ce3d0..e3dbe44 100644 --- a/test/eckey.js +++ b/test/eckey.js @@ -2,10 +2,10 @@ /* eslint-disable no-new */ var assert = require('assert') -var crypto = require('crypto') var ecurve = require('ecurve') var networks = require('../src/networks') -var sinon = require('sinon') +var proxyquire = require('proxyquire') +var randomBytes = require('randombytes') var BigInteger = require('bigi') var ECKey = require('../src/eckey') @@ -101,25 +101,13 @@ describe('ECKey', function () { var exPrivKey = ECKey.fromWIF(exWIF) var exBuffer = exPrivKey.d.toBuffer(32) - describe('uses default crypto RNG', function () { - beforeEach(function () { - sinon.stub(crypto, 'randomBytes').returns(exBuffer) - }) - - afterEach(function () { - crypto.randomBytes.restore() - }) + it("uses the RNG provided by the 'randombytes' module by default", function () { + var stub = { randombytes: function() { return exBuffer } } + var ProxiedECKey = proxyquire('../src/eckey', stub) - it('generates a ECKey', function () { - var privKey = ECKey.makeRandom() - - assert.equal(privKey.toWIF(), exWIF) - }) + var privKey = ProxiedECKey.makeRandom() - it('supports compression', function () { - assert.equal(ECKey.makeRandom(true).pub.compressed, true) - assert.equal(ECKey.makeRandom(false).pub.compressed, false) - }) + assert.equal(privKey.toWIF(), exWIF) }) it('allows a custom RNG to be used', function () { @@ -130,10 +118,15 @@ describe('ECKey', function () { var privKey = ECKey.makeRandom(undefined, rng) assert.equal(privKey.toWIF(), exWIF) }) + + it('supports compression', function () { + assert.equal(ECKey.makeRandom(true).pub.compressed, true) + assert.equal(ECKey.makeRandom(false).pub.compressed, false) + }) }) describe('signing', function () { - var hash = crypto.randomBytes(32) + var hash = randomBytes(32) var priv = ECKey.makeRandom() var signature = priv.sign(hash)