diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 94f7fd30..db2ab3a6 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -123,6 +123,7 @@ "Generate PGP Key Pair", "PGP Encrypt", "PGP Decrypt", + "PGP Verify", "PGP Encrypt and Sign", "PGP Decrypt and Verify", "Parse SSH Host Key" @@ -284,6 +285,7 @@ "Zip", "Unzip", "Bzip2 Decompress", + "Bzip2 Compress", "Tar", "Untar" ] @@ -370,6 +372,7 @@ "Detect File Type", "Scan for Embedded Files", "Extract Files", + "YARA Rules", "Remove EXIF", "Extract EXIF", "Extract RGBA", @@ -401,6 +404,7 @@ "Cover Image", "Image Hue/Saturation/Lightness", "Sharpen Image", + "Normalise Image", "Convert Image Format", "Add Text To Image", "Hex Density chart", diff --git a/tests/node/index.mjs b/tests/node/index.mjs index 056db3d2..6d685555 100644 --- a/tests/node/index.mjs +++ b/tests/node/index.mjs @@ -13,13 +13,14 @@ import { setLongTestFailure, logTestReport, -} from "../lib/utils"; +} from "../lib/utils.mjs"; import TestRegister from "../lib/TestRegister.mjs"; -import "./tests/nodeApi"; -import "./tests/operations"; -import "./tests/File"; -import "./tests/NodeDish"; +import "./tests/nodeApi.mjs"; +import "./tests/operations.mjs"; +import "./tests/File.mjs"; +import "./tests/Dish.mjs"; +import "./tests/NodeDish.mjs"; const testStatus = { allTestsPassing: true, diff --git a/tests/operations/Dish.mjs b/tests/node/tests/Dish.mjs similarity index 71% rename from tests/operations/Dish.mjs rename to tests/node/tests/Dish.mjs index c62ed391..58da00bf 100644 --- a/tests/operations/Dish.mjs +++ b/tests/node/tests/Dish.mjs @@ -1,6 +1,6 @@ import TestRegister from "../../lib/TestRegister.mjs"; -import Dish from "../../src/core/Dish.mjs"; -import it from "../node/assertionHandler.mjs"; +import Dish from "../../../src/core/Dish.mjs"; +import it from "../../node/assertionHandler.mjs"; import assert from "assert"; TestRegister.addApiTests([ diff --git a/tests/operations/Categories.mjs b/tests/operations/Categories.mjs new file mode 100644 index 00000000..c1f9f472 --- /dev/null +++ b/tests/operations/Categories.mjs @@ -0,0 +1,19 @@ +import TestRegister from "../lib/TestRegister.mjs"; +import Categories from "../../src/core/config/Categories.json"; +import OperationConfig from "../../src/core/config/OperationConfig.json"; +import it from "../node/assertionHandler.mjs"; +import assert from "assert"; + +TestRegister.addApiTests([ + it("Categories: operations should be in a category", () => { + const catOps = []; + Categories.forEach(cat => { + catOps.push(...cat.ops); + }); + + for (const op in OperationConfig) { + assert(catOps.includes(op), `'${op}' operation is not present in any category`); + } + }), + +]); diff --git a/tests/operations/index.mjs b/tests/operations/index.mjs index 14c7408e..59c64550 100644 --- a/tests/operations/index.mjs +++ b/tests/operations/index.mjs @@ -17,6 +17,11 @@ import { } from "../lib/utils.mjs"; import TestRegister from "../lib/TestRegister.mjs"; + +// Generic tests +import "./Categories.mjs"; + +// Operation tests import "./tests/BCD.mjs"; import "./tests/BSON.mjs"; import "./tests/BaconCipher.mjs"; @@ -95,9 +100,6 @@ import "./tests/ParseUDP.mjs"; // Cannot test operations that use the File type yet // import "./tests/SplitColourChannels.mjs"; -// import "./tests/nodeApi/nodeApi.mjs"; -// import "./tests/nodeApi/ops.mjs"; - const testStatus = { allTestsPassing: true, counts: { @@ -109,5 +111,8 @@ setLongTestFailure(); const logOpsTestReport = logTestReport.bind(null, testStatus); +TestRegister.runApiTests() + .then(logOpsTestReport); + TestRegister.runTests() .then(logOpsTestReport);