adding more tests
This commit is contained in:
parent
f100356078
commit
50c916216c
@ -81,6 +81,10 @@ function transformArgs(originalArgs, newArgs) {
|
||||
* @param input
|
||||
*/
|
||||
const ensureIsDish = function ensureIsDish(input) {
|
||||
if (!input) {
|
||||
return new SyncDish();
|
||||
}
|
||||
|
||||
let dish;
|
||||
if (input instanceof SyncDish) {
|
||||
dish = input;
|
||||
|
@ -22,4 +22,7 @@ export default [
|
||||
// Also uses files
|
||||
"DetectFileType",
|
||||
"ExtractEXIF",
|
||||
|
||||
// Relies on state of recipe.
|
||||
// "Magic",
|
||||
];
|
||||
|
@ -57,7 +57,6 @@ import {
|
||||
DecodeText as core_DecodeText,
|
||||
DeriveEVPKey as core_DeriveEVPKey,
|
||||
DerivePBKDF2Key as core_DerivePBKDF2Key,
|
||||
DetectFileType as core_DetectFileType,
|
||||
Diff as core_Diff,
|
||||
DisassembleX86 as core_DisassembleX86,
|
||||
Divide as core_Divide,
|
||||
@ -70,7 +69,6 @@ import {
|
||||
ExpandAlphabetRange as core_ExpandAlphabetRange,
|
||||
ExtractDates as core_ExtractDates,
|
||||
ExtractDomains as core_ExtractDomains,
|
||||
ExtractEXIF as core_ExtractEXIF,
|
||||
ExtractEmailAddresses as core_ExtractEmailAddresses,
|
||||
ExtractFilePaths as core_ExtractFilePaths,
|
||||
ExtractIPAddresses as core_ExtractIPAddresses,
|
||||
@ -129,7 +127,6 @@ import {
|
||||
MD4 as core_MD4,
|
||||
MD5 as core_MD5,
|
||||
MD6 as core_MD6,
|
||||
Magic as core_Magic,
|
||||
Mean as core_Mean,
|
||||
Median as core_Median,
|
||||
MicrosoftScriptDecoder as core_MicrosoftScriptDecoder,
|
||||
@ -320,7 +317,6 @@ function generateChef() {
|
||||
"decodeText": wrap(core_DecodeText),
|
||||
"deriveEVPKey": wrap(core_DeriveEVPKey),
|
||||
"derivePBKDF2Key": wrap(core_DerivePBKDF2Key),
|
||||
"detectFileType": wrap(core_DetectFileType),
|
||||
"diff": wrap(core_Diff),
|
||||
"disassembleX86": wrap(core_DisassembleX86),
|
||||
"divide": wrap(core_Divide),
|
||||
@ -333,7 +329,6 @@ function generateChef() {
|
||||
"expandAlphabetRange": wrap(core_ExpandAlphabetRange),
|
||||
"extractDates": wrap(core_ExtractDates),
|
||||
"extractDomains": wrap(core_ExtractDomains),
|
||||
"extractEXIF": wrap(core_ExtractEXIF),
|
||||
"extractEmailAddresses": wrap(core_ExtractEmailAddresses),
|
||||
"extractFilePaths": wrap(core_ExtractFilePaths),
|
||||
"extractIPAddresses": wrap(core_ExtractIPAddresses),
|
||||
@ -392,7 +387,6 @@ function generateChef() {
|
||||
"MD4": wrap(core_MD4),
|
||||
"MD5": wrap(core_MD5),
|
||||
"MD6": wrap(core_MD6),
|
||||
"magic": wrap(core_Magic),
|
||||
"mean": wrap(core_Mean),
|
||||
"median": wrap(core_Median),
|
||||
"microsoftScriptDecoder": wrap(core_MicrosoftScriptDecoder),
|
||||
@ -567,7 +561,6 @@ const decodeNetBIOSName = chef.decodeNetBIOSName;
|
||||
const decodeText = chef.decodeText;
|
||||
const deriveEVPKey = chef.deriveEVPKey;
|
||||
const derivePBKDF2Key = chef.derivePBKDF2Key;
|
||||
const detectFileType = chef.detectFileType;
|
||||
const diff = chef.diff;
|
||||
const disassembleX86 = chef.disassembleX86;
|
||||
const divide = chef.divide;
|
||||
@ -580,7 +573,6 @@ const escapeUnicodeCharacters = chef.escapeUnicodeCharacters;
|
||||
const expandAlphabetRange = chef.expandAlphabetRange;
|
||||
const extractDates = chef.extractDates;
|
||||
const extractDomains = chef.extractDomains;
|
||||
const extractEXIF = chef.extractEXIF;
|
||||
const extractEmailAddresses = chef.extractEmailAddresses;
|
||||
const extractFilePaths = chef.extractFilePaths;
|
||||
const extractIPAddresses = chef.extractIPAddresses;
|
||||
@ -639,7 +631,6 @@ const MD2 = chef.MD2;
|
||||
const MD4 = chef.MD4;
|
||||
const MD5 = chef.MD5;
|
||||
const MD6 = chef.MD6;
|
||||
const magic = chef.magic;
|
||||
const mean = chef.mean;
|
||||
const median = chef.median;
|
||||
const microsoftScriptDecoder = chef.microsoftScriptDecoder;
|
||||
@ -812,7 +803,6 @@ const operations = [
|
||||
decodeText,
|
||||
deriveEVPKey,
|
||||
derivePBKDF2Key,
|
||||
detectFileType,
|
||||
diff,
|
||||
disassembleX86,
|
||||
divide,
|
||||
@ -825,7 +815,6 @@ const operations = [
|
||||
expandAlphabetRange,
|
||||
extractDates,
|
||||
extractDomains,
|
||||
extractEXIF,
|
||||
extractEmailAddresses,
|
||||
extractFilePaths,
|
||||
extractIPAddresses,
|
||||
@ -884,7 +873,6 @@ const operations = [
|
||||
MD4,
|
||||
MD5,
|
||||
MD6,
|
||||
magic,
|
||||
mean,
|
||||
median,
|
||||
microsoftScriptDecoder,
|
||||
@ -1060,7 +1048,6 @@ export {
|
||||
decodeText,
|
||||
deriveEVPKey,
|
||||
derivePBKDF2Key,
|
||||
detectFileType,
|
||||
diff,
|
||||
disassembleX86,
|
||||
divide,
|
||||
@ -1073,7 +1060,6 @@ export {
|
||||
expandAlphabetRange,
|
||||
extractDates,
|
||||
extractDomains,
|
||||
extractEXIF,
|
||||
extractEmailAddresses,
|
||||
extractFilePaths,
|
||||
extractIPAddresses,
|
||||
@ -1132,7 +1118,6 @@ export {
|
||||
MD4,
|
||||
MD5,
|
||||
MD6,
|
||||
magic,
|
||||
mean,
|
||||
median,
|
||||
microsoftScriptDecoder,
|
||||
|
@ -8,6 +8,9 @@
|
||||
* Aim of these tests is to ensure each arg type is
|
||||
* handled correctly by the wrapper.
|
||||
*
|
||||
* Generally just checking operations that use external dependencies to ensure
|
||||
* it behaves as expected in Node.
|
||||
*
|
||||
* @author d98762625 [d98762625@gmail.com]
|
||||
* @copyright Crown Copyright 2018
|
||||
* @license Apache-2.0
|
||||
@ -553,6 +556,158 @@ Top Drawer`, {
|
||||
assert.strictEqual(chef.fromUNIXTimestamp("978346800").toString(), "Mon 1 January 2001 11:00:00 UTC");
|
||||
}),
|
||||
|
||||
it("Generate HOTP", () => {
|
||||
const result = chef.generateHOTP("Cut The Mustard", {
|
||||
name: "colonel",
|
||||
});
|
||||
const expected = `URI: otpauth://hotp/colonel?secret=IN2XIICUNBSSATLVON2GC4TE
|
||||
|
||||
Password: 034148`;
|
||||
assert.strictEqual(result.toString(), expected);
|
||||
}),
|
||||
|
||||
it("Generate PGP Key Pair", () => {
|
||||
const result = chef.generatePGPKeyPair("Back To the Drawing Board", {
|
||||
keyType: "ECC-256",
|
||||
});
|
||||
const expected = `-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||
Version: Keybase OpenPGP v2.0.77
|
||||
Comment: https://keybase.io/crypto
|
||||
|
||||
xYgEW3KciQEBAK96Lx9G0WZiw1yhC35IogdumoxEJXsLdAVIjmskXeAfABEBAAEA
|
||||
AP4wK+OZu3AqojwtRoyIK1pHKU93OAuam1iaLCOGCwCckQCA5PjU0aLNZqy/eKyX
|
||||
T3rpKQCAxDDT5hHGAUfFPUu73KWABwB/WKpeUp7KwurMSbYVhgr1TijszQDCVAQT
|
||||
AQoAHgUCW3KciQIbLwMLCQcDFQoIAh4BAheAAxYCAQIZAQAKCRD0VeyUMgmpz3OE
|
||||
AP9qsnhhoK85Tnu6VKwKm1iMiJAssDQnFztDaMmmVdrN/MeIBFtynIkBAQDDhjIw
|
||||
fxOprqVMYLk6aC45JyPAA2POzu0Zb/rx0tKeBwARAQABAAD/XAr66oiP9ZORHiT0
|
||||
XZH4m7vwZt7AHuq4pYtVlMQXk60AgPw2Mno/wStvE/SBa9R7AtsAgMZ2BkJjvNPZ
|
||||
9YA6cl4lW0UAgI1+kJVLZ5VR9fPENfJR80EtncKDBBgBCgAPBQJbcpyJBQkPCZwA
|
||||
AhsuAEgJEPRV7JQyCanPPSAEGQEKAAYFAltynIkACgkQrewgWMQZ/b2blwD/dbwh
|
||||
/3F9xv+YGAwq8i1mzzswg4qBct6LoSIjGglULT9RIQD/cYd31YfKrEnbSBWD5PLi
|
||||
zcSsxtBGKphwXiPAlQJ1Q5DHiARbcpyJAQEAs8V418lf1T74PpAwdBTiViEUX9jB
|
||||
e+ZrAEVaq5nu1C8AEQEAAQAA/iPWhS23hnRTllealR4/H5OofZRwxvIQrxAJp6z1
|
||||
ICRxAIDayRpCAbK5EC3DzRU2z4VpAIDSWYSs9inI1VTfamJPMWHXAIC3aaukzCP4
|
||||
GEGeFobX/thnKhnCgwQYAQoADwUCW3KciQUJA8JnAAIbLgBICRD0VeyUMgmpzz0g
|
||||
BBkBCgAGBQJbcpyJAAoJEB4jzL1hmQIXamUA/0c1M6BSqVtxNowPcOAXKYIxMca1
|
||||
VFcRWolHnZqdZQ7k/J8A/3HvNLRS3p1HvjQEfXl/qKoRRn843Py09ptDHh+xpGKh
|
||||
=d+Vp
|
||||
-----END PGP PRIVATE KEY BLOCK-----
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: Keybase OpenPGP v2.0.77
|
||||
Comment: https://keybase.io/crypto
|
||||
|
||||
xi0EW3KciQEBAK96Lx9G0WZiw1yhC35IogdumoxEJXsLdAVIjmskXeAfABEBAAHN
|
||||
AMJUBBMBCgAeBQJbcpyJAhsvAwsJBwMVCggCHgECF4ADFgIBAhkBAAoJEPRV7JQy
|
||||
CanPc4QA/2qyeGGgrzlOe7pUrAqbWIyIkCywNCcXO0NoyaZV2s38zi0EW3KciQEB
|
||||
AMOGMjB/E6mupUxguTpoLjknI8ADY87O7Rlv+vHS0p4HABEBAAHCgwQYAQoADwUC
|
||||
W3KciQUJDwmcAAIbLgBICRD0VeyUMgmpzz0gBBkBCgAGBQJbcpyJAAoJEK3sIFjE
|
||||
Gf29m5cA/3W8If9xfcb/mBgMKvItZs87MIOKgXLei6EiIxoJVC0/USEA/3GHd9WH
|
||||
yqxJ20gVg+Ty4s3ErMbQRiqYcF4jwJUCdUOQzi0EW3KciQEBALPFeNfJX9U++D6Q
|
||||
MHQU4lYhFF/YwXvmawBFWquZ7tQvABEBAAHCgwQYAQoADwUCW3KciQUJA8JnAAIb
|
||||
LgBICRD0VeyUMgmpzz0gBBkBCgAGBQJbcpyJAAoJEB4jzL1hmQIXamUA/0c1M6BS
|
||||
qVtxNowPcOAXKYIxMca1VFcRWolHnZqdZQ7k/J8A/3HvNLRS3p1HvjQEfXl/qKoR
|
||||
Rn843Py09ptDHh+xpGKh
|
||||
=ySwG
|
||||
-----END PGP PUBLIC KEY BLOCK-----`;
|
||||
assert.strictEqual(result.toString(), expected);
|
||||
}),
|
||||
|
||||
it("Generate UUID", () => {
|
||||
const result = chef.generateUUID();
|
||||
assert.ok(result.toString());
|
||||
assert.strictEqual(result.toString().length, 36);
|
||||
}),
|
||||
|
||||
it("Gzip, Gunzip", () => {
|
||||
assert.strictEqual(chef.gunzip(chef.gzip("Down To The Wire")).toString(), "Down To The Wire");
|
||||
}),
|
||||
|
||||
it("Hex to Object Identifier", () => {
|
||||
assert.strictEqual(
|
||||
chef.hexToObjectIdentifier(chef.toHex("You Can't Teach an Old Dog New Tricks")).toString(),
|
||||
"2.9.111.117.32.67.97.110.39.116.32.84.101.97.99.104.32.97.110.32.79.108.100.32.68.111.103.32.78.101.119.32.84.114.105.99.107.115");
|
||||
}),
|
||||
|
||||
it("Hex to PEM", () => {
|
||||
const result = chef.hexToPEM(chef.toHex("Yada Yada"));
|
||||
const expected = `-----BEGIN CERTIFICATE-----\r
|
||||
WWFkYSBZYWRh\r
|
||||
-----END CERTIFICATE-----\r\n`;
|
||||
assert.strictEqual(result.toString(), expected);
|
||||
}),
|
||||
|
||||
it("HMAC", () => {
|
||||
assert.strictEqual(chef.HMAC("On Cloud Nine", {key: "idea"}).toString(), "b128b48ec0d6b0f1a27220c396d0f3e5");
|
||||
}),
|
||||
|
||||
it("Javascript beautify", () => {
|
||||
const result = chef.javaScriptBeautify("const b = 2, g = 7;const fun = (a) => {return a*a};");
|
||||
const expected = `const b = 2, g = 7;
|
||||
const fun = a => {
|
||||
return a * a;'
|
||||
};`;
|
||||
assert.strictEqual(result.toString(), expected);
|
||||
}),
|
||||
|
||||
it("JavaScript Minify", () => {
|
||||
const result = chef.javaScriptMinify(`const b = 2, g = 7;
|
||||
const fun = a => {
|
||||
return a * a;
|
||||
};`);
|
||||
const expected = "const b = 2, g = 7;const fun = (a) => {return a*a};";
|
||||
assert.strictEqual(result.toString(), expected);
|
||||
}),
|
||||
|
||||
it("JavaScript Parse", () => {
|
||||
const result = chef.javaScriptParser("const b = 2;");
|
||||
const expected = `{
|
||||
"type": "Program",
|
||||
"body": [
|
||||
{
|
||||
"type": "VariableDeclaration",
|
||||
"declarations": [
|
||||
{
|
||||
"type": "VariableDeclarator",
|
||||
"id": {
|
||||
"type": "Identifier",
|
||||
"name": "b"
|
||||
},
|
||||
"init": {
|
||||
"type": "Literal",
|
||||
"value": 2,
|
||||
"raw": "2"
|
||||
}
|
||||
}
|
||||
],
|
||||
"kind": "const"
|
||||
}
|
||||
],
|
||||
"sourceType": "script"
|
||||
}`;
|
||||
assert.strictEqual(result.toString(), expected);
|
||||
}),
|
||||
|
||||
it("JPathExpression", () => {
|
||||
assert.strictEqual(chef.JPathExpression("{\"key\" : \"value\"}", {query: "$.key"}).toString(), "\"value\"");
|
||||
}),
|
||||
|
||||
it("JSON Beautify", () => {
|
||||
assert.strictEqual(
|
||||
chef.JSONBeautify("{\"key\" : \"value\"}").toString(),
|
||||
`{
|
||||
\\t"key": "value"
|
||||
}`);
|
||||
}),
|
||||
|
||||
it("Keccak", () => {
|
||||
assert.strictEqual(chef.keccak("Flea Market").toString(), "c2a06880b19e453ee5440e8bd4c2024bedc15a6630096aa3f609acfd2b8f15f27cd293e1cc73933e81432269129ce954a6138889ce87831179d55dcff1cc7587");
|
||||
}),
|
||||
|
||||
it("MD6", () => {
|
||||
assert.strictEqual(chef.MD6("Head Over Heels", {key: "arty"}).toString(), "d8f7fe4931fbaa37316f76283d5f615f50ddd54afdc794b61da522556aee99ad");
|
||||
}),
|
||||
|
||||
it("toBase64: editableOption", () => {
|
||||
const result = toBase64("some input", {
|
||||
alphabet: {
|
||||
|
Loading…
Reference in New Issue
Block a user