From d92fe85fecdf1e3409750d381d20d91bc3d25a49 Mon Sep 17 00:00:00 2001 From: Mikeal Rogers Date: Sun, 7 Apr 2019 21:54:04 +0000 Subject: [PATCH 1/3] feat: validation. fixes #43 --- src/index.js | 9 +++++++++ test/index.spec.js | 26 ++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/index.js b/src/index.js index 335a270e..125045eb 100644 --- a/src/index.js +++ b/src/index.js @@ -139,3 +139,12 @@ Multihashing.functions = { // add blake functions crypto.addBlake(Multihashing.functions) + +Multihashing.validate = (data, hash, callback) => { + let algo = multihash.decode(hash).name + Multihashing(data, algo, (err, newHash) => { + if (err) return callback(err) + callback(err, Buffer.compare(hash, newHash) === 0) + }) +} + diff --git a/test/index.spec.js b/test/index.spec.js index e05510b1..6bb2ca54 100644 --- a/test/index.spec.js +++ b/test/index.spec.js @@ -76,3 +76,29 @@ describe('multihashing', () => { }) }) }) + +describe('validate', () => { + it('true on pass', done => { + multihashing(Buffer.from('test'), 'sha2-256', (err, hash) => { + if (err) throw err + multihashing.validate(Buffer.from('test'), hash, (err, bool) => { + if (err) throw err + console.error('asdf', bool) + expect(bool).to.eql(true) + done() + }) + }) + }) + + it('false on fail', done => { + multihashing(Buffer.from('test'), 'sha2-256', (err, hash) => { + if (err) throw err + multihashing.validate(Buffer.from('test-fail'), hash, (err, bool) => { + if (err) throw err + expect(bool).to.eql(false) + done() + }) + }) + }) +}) + From 5e8f5df73e4140cc7dfae166e5988c374526d726 Mon Sep 17 00:00:00 2001 From: Mikeal Rogers Date: Mon, 8 Apr 2019 20:58:36 +0000 Subject: [PATCH 2/3] fix: code review fixes --- test/index.spec.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/test/index.spec.js b/test/index.spec.js index 6bb2ca54..e34f2819 100644 --- a/test/index.spec.js +++ b/test/index.spec.js @@ -80,10 +80,9 @@ describe('multihashing', () => { describe('validate', () => { it('true on pass', done => { multihashing(Buffer.from('test'), 'sha2-256', (err, hash) => { - if (err) throw err + if (err) throw done(err) multihashing.validate(Buffer.from('test'), hash, (err, bool) => { - if (err) throw err - console.error('asdf', bool) + if (err) throw done(err) expect(bool).to.eql(true) done() }) @@ -92,9 +91,9 @@ describe('validate', () => { it('false on fail', done => { multihashing(Buffer.from('test'), 'sha2-256', (err, hash) => { - if (err) throw err + if (err) throw done(err) multihashing.validate(Buffer.from('test-fail'), hash, (err, bool) => { - if (err) throw err + if (err) throw done(err) expect(bool).to.eql(false) done() }) From 6ae27248868562e5d2ad70d06cb6f1cd57a35359 Mon Sep 17 00:00:00 2001 From: Mikeal Rogers Date: Wed, 10 Apr 2019 20:14:49 +0000 Subject: [PATCH 3/3] fix: linter errors --- src/index.js | 1 - test/index.spec.js | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index 125045eb..01052f92 100644 --- a/src/index.js +++ b/src/index.js @@ -147,4 +147,3 @@ Multihashing.validate = (data, hash, callback) => { callback(err, Buffer.compare(hash, newHash) === 0) }) } - diff --git a/test/index.spec.js b/test/index.spec.js index e34f2819..73411c6b 100644 --- a/test/index.spec.js +++ b/test/index.spec.js @@ -88,7 +88,7 @@ describe('validate', () => { }) }) }) - + it('false on fail', done => { multihashing(Buffer.from('test'), 'sha2-256', (err, hash) => { if (err) throw done(err) @@ -100,4 +100,3 @@ describe('validate', () => { }) }) }) -