diff --git a/.eslintrc.js b/.eslintrc.js index b1b5dfca..a802f3d4 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -3,9 +3,10 @@ module.exports = { "node": true, "es2021": true }, - "extends": ["eslint:recommended", "google"], + "extends": ["eslint:recommended", "plugin:ava/recommended", "google"], "plugins": [ - "jsdoc" + "jsdoc", + "ava" ], "rules": { "indent": [ @@ -64,7 +65,10 @@ module.exports = { "jsdoc/require-returns": 0, "jsdoc/require-returns-description": 0, "jsdoc/require-returns-type": 2, - "jsdoc/valid-types": 0 + "jsdoc/valid-types": 0, + // ava/assertion-arguments reports concatenated strings in a assertion message as an issue + // See: https://github.com/avajs/eslint-plugin-ava/issues/332 + "ava/assertion-arguments": 0 }, "settings": { "jsdoc": { diff --git a/package-lock.json b/package-lock.json index 53849b12..5ffa292e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,6 +41,7 @@ "docdash": "^1.2.0", "eslint": "^8.7.0", "eslint-config-google": "^0.14.0", + "eslint-plugin-ava": "^13.0.2", "eslint-plugin-jsdoc": "^37.6.3", "jsdoc": "^3.6.7", "mock-require": "^3.0.3", @@ -3228,6 +3229,18 @@ "once": "^1.4.0" } }, + "node_modules/enhance-visitors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/enhance-visitors/-/enhance-visitors-1.0.0.tgz", + "integrity": "sha512-+29eJLiUixTEDRaZ35Vu8jP3gPLNcQQkQkOQjLp2X+6cZGGPDD/uasbFzvLsJKnGZnvmyZ0srxudwOtskHeIDA==", + "dev": true, + "dependencies": { + "lodash": "^4.13.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -3479,6 +3492,119 @@ "eslint": ">=5.16.0" } }, + "node_modules/eslint-plugin-ava": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-13.2.0.tgz", + "integrity": "sha512-i5B5izsEdERKQLruk1nIWzTTE7C26/ju8qQf7JeyRv32XT2lRMW0zMFZNhIrEf5/5VvpSz2rqrV7UcjClGbKsw==", + "dev": true, + "dependencies": { + "enhance-visitors": "^1.0.0", + "eslint-utils": "^3.0.0", + "espree": "^9.0.0", + "espurify": "^2.1.1", + "import-modules": "^2.1.0", + "micro-spelling-correcter": "^1.1.1", + "pkg-dir": "^5.0.0", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=12.22 <13 || >=14.17 <15 || >=16.4" + }, + "peerDependencies": { + "eslint": ">=7.22.0" + } + }, + "node_modules/eslint-plugin-ava/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-ava/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-ava/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-ava/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-ava/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-plugin-ava/node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-ava/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/eslint-plugin-jsdoc": { "version": "37.9.7", "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.7.tgz", @@ -3623,6 +3749,12 @@ "node": ">=4" } }, + "node_modules/espurify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-2.1.1.tgz", + "integrity": "sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==", + "dev": true + }, "node_modules/esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -4845,6 +4977,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-modules": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz", + "integrity": "sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -5937,6 +6081,12 @@ "node": ">= 0.6" } }, + "node_modules/micro-spelling-correcter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/micro-spelling-correcter/-/micro-spelling-correcter-1.1.1.tgz", + "integrity": "sha512-lkJ3Rj/mtjlRcHk6YyCbvZhyWTOzdBvTHsxMmZSk5jxN1YyVSQ+JETAom55mdzfcyDrY/49Z7UCW760BK30crg==", + "dev": true + }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -9856,6 +10006,18 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/yesno/-/yesno-0.3.1.tgz", "integrity": "sha512-7RbCXegyu6DykWPWU0YEtW8gFJH8KBL2d5l2fqB0XpkH0Y9rk59YSSWpzEv7yNJBGAouPc67h3kkq0CZkpBdFw==" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -12371,6 +12533,15 @@ "once": "^1.4.0" } }, + "enhance-visitors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/enhance-visitors/-/enhance-visitors-1.0.0.tgz", + "integrity": "sha512-+29eJLiUixTEDRaZ35Vu8jP3gPLNcQQkQkOQjLp2X+6cZGGPDD/uasbFzvLsJKnGZnvmyZ0srxudwOtskHeIDA==", + "dev": true, + "requires": { + "lodash": "^4.13.1" + } + }, "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -12608,6 +12779,82 @@ "dev": true, "requires": {} }, + "eslint-plugin-ava": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-13.2.0.tgz", + "integrity": "sha512-i5B5izsEdERKQLruk1nIWzTTE7C26/ju8qQf7JeyRv32XT2lRMW0zMFZNhIrEf5/5VvpSz2rqrV7UcjClGbKsw==", + "dev": true, + "requires": { + "enhance-visitors": "^1.0.0", + "eslint-utils": "^3.0.0", + "espree": "^9.0.0", + "espurify": "^2.1.1", + "import-modules": "^2.1.0", + "micro-spelling-correcter": "^1.1.1", + "pkg-dir": "^5.0.0", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "requires": { + "find-up": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, "eslint-plugin-jsdoc": { "version": "37.9.7", "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.7.tgz", @@ -12680,6 +12927,12 @@ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, + "espurify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-2.1.1.tgz", + "integrity": "sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==", + "dev": true + }, "esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -13652,6 +13905,12 @@ "resolve-cwd": "^3.0.0" } }, + "import-modules": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-2.1.0.tgz", + "integrity": "sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==", + "dev": true + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -14492,6 +14751,12 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, + "micro-spelling-correcter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/micro-spelling-correcter/-/micro-spelling-correcter-1.1.1.tgz", + "integrity": "sha512-lkJ3Rj/mtjlRcHk6YyCbvZhyWTOzdBvTHsxMmZSk5jxN1YyVSQ+JETAom55mdzfcyDrY/49Z7UCW760BK30crg==", + "dev": true + }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -17591,6 +17856,12 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/yesno/-/yesno-0.3.1.tgz", "integrity": "sha512-7RbCXegyu6DykWPWU0YEtW8gFJH8KBL2d5l2fqB0XpkH0Y9rk59YSSWpzEv7yNJBGAouPc67h3kkq0CZkpBdFw==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index af9db07d..85682e8d 100644 --- a/package.json +++ b/package.json @@ -138,6 +138,7 @@ "eslint": "^8.7.0", "eslint-config-google": "^0.14.0", "eslint-plugin-jsdoc": "^37.6.3", + "eslint-plugin-ava": "^13.0.2", "jsdoc": "^3.6.7", "mock-require": "^3.0.3", "nyc": "^15.1.0", diff --git a/test/lib/server/acceptRemoteConnections.js b/test/lib/server/acceptRemoteConnections.js index 705f095a..d0dda8e0 100644 --- a/test/lib/server/acceptRemoteConnections.js +++ b/test/lib/server/acceptRemoteConnections.js @@ -33,13 +33,12 @@ test.after(() => { }); }); -test("Get resource from application.a (/index.html) with enabled remote connection", (t) => { - return request.get("/index.html").then((res) => { - if (res.error) { - t.fail(res.error.text); - } - t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); - t.regex(res.headers["content-type"], /html/, "Correct content type"); - t.regex(res.text, /
elements");
+ t.is(res.text.match(/ elements");
})
]);
});
diff --git a/test/lib/server/middleware/MiddlewareManager.js b/test/lib/server/middleware/MiddlewareManager.js
index cbcb86f5..baae86a5 100644
--- a/test/lib/server/middleware/MiddlewareManager.js
+++ b/test/lib/server/middleware/MiddlewareManager.js
@@ -3,18 +3,18 @@ const sinon = require("sinon");
const MiddlewareManager = require("../../../../lib/middleware/MiddlewareManager");
const middlewareRepository = require("../../../../lib/middleware/middlewareRepository");
-test("Missing parameters", async (t) => {
+test("Missing parameters", (t) => {
const err = t.throws(() => {
new MiddlewareManager({
graph: {},
resources: {}
});
});
- t.deepEqual(err.message, "[MiddlewareManager]: One or more mandatory parameters not provided",
+ t.is(err.message, "[MiddlewareManager]: One or more mandatory parameters not provided",
"Threw error with correct message");
});
-test("Correct parameters", async (t) => {
+test("Correct parameters", (t) => {
t.notThrows(() => {
new MiddlewareManager({
graph: {},
@@ -51,11 +51,11 @@ test("applyMiddleware", async (t) => {
};
await middlewareManager.applyMiddleware(app);
- t.deepEqual(addStandardMiddlewareStub.callCount, 1, "addStandardMiddleware got called once");
- t.deepEqual(addCustomMiddlewareStub.callCount, 1, "addCustomMiddleware got called once");
- t.deepEqual(appUseStub.callCount, 1, "app.use got called once");
- t.deepEqual(appUseStub.getCall(0).args[0], "/myMountPath", "app.use got called with correct mount path parameter");
- t.deepEqual(appUseStub.getCall(0).args[1], "myMiddleware", "app.use got called with correct middleware parameter");
+ t.is(addStandardMiddlewareStub.callCount, 1, "addStandardMiddleware got called once");
+ t.is(addCustomMiddlewareStub.callCount, 1, "addCustomMiddleware got called once");
+ t.is(appUseStub.callCount, 1, "app.use got called once");
+ t.is(appUseStub.getCall(0).args[0], "/myMountPath", "app.use got called with correct mount path parameter");
+ t.is(appUseStub.getCall(0).args[1], "myMiddleware", "app.use got called with correct middleware parameter");
});
test("addMiddleware: Adding already added middleware produces unique middleware name", async (t) => {
@@ -78,13 +78,13 @@ test("addMiddleware: Adding already added middleware produces unique middleware
mountPath: "/goose"
});
t.truthy(middlewareManager.middleware["serveIndex"], "Middleware got added to internal map with unique name");
- t.deepEqual(middlewareManager.middleware["serveIndex"].mountPath, "/pony",
+ t.is(middlewareManager.middleware["serveIndex"].mountPath, "/pony",
"Middleware got added correct mount path");
t.truthy(middlewareManager.middleware["serveIndex--1"], "Middleware got added to internal map with unique name");
- t.deepEqual(middlewareManager.middleware["serveIndex--1"].mountPath, "/seagull",
+ t.is(middlewareManager.middleware["serveIndex--1"].mountPath, "/seagull",
"Middleware got added correct mount path");
t.truthy(middlewareManager.middleware["serveIndex--2"], "Middleware got added to internal map with unique name");
- t.deepEqual(middlewareManager.middleware["serveIndex--2"].mountPath, "/goose",
+ t.is(middlewareManager.middleware["serveIndex--2"].mountPath, "/goose",
"Middleware got added correct mount path");
t.deepEqual(middlewareManager.middlewareExecutionOrder, [
@@ -109,7 +109,7 @@ test("addMiddleware: Adding middleware already added to middlewareExecutionOrder
const err = await t.throwsAsync(() => {
return middlewareManager.addMiddleware("serveIndex");
});
- t.deepEqual(err.message,
+ t.is(err.message,
"Middleware serveIndex already added to execution order. This should not happen.",
"Rejected with correct error message");
});
@@ -129,11 +129,11 @@ test("addMiddleware: Add middleware", async (t) => {
await middlewareManager.addMiddleware("serveIndex"); // Add middleware to test for
t.truthy(middlewareManager.middleware["serveIndex"], "Middleware got added to internal map");
t.truthy(middlewareManager.middleware["serveIndex"].middleware, "Middleware module is given");
- t.deepEqual(middlewareManager.middleware["serveIndex"].mountPath, "/", "Correct default mount path set");
+ t.is(middlewareManager.middleware["serveIndex"].mountPath, "/", "Correct default mount path set");
- t.deepEqual(middlewareManager.middlewareExecutionOrder.length, 2,
+ t.is(middlewareManager.middlewareExecutionOrder.length, 2,
"Two middleware got added to middleware execution order");
- t.deepEqual(middlewareManager.middlewareExecutionOrder[1], "serveIndex",
+ t.is(middlewareManager.middlewareExecutionOrder[1], "serveIndex",
"Last added middleware was added to the end of middleware execution order array");
});
@@ -155,11 +155,11 @@ test("addMiddleware: Add middleware with beforeMiddleware and mountPath paramete
});
t.truthy(middlewareManager.middleware["serveIndex"], "Middleware got added to internal map");
t.truthy(middlewareManager.middleware["serveIndex"].middleware, "Middleware module is given");
- t.deepEqual(middlewareManager.middleware["serveIndex"].mountPath, "/pony", "Correct mount path set");
+ t.is(middlewareManager.middleware["serveIndex"].mountPath, "/pony", "Correct mount path set");
- t.deepEqual(middlewareManager.middlewareExecutionOrder.length, 2,
+ t.is(middlewareManager.middlewareExecutionOrder.length, 2,
"Two middleware got added to middleware execution order");
- t.deepEqual(middlewareManager.middlewareExecutionOrder[0], "serveIndex",
+ t.is(middlewareManager.middlewareExecutionOrder[0], "serveIndex",
"Middleware was inserted at correct position of middleware execution order array");
});
@@ -181,11 +181,11 @@ test("addMiddleware: Add middleware with afterMiddleware parameter", async (t) =
});
t.truthy(middlewareManager.middleware["serveIndex"], "Middleware got added to internal map");
t.truthy(middlewareManager.middleware["serveIndex"].middleware, "Middleware module is given");
- t.deepEqual(middlewareManager.middleware["serveIndex"].mountPath, "/", "Correct default mount path set");
+ t.is(middlewareManager.middleware["serveIndex"].mountPath, "/", "Correct default mount path set");
- t.deepEqual(middlewareManager.middlewareExecutionOrder.length, 3,
+ t.is(middlewareManager.middlewareExecutionOrder.length, 3,
"Three middleware got added to middleware execution order");
- t.deepEqual(middlewareManager.middlewareExecutionOrder[1], "serveIndex",
+ t.is(middlewareManager.middlewareExecutionOrder[1], "serveIndex",
"Middleware was inserted at correct position of middleware execution order array");
});
@@ -206,10 +206,10 @@ test("addMiddleware: Add middleware with invalid afterMiddleware parameter", asy
afterMiddleware: "🦆"
});
});
- t.deepEqual(err.message, "Could not find middleware 🦆, referenced by custom middleware serveIndex");
+ t.is(err.message, "Could not find middleware 🦆, referenced by custom middleware serveIndex");
t.falsy(middlewareManager.middleware["serveIndex"], "Middleware did not get added to internal map");
- t.deepEqual(middlewareManager.middlewareExecutionOrder.length, 1,
+ t.is(middlewareManager.middlewareExecutionOrder.length, 1,
"No new middleware got added to middleware execution order array");
});
@@ -229,10 +229,10 @@ test("addMiddleware: Add middleware with rapperCallback parameter", async (t) =>
await middlewareManager.addMiddleware("serveIndex", { // Add middleware to test for
wrapperCallback: wrapperCallbackStub
});
- t.deepEqual(wrapperCallbackStub.callCount, 1, "Wrapper callback got called once");
+ t.is(wrapperCallbackStub.callCount, 1, "Wrapper callback got called once");
t.deepEqual(wrapperCallbackStub.getCall(0).args[0], serveIndexMiddlewareInfo,
"Wrapper callback got called with correct module");
- t.deepEqual(moduleStub.callCount, 1, "Wrapper callback got called once");
+ t.is(moduleStub.callCount, 1, "Wrapper callback got called once");
t.deepEqual(moduleStub.getCall(0).args[0].resources, {
all: "I",
rootProject: "like",
@@ -240,13 +240,13 @@ test("addMiddleware: Add middleware with rapperCallback parameter", async (t) =>
}, "Wrapper callback got called with correct arguments");
t.truthy(middlewareManager.middleware["serveIndex"], "Middleware got added to internal map");
- t.deepEqual(middlewareManager.middleware["serveIndex"].middleware, "🍅",
+ t.is(middlewareManager.middleware["serveIndex"].middleware, "🍅",
"Middleware module is given");
- t.deepEqual(middlewareManager.middleware["serveIndex"].mountPath, "/", "Correct default mount path set");
+ t.is(middlewareManager.middleware["serveIndex"].mountPath, "/", "Correct default mount path set");
- t.deepEqual(middlewareManager.middlewareExecutionOrder.length, 1,
+ t.is(middlewareManager.middlewareExecutionOrder.length, 1,
"One middleware got added to middleware execution order");
- t.deepEqual(middlewareManager.middlewareExecutionOrder[0], "serveIndex",
+ t.is(middlewareManager.middlewareExecutionOrder[0], "serveIndex",
"Middleware was inserted at correct position of middleware execution order array");
});
@@ -266,7 +266,7 @@ test("addMiddleware: Add middleware with async wrapperCallback", async (t) => {
});
t.truthy(middlewareManager.middleware["serveIndex"], "Middleware got added to internal map");
- t.deepEqual(middlewareManager.middleware["serveIndex"].middleware, "🍅",
+ t.is(middlewareManager.middleware["serveIndex"].middleware, "🍅",
"Middleware module is given");
});
@@ -282,7 +282,7 @@ test("addStandardMiddleware: Adds standard middleware in correct order", async (
const addMiddlewareStub = sinon.stub(middlewareManager, "addMiddleware").resolves();
await middlewareManager.addStandardMiddleware();
- t.deepEqual(addMiddlewareStub.callCount, 11, "Expected count of middleware got added");
+ t.is(addMiddlewareStub.callCount, 11, "Expected count of middleware got added");
const addedMiddlewareNames = [];
for (let i = 0; i < addMiddlewareStub.callCount; i++) {
addedMiddlewareNames.push(addMiddlewareStub.getCall(i).args[0]);
@@ -322,7 +322,7 @@ test("addCustomMiddleware: No custom middleware defined", async (t) => {
const addMiddlewareStub = sinon.stub(middlewareManager, "addMiddleware").resolves();
await middlewareManager.addCustomMiddleware();
- t.deepEqual(addMiddlewareStub.callCount, 0, "addMiddleware was not called");
+ t.is(addMiddlewareStub.callCount, 0, "addMiddleware was not called");
});
test("addCustomMiddleware: Custom middleware got added", async (t) => {
@@ -352,25 +352,25 @@ test("addCustomMiddleware: Custom middleware got added", async (t) => {
const addMiddlewareStub = sinon.stub(middlewareManager, "addMiddleware").resolves();
await middlewareManager.addCustomMiddleware();
- t.deepEqual(addMiddlewareStub.callCount, 2, "addMiddleware was called twice");
- t.deepEqual(addMiddlewareStub.getCall(0).args[0], "my custom middleware A",
+ t.is(addMiddlewareStub.callCount, 2, "addMiddleware was called twice");
+ t.is(addMiddlewareStub.getCall(0).args[0], "my custom middleware A",
"addMiddleware was called with correct middleware name");
const middlewareOptionsA = addMiddlewareStub.getCall(0).args[1];
- t.deepEqual(middlewareOptionsA.mountPath, "/pony",
+ t.is(middlewareOptionsA.mountPath, "/pony",
"addMiddleware was called with correct mountPath option");
- t.deepEqual(middlewareOptionsA.beforeMiddleware, "cors",
+ t.is(middlewareOptionsA.beforeMiddleware, "cors",
"addMiddleware was called with correct beforeMiddleware option");
- t.deepEqual(middlewareOptionsA.afterMiddleware, undefined,
+ t.is(middlewareOptionsA.afterMiddleware, undefined,
"addMiddleware was called with correct afterMiddleware option");
- t.deepEqual(addMiddlewareStub.getCall(1).args[0], "my custom middleware B",
+ t.is(addMiddlewareStub.getCall(1).args[0], "my custom middleware B",
"addMiddleware was called with correct middleware name");
const middlewareOptionsB = addMiddlewareStub.getCall(1).args[1];
- t.deepEqual(middlewareOptionsB.mountPath, undefined,
+ t.is(middlewareOptionsB.mountPath, undefined,
"addMiddleware was called with correct mountPath option");
- t.deepEqual(middlewareOptionsB.beforeMiddleware, undefined,
+ t.is(middlewareOptionsB.beforeMiddleware, undefined,
"addMiddleware was called with correct beforeMiddleware option");
- t.deepEqual(middlewareOptionsB.afterMiddleware, "my custom middleware A",
+ t.is(middlewareOptionsB.afterMiddleware, "my custom middleware A",
"addMiddleware was called with correct afterMiddleware option");
});
@@ -398,8 +398,8 @@ test("addCustomMiddleware: No special handling for custom middleware with duplic
const addMiddlewareStub = sinon.stub(middlewareManager, "addMiddleware").resolves();
await middlewareManager.addCustomMiddleware();
- t.deepEqual(addMiddlewareStub.callCount, 1, "addMiddleware was called once");
- t.deepEqual(addMiddlewareStub.getCall(0).args[0], "my custom middleware A",
+ t.is(addMiddlewareStub.callCount, 1, "addMiddleware was called once");
+ t.is(addMiddlewareStub.getCall(0).args[0], "my custom middleware A",
"addMiddleware was called with correct middleware name");
});
@@ -426,7 +426,7 @@ test("addCustomMiddleware: Missing name configuration", async (t) => {
return middlewareManager.addCustomMiddleware();
});
- t.deepEqual(err.message, "Missing name for custom middleware definition of project my project at index 0",
+ t.is(err.message, "Missing name for custom middleware definition of project my project at index 0",
"Rejected with correct error message");
});
@@ -521,7 +521,7 @@ test("addCustomMiddleware", async (t) => {
const addMiddlewareStub = sinon.stub(middlewareManager, "addMiddleware").resolves();
await middlewareManager.addCustomMiddleware();
- t.deepEqual(addMiddlewareStub.callCount, 1, "addMiddleware was called once");
+ t.is(addMiddlewareStub.callCount, 1, "addMiddleware was called once");
const customMiddleware = addMiddlewareStub.getCall(0).args[1].customMiddleware;
const middlewareUtil = {
@@ -532,11 +532,11 @@ test("addCustomMiddleware", async (t) => {
middlewareUtil
});
- t.deepEqual(res, "ok", "Wrapper callback returned expected value");
+ t.is(res, "ok", "Wrapper callback returned expected value");
t.is(middlewareUtil.getInterface.callCount, 1, "middlewareUtil.getInterface got called once");
- t.deepEqual(middlewareUtil.getInterface.getCall(0).args[0], "2.6",
+ t.is(middlewareUtil.getInterface.getCall(0).args[0], "2.6",
"middlewareUtil.getInterface got called correct arguments");
- t.deepEqual(middlewareModuleStub.callCount, 1, "Middleware module got called once");
+ t.is(middlewareModuleStub.callCount, 1, "Middleware module got called once");
t.deepEqual(middlewareModuleStub.getCall(0).args[0], {
resources: "resources",
options: {
@@ -574,9 +574,9 @@ test("addStandardMiddleware: CSP middleware configured correctly (default)", asy
};
const middlewareWrapper = wrapperCallback(middlewareModuleInfo);
const res = middlewareWrapper();
- t.deepEqual(res, "ok", "Wrapper callback returned expected value");
- t.deepEqual(middlewareModuleStub.callCount, 1, "Middleware module got called once");
- t.deepEqual(middlewareModuleStub.getCall(0).args[0], "sap-ui-xx-csp-policy",
+ t.is(res, "ok", "Wrapper callback returned expected value");
+ t.is(middlewareModuleStub.callCount, 1, "Middleware module got called once");
+ t.is(middlewareModuleStub.getCall(0).args[0], "sap-ui-xx-csp-policy",
"CSP middleware module got called with correct first argument");
t.deepEqual(middlewareModuleStub.getCall(0).args[1], {
allowDynamicPolicyDefinition: true,
@@ -624,9 +624,9 @@ test("addStandardMiddleware: CSP middleware configured correctly (enabled)", asy
};
const middlewareWrapper = wrapperCallback(middlewareModuleInfo);
const res = middlewareWrapper();
- t.deepEqual(res, "ok", "Wrapper callback returned expected value");
- t.deepEqual(middlewareModuleStub.callCount, 1, "Middleware module got called once");
- t.deepEqual(middlewareModuleStub.getCall(0).args[0], "sap-ui-xx-csp-policy",
+ t.is(res, "ok", "Wrapper callback returned expected value");
+ t.is(middlewareModuleStub.callCount, 1, "Middleware module got called once");
+ t.is(middlewareModuleStub.getCall(0).args[0], "sap-ui-xx-csp-policy",
"CSP middleware module got called with correct first argument");
t.deepEqual(middlewareModuleStub.getCall(0).args[1], {
allowDynamicPolicyDefinition: true,
@@ -688,9 +688,9 @@ test("addStandardMiddleware: CSP middleware configured correctly (custom)", asyn
};
const middlewareWrapper = wrapperCallback(middlewareModuleInfo);
const res = middlewareWrapper();
- t.deepEqual(res, "ok", "Wrapper callback returned expected value");
- t.deepEqual(middlewareModuleStub.callCount, 1, "Middleware module got called once");
- t.deepEqual(middlewareModuleStub.getCall(0).args[0], "sap-ui-xx-csp-policy",
+ t.is(res, "ok", "Wrapper callback returned expected value");
+ t.is(middlewareModuleStub.callCount, 1, "Middleware module got called once");
+ t.is(middlewareModuleStub.getCall(0).args[0], "sap-ui-xx-csp-policy",
"CSP middleware module got called with correct first argument");
t.deepEqual(middlewareModuleStub.getCall(0).args[1], {
allowDynamicPolicyDefinition: true,
diff --git a/test/lib/server/middleware/MiddlewareUtil.js b/test/lib/server/middleware/MiddlewareUtil.js
index cc8e07a2..b2954391 100644
--- a/test/lib/server/middleware/MiddlewareUtil.js
+++ b/test/lib/server/middleware/MiddlewareUtil.js
@@ -8,7 +8,7 @@ test.afterEach.always((t) => {
mock.stopAll();
});
-test.serial("getPathname", async (t) => {
+test.serial("getPathname", (t) => {
const middlewareUtil = new MiddlewareUtil();
const parseurlStub = sinon.stub().returns({pathname: "path%20name"});
mock("parseurl", parseurlStub);
@@ -19,7 +19,7 @@ test.serial("getPathname", async (t) => {
t.is(pathname, "path name", "Correct pathname returned");
});
-test.serial("getMimeInfo", async (t) => {
+test.serial("getMimeInfo", (t) => {
const middlewareUtil = new MiddlewareUtil();
const mime = require("mime-types");
const lookupStub = sinon.stub(mime, "lookup").returns("mytype");
@@ -38,7 +38,7 @@ test.serial("getMimeInfo", async (t) => {
}, "Correct pathname returned");
});
-test.serial("getMimeInfo: unknown type", async (t) => {
+test.serial("getMimeInfo: unknown type", (t) => {
const middlewareUtil = new MiddlewareUtil();
const mime = require("mime-types");
const lookupStub = sinon.stub(mime, "lookup");
@@ -57,7 +57,7 @@ test.serial("getMimeInfo: unknown type", async (t) => {
}, "Correct pathname returned");
});
-test("getInterface: specVersion 1.0", async (t) => {
+test("getInterface: specVersion 1.0", (t) => {
const middlewareUtil = new MiddlewareUtil();
const interfacedMiddlewareUtil = middlewareUtil.getInterface("1.0");
@@ -65,7 +65,7 @@ test("getInterface: specVersion 1.0", async (t) => {
t.is(interfacedMiddlewareUtil, undefined, "no interface provided");
});
-test("getInterface: specVersion 2.0", async (t) => {
+test("getInterface: specVersion 2.0", (t) => {
const middlewareUtil = new MiddlewareUtil();
const interfacedMiddlewareUtil = middlewareUtil.getInterface("2.0");
@@ -79,7 +79,7 @@ test("getInterface: specVersion 2.0", async (t) => {
t.is(typeof interfacedMiddlewareUtil.getMimeInfo, "function", "function getMimeInfo is provided");
});
-test("getInterface: specVersion 2.1", async (t) => {
+test("getInterface: specVersion 2.1", (t) => {
const middlewareUtil = new MiddlewareUtil();
const interfacedMiddlewareUtil = middlewareUtil.getInterface("2.1");
@@ -93,7 +93,7 @@ test("getInterface: specVersion 2.1", async (t) => {
t.is(typeof interfacedMiddlewareUtil.getMimeInfo, "function", "function getMimeInfo is provided");
});
-test("getInterface: specVersion 2.2", async (t) => {
+test("getInterface: specVersion 2.2", (t) => {
const middlewareUtil = new MiddlewareUtil();
const interfacedMiddlewareUtil = middlewareUtil.getInterface("2.2");
@@ -107,7 +107,7 @@ test("getInterface: specVersion 2.2", async (t) => {
t.is(typeof interfacedMiddlewareUtil.getMimeInfo, "function", "function getMimeInfo is provided");
});
-test("getInterface: specVersion 2.3", async (t) => {
+test("getInterface: specVersion 2.3", (t) => {
const middlewareUtil = new MiddlewareUtil();
const interfacedMiddlewareUtil = middlewareUtil.getInterface("2.3");
@@ -121,7 +121,7 @@ test("getInterface: specVersion 2.3", async (t) => {
t.is(typeof interfacedMiddlewareUtil.getMimeInfo, "function", "function getMimeInfo is provided");
});
-test("getInterface: specVersion 2.4", async (t) => {
+test("getInterface: specVersion 2.4", (t) => {
const middlewareUtil = new MiddlewareUtil();
const interfacedMiddlewareUtil = middlewareUtil.getInterface("2.4");
@@ -135,7 +135,7 @@ test("getInterface: specVersion 2.4", async (t) => {
t.is(typeof interfacedMiddlewareUtil.getMimeInfo, "function", "function getMimeInfo is provided");
});
-test("getInterface: specVersion 2.5", async (t) => {
+test("getInterface: specVersion 2.5", (t) => {
const middlewareUtil = new MiddlewareUtil();
const interfacedMiddlewareUtil = middlewareUtil.getInterface("2.5");
@@ -149,7 +149,7 @@ test("getInterface: specVersion 2.5", async (t) => {
t.is(typeof interfacedMiddlewareUtil.getMimeInfo, "function", "function getMimeInfo is provided");
});
-test("getInterface: specVersion 2.6", async (t) => {
+test("getInterface: specVersion 2.6", (t) => {
const middlewareUtil = new MiddlewareUtil();
const interfacedMiddlewareUtil = middlewareUtil.getInterface("2.6");
@@ -163,7 +163,7 @@ test("getInterface: specVersion 2.6", async (t) => {
t.is(typeof interfacedMiddlewareUtil.getMimeInfo, "function", "function getMimeInfo is provided");
});
-test("getInterface: specVersion undefined", async (t) => {
+test("getInterface: specVersion undefined", (t) => {
const middlewareUtil = new MiddlewareUtil();
const err = t.throws(() => {
@@ -174,7 +174,7 @@ test("getInterface: specVersion undefined", async (t) => {
"Throw with correct error message");
});
-test("getInterface: specVersion unknown", async (t) => {
+test("getInterface: specVersion unknown", (t) => {
const middlewareUtil = new MiddlewareUtil();
const err = t.throws(() => {
middlewareUtil.getInterface("1.5");
diff --git a/test/lib/server/middleware/middlewareRepository.js b/test/lib/server/middleware/middlewareRepository.js
index e33b356c..2f08534d 100644
--- a/test/lib/server/middleware/middlewareRepository.js
+++ b/test/lib/server/middleware/middlewareRepository.js
@@ -1,7 +1,7 @@
const test = require("ava");
const middlewareRepository = require("../../../../lib/middleware/middlewareRepository");
-test("getMiddleware", async (t) => {
+test("getMiddleware", (t) => {
const cspModule = require("../../../../lib/middleware/csp");
const res = middlewareRepository.getMiddleware("csp");
t.deepEqual(res, {
@@ -9,10 +9,10 @@ test("getMiddleware", async (t) => {
}, "Returned correct middleware module");
});
-test("getMiddleware: Unknown middleware", async (t) => {
+test("getMiddleware: Unknown middleware", (t) => {
const err = t.throws(() => {
middlewareRepository.getMiddleware("🐬");
});
- t.deepEqual(err.message, "middlewareRepository: Unknown Middleware 🐬",
+ t.is(err.message, "middlewareRepository: Unknown Middleware 🐬",
"Threw error with correct message");
});
diff --git a/test/lib/server/middleware/nonReadRequests.js b/test/lib/server/middleware/nonReadRequests.js
index c9b6ce96..bef04745 100644
--- a/test/lib/server/middleware/nonReadRequests.js
+++ b/test/lib/server/middleware/nonReadRequests.js
@@ -31,7 +31,7 @@ test("Non read requests results in status 404 and an error message", (t) => {
res = {
statusCode: 200,
end: function(message) {
- t.deepEqual(res.statusCode, 404, "Status should be 404");
+ t.is(res.statusCode, 404, "Status should be 404");
t.deepEqual(message, "Cannot " + method + " /somePath", "Finished with error message.");
}
};
diff --git a/test/lib/server/middleware/serveIndex.js b/test/lib/server/middleware/serveIndex.js
index f06bd078..cffca6d9 100644
--- a/test/lib/server/middleware/serveIndex.js
+++ b/test/lib/server/middleware/serveIndex.js
@@ -2,7 +2,7 @@ const test = require("ava");
const resourceFactory = require("@ui5/fs").resourceFactory;
const MiddlewareUtil = require("../../../../lib/middleware/MiddlewareUtil");
-test.serial("serveIndex default", (t) => {
+test.serial("serveIndex default", async (t) => {
t.plan(4);
const serveIndexMiddleware = require("../../../../lib/middleware/serveIndex");
const writeResource = function(writer, path, buffer) {
@@ -19,58 +19,57 @@ test.serial("serveIndex default", (t) => {
const readerWriter = resourceFactory.createAdapter({virBasePath: "/"});
- return Promise.all([
+ await Promise.all([
writeResource(readerWriter, "/myFile1.meh", Buffer.alloc(1024)), // KB
writeResource(readerWriter, "/myFile2.js", Buffer.alloc(1024 * 1024)), // MB
writeResource(readerWriter, "/myFile3.properties", Buffer.alloc(1024 * 1024 * 1024)), // GB
writeResource(readerWriter, "/.myFile4", Buffer.alloc(1024)), // hidden 1 KB
- ]).then(() => {
- const middleware = serveIndexMiddleware({
- middlewareUtil: new MiddlewareUtil(),
- resources: {
- all: readerWriter
- }
- });
+ ]);
+ const middleware = serveIndexMiddleware({
+ middlewareUtil: new MiddlewareUtil(),
+ resources: {
+ all: readerWriter
+ }
+ });
- return new Promise((resolve, reject) => {
- const req = {
- url: "/"
- };
- const res = {
- writeHead: function(status, contentType) {
- },
- end: function(content) {
- t.regex(content,
- RegExp(
- "