mirror of https://github.com/lukechilds/node.git
Browse Source
The crypto classes are also exposed as createClass for each class. This tests that each of them returns an instance of the class in question. PR-URL: https://github.com/nodejs/node/pull/8188 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>canary-base
1 changed files with 31 additions and 0 deletions
@ -0,0 +1,31 @@ |
|||
'use strict'; |
|||
const common = require('../common'); |
|||
const assert = require('assert'); |
|||
|
|||
if (!common.hasCrypto) { |
|||
common.skip('missing crypto'); |
|||
return; |
|||
} |
|||
const crypto = require('crypto'); |
|||
|
|||
// 'ClassName' : ['args', 'for', 'constructor']
|
|||
const TEST_CASES = { |
|||
'Hash': ['sha1'], |
|||
'Hmac': ['sha1', 'Node'], |
|||
'Cipheriv': ['des-ede3-cbc', '0123456789abcd0123456789', '12345678'], |
|||
'Decipheriv': ['des-ede3-cbc', '0123456789abcd0123456789', '12345678'], |
|||
'Sign': ['RSA-SHA1'], |
|||
'Verify': ['RSA-SHA1'], |
|||
'DiffieHellman': [1024], |
|||
'DiffieHellmanGroup': ['modp5'], |
|||
'Credentials': [] |
|||
}; |
|||
|
|||
if (!common.hasFipsCrypto) { |
|||
TEST_CASES.Cipher = ['aes192', 'secret']; |
|||
TEST_CASES.Decipher = ['aes192', 'secret']; |
|||
} |
|||
|
|||
for (const [clazz, args] of Object.entries(TEST_CASES)) { |
|||
assert(crypto[`create${clazz}`](...args) instanceof crypto[clazz]); |
|||
} |
Loading…
Reference in new issue