From 7710235ec35586c15f83e826926ea8bfe2a35a22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Mon, 7 Jan 2019 20:27:31 +0100 Subject: [PATCH] test: improve test coverage of native crypto code PR-URL: https://github.com/nodejs/node/pull/25400 Reviewed-By: Colin Ihrig Reviewed-By: Sam Roberts Reviewed-By: Luigi Pinca Reviewed-By: James M Snell Reviewed-By: Ruben Bridgewater --- test/parallel/test-crypto-cipheriv-decipheriv.js | 12 ++++++++++++ test/parallel/test-crypto-hmac.js | 6 ++++++ test/parallel/test-crypto-sign-verify.js | 6 ++++++ 3 files changed, 24 insertions(+) diff --git a/test/parallel/test-crypto-cipheriv-decipheriv.js b/test/parallel/test-crypto-cipheriv-decipheriv.js index e4c7fced584c5f..b0ad7a97daab18 100644 --- a/test/parallel/test-crypto-cipheriv-decipheriv.js +++ b/test/parallel/test-crypto-cipheriv-decipheriv.js @@ -205,3 +205,15 @@ for (let n = 1; n < 256; n += 1) { if (common.hasFipsCrypto && n < 12) continue; crypto.createCipheriv('aes-128-gcm', Buffer.alloc(16), Buffer.alloc(n)); } + +{ + // Passing an invalid cipher name should throw. + assert.throws( + () => crypto.createCipheriv('aes-127', Buffer.alloc(16), null), + /Unknown cipher/); + + // Passing a key with an invalid length should throw. + assert.throws( + () => crypto.createCipheriv('aes-128-ecb', Buffer.alloc(17), null), + /Invalid key length/); +} diff --git a/test/parallel/test-crypto-hmac.js b/test/parallel/test-crypto-hmac.js index 9e0e364a4fa395..21ff3b0b040506 100644 --- a/test/parallel/test-crypto-hmac.js +++ b/test/parallel/test-crypto-hmac.js @@ -449,3 +449,9 @@ common.expectsError( assert.deepStrictEqual(h.digest('latin1'), ''); } } + +{ + assert.throws( + () => crypto.createHmac('sha7', 'key'), + /Unknown message digest/); +} diff --git a/test/parallel/test-crypto-sign-verify.js b/test/parallel/test-crypto-sign-verify.js index 0499b3091ca5a9..da4e8aa331aaa4 100644 --- a/test/parallel/test-crypto-sign-verify.js +++ b/test/parallel/test-crypto-sign-verify.js @@ -363,3 +363,9 @@ common.expectsError( assert.throws(() => verify.verify('test', input), errObj); }); } + +{ + assert.throws( + () => crypto.createSign('sha8'), + /Unknown message digest/); +}