diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 85711b8..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "env": { - "browser": true, - "commonjs": true, - "es2021": true, - "node": true, - "mocha": true - }, - "extends": [ - "airbnb-base" - ], - "parserOptions": { - "ecmaVersion": 13 - }, - "rules": { - "no-console": 0, - "no-param-reassign": 0, - "max-len": ["error", { "code": 150 }], - "prefer-destructuring": ["error", {"object": true, "array": false}], - "no-underscore-dangle": 0 - } -} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 158c976..d14d4dc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,8 +23,6 @@ jobs: node-version: ${{ matrix.node-version }} - run: npm ci - run: npm run coverage - - run: npm test - - name: Coveralls uses: coverallsapp/github-action@master with: diff --git a/.npmignore b/.npmignore index 35c1163..c72b53c 100644 --- a/.npmignore +++ b/.npmignore @@ -6,6 +6,7 @@ .eslintrc.json .nyc_output .travis.yml +eslint.config.mjs CHANGELOG.md LICENSE README.md diff --git a/package-lock.json b/package-lock.json index 6ab7654..9b7587b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,17 +9,16 @@ "version": "0.9.0", "license": "MIT", "dependencies": { - "@digipolis/log": "^1.1.0" + "@digipolis/log": "^1.1.1" }, "devDependencies": { - "@eslint/js": "^9.31.0", - "axios": "^1.10.0", + "@eslint/js": "^9.33.0", + "axios": "^1.11.0", "c8": "^10.1.3", - "chai": "^5.2.1", - "chai-json-schema": "^1.5.1", "eslint-plugin-mocha": "^11.1.0", "express": "^5.1.0", "globals": "^16.3.0", + "jsonschema": "^1.5.0", "mocha": "^11.7.1", "sinon": "^21.0.0" } @@ -35,9 +34,10 @@ } }, "node_modules/@digipolis/log": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@digipolis/log/-/log-1.1.0.tgz", - "integrity": "sha512-RffQvAdDOkxzO5MzheMTvlq3Bifq91ZrESmh2bGtig8X+AyUj4ZuvGU5Kq1TbxCxSrAvr4zm/TI6jP7WaIqo8g==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@digipolis/log/-/log-1.1.1.tgz", + "integrity": "sha512-DZ2tf8H843UvK6wpGOxoCxfDnzaLwPtUIglYrl77uJKLgF7sGBwwJsBAe1ENxhl+ci7aUHjYfydrRoJaGsUTgg==", + "license": "MIT" }, "node_modules/@eslint-community/eslint-utils": { "version": "4.7.0", @@ -163,9 +163,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.31.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.31.0.tgz", - "integrity": "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==", + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz", + "integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==", "dev": true, "license": "MIT", "engines": { @@ -600,16 +600,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -617,14 +607,14 @@ "dev": true }, "node_modules/axios": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", - "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", "dev": true, "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, @@ -771,39 +761,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chai": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", - "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/chai-json-schema": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/chai-json-schema/-/chai-json-schema-1.5.1.tgz", - "integrity": "sha512-TR/xPDxRhqwFFCWg1HgL8nNWbpNfUwaib6pBN++QKpnd0t+o3+MBvAn5CM1mpdUMaM76oJAtUjGKdjGad01lIA==", - "dev": true, - "dependencies": { - "jsonpointer.js": "0.4.0", - "tv4": "^1.3.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "chai": ">= 1.6.1 < 5" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -820,16 +777,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, "node_modules/chokidar": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", @@ -981,16 +928,6 @@ } } }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -2055,11 +1992,15 @@ "license": "MIT", "peer": true }, - "node_modules/jsonpointer.js": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", - "integrity": "sha1-ACyxI/dnqv3rAZYTLOXE+ZQcyro=", - "dev": true + "node_modules/jsonschema": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.5.0.tgz", + "integrity": "sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } }, "node_modules/keyv": { "version": "4.5.4", @@ -2133,13 +2074,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/loupe": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", - "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", - "dev": true, - "license": "MIT" - }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -2525,16 +2459,6 @@ "node": ">=16" } }, - "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -3054,15 +2978,6 @@ "node": ">=0.6" } }, - "node_modules/tv4": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.3.0.tgz", - "integrity": "sha1-0CDIRvrdUMhVq7JeuuzGj8EPeWM=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3336,9 +3251,9 @@ "dev": true }, "@digipolis/log": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@digipolis/log/-/log-1.1.0.tgz", - "integrity": "sha512-RffQvAdDOkxzO5MzheMTvlq3Bifq91ZrESmh2bGtig8X+AyUj4ZuvGU5Kq1TbxCxSrAvr4zm/TI6jP7WaIqo8g==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@digipolis/log/-/log-1.1.1.tgz", + "integrity": "sha512-DZ2tf8H843UvK6wpGOxoCxfDnzaLwPtUIglYrl77uJKLgF7sGBwwJsBAe1ENxhl+ci7aUHjYfydrRoJaGsUTgg==" }, "@eslint-community/eslint-utils": { "version": "4.7.0", @@ -3421,9 +3336,9 @@ } }, "@eslint/js": { - "version": "9.31.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.31.0.tgz", - "integrity": "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==", + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz", + "integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==", "dev": true }, "@eslint/object-schema": { @@ -3730,12 +3645,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -3743,13 +3652,13 @@ "dev": true }, "axios": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", - "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", "dev": true, "requires": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, @@ -3851,29 +3760,6 @@ "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==", "dev": true }, - "chai": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", - "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", - "dev": true, - "requires": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - } - }, - "chai-json-schema": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/chai-json-schema/-/chai-json-schema-1.5.1.tgz", - "integrity": "sha512-TR/xPDxRhqwFFCWg1HgL8nNWbpNfUwaib6pBN++QKpnd0t+o3+MBvAn5CM1mpdUMaM76oJAtUjGKdjGad01lIA==", - "dev": true, - "requires": { - "jsonpointer.js": "0.4.0", - "tv4": "^1.3.0" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -3884,12 +3770,6 @@ "supports-color": "^7.1.0" } }, - "check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", - "dev": true - }, "chokidar": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", @@ -3994,12 +3874,6 @@ "ms": "^2.1.3" } }, - "deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true - }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4735,10 +4609,10 @@ "dev": true, "peer": true }, - "jsonpointer.js": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", - "integrity": "sha1-ACyxI/dnqv3rAZYTLOXE+ZQcyro=", + "jsonschema": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.5.0.tgz", + "integrity": "sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==", "dev": true }, "keyv": { @@ -4794,12 +4668,6 @@ "is-unicode-supported": "^0.1.0" } }, - "loupe": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", - "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", - "dev": true - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -5069,12 +4937,6 @@ "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", "dev": true }, - "pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true - }, "picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -5434,12 +5296,6 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, - "tv4": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.3.0.tgz", - "integrity": "sha1-0CDIRvrdUMhVq7JeuuzGj8EPeWM=", - "dev": true - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/package.json b/package.json index 58347bb..c37734d 100644 --- a/package.json +++ b/package.json @@ -23,23 +23,17 @@ "author": "Olivier Van den Mooter", "license": "MIT", "dependencies": { - "@digipolis/log": "^1.1.0" + "@digipolis/log": "^1.1.1" }, "devDependencies": { - "@eslint/js": "^9.31.0", + "@eslint/js": "^9.33.0", "eslint-plugin-mocha": "^11.1.0", - "axios": "^1.10.0", + "axios": "^1.11.0", "c8": "^10.1.3", - "chai": "^5.2.1", - "chai-json-schema": "^1.5.1", + "jsonschema": "^1.5.0", "express": "^5.1.0", "globals": "^16.3.0", "mocha": "^11.7.1", "sinon": "^21.0.0" - }, - "overrides": { - "chai-json-schema": { - "chai": "^5.2.0" - } } } diff --git a/test/config.test.js b/test/config.test.js index eb56152..4899d76 100644 --- a/test/config.test.js +++ b/test/config.test.js @@ -1,21 +1,21 @@ -const { expect } = require('chai'); +const assert = require('node:assert/strict'); const { setBooleanValue } = require('../lib/helpers/config'); describe('Config Helper', () => { describe('setBooleanValue', () => { - it('undefined should result in true', () => expect(setBooleanValue(undefined, true)).to.equal(true)); - it('true should result in true', () => expect(setBooleanValue(true)).to.equal(true)); - it('\'true\' should result in true', () => expect(setBooleanValue('true')).to.equal(true)); - it('false should result in false', () => expect(setBooleanValue(false)).to.equal(false)); - it('\'false\' should result in false', () => expect(setBooleanValue('false')).to.equal(false)); - it('default true, false should result in false', () => expect(setBooleanValue(false, true)).to.equal(false)); - it('default true, \'false\' should result in false', () => expect(setBooleanValue('false', true)).to.equal(false)); - it('default true, \'true\' should result in true', () => expect(setBooleanValue('true', true)).to.equal(true)); - it('default false, \'false\' should result in false', () => expect(setBooleanValue('false', false)).to.equal(false)); - it('default false, \'true\' should result in true', () => expect(setBooleanValue('true', false)).to.equal(true)); - it('default false, \'\' should result in true', () => expect(setBooleanValue('', false)).to.equal(false)); - it('default true, \'\' should result in true', () => expect(setBooleanValue('', true)).to.equal(true)); - it('default true, \'nonbool\' should result in true', () => expect(setBooleanValue('nonbool', true)).to.equal(true)); - it('default false, \'nonbool\' should result in false', () => expect(setBooleanValue('nonbool', false)).to.equal(false)); + it('undefined should result in true', () => assert.equal(setBooleanValue(undefined, true) ,true)); + it('true should result in true', () => assert.equal(setBooleanValue(true) ,true)); + it('\'true\' should result in true', () => assert.equal(setBooleanValue('true') ,true)); + it('false should result in false', () => assert.equal(setBooleanValue(false) ,false)); + it('\'false\' should result in false', () => assert.equal(setBooleanValue('false') ,false)); + it('default true, false should result in false', () => assert.equal(setBooleanValue(false, true) ,false)); + it('default true, \'false\' should result in false', () => assert.equal(setBooleanValue('false', true) ,false)); + it('default true, \'true\' should result in true', () => assert.equal(setBooleanValue('true', true) ,true)); + it('default false, \'false\' should result in false', () => assert.equal(setBooleanValue('false', false) ,false)); + it('default false, \'true\' should result in true', () => assert.equal(setBooleanValue('true', false) ,true)); + it('default false, \'\' should result in true', () => assert.equal(setBooleanValue('', false) ,false)); + it('default true, \'\' should result in true', () => assert.equal(setBooleanValue('', true) ,true)); + it('default true, \'nonbool\' should result in true', () => assert.equal(setBooleanValue('nonbool', true) ,true)); + it('default false, \'nonbool\' should result in false', () => assert.equal(setBooleanValue('nonbool', false) ,false)); }); }); diff --git a/test/helpers/server.js b/test/helpers/server.js index d925a20..0b3534b 100644 --- a/test/helpers/server.js +++ b/test/helpers/server.js @@ -30,6 +30,7 @@ function initializeExpress(config) { }); app.enable('trust proxy'); } + function startListening() { return new Promise((resolve) => { server = app.listen(undefined, () => { diff --git a/test/request.logger.test.js b/test/request.logger.test.js index ecca791..98531a5 100644 --- a/test/request.logger.test.js +++ b/test/request.logger.test.js @@ -1,18 +1,14 @@ +const assert = require('node:assert/strict'); const https = require('https'); const http = require('http'); const { URL } = require('url'); const sinon = require('sinon'); const axios = require('axios'); -const chai = require('chai'); - -const { expect } = chai; const { requestlogger } = require('../lib'); const app = require('./helpers/server'); const fetchTest = parseInt( process.version.split('.')[0].split('v')[1], 10) >= 20; -chai.use(require('chai-json-schema')); - describe('Requestlog:', () => { let server; let sandbox; @@ -86,7 +82,7 @@ describe('Requestlog:', () => { } ); const body = await request.json(); - expect(body).to.eql({ ok: 'ok' }) + assert.deepStrictEqual(body, { ok: 'ok' }) return new Promise((resolve) => { setTimeout(() => { sinon.assert.calledWith(logspy, { @@ -117,7 +113,7 @@ describe('Requestlog:', () => { } ); const body = await request.text(); - expect(body).to.eql('{"ok":"ok"}') + assert.deepStrictEqual(body, '{"ok":"ok"}') return new Promise((resolve) => { setTimeout(() => { sinon.assert.calledWith(logspy, { @@ -144,7 +140,7 @@ describe('Requestlog:', () => { }; const req = https.request(options); req.end(); - chai.expect(req.constructor.name).to.eql('ClientRequest'); + assert.deepStrictEqual(req.constructor.name, 'ClientRequest') }); it('url of type URL', async () => { const options = { @@ -154,7 +150,7 @@ describe('Requestlog:', () => { }; const req = https.request(new URL('https://google.be'), options); req.end(); - chai.expect(req.constructor.name).to.eql('ClientRequest'); + assert.deepStrictEqual(req.constructor.name, 'ClientRequest') }); it('url of type URL localhost', async () => { delete require.cache[require.resolve('http')]; diff --git a/test/request.middleware.test.js b/test/request.middleware.test.js index c599a4e..d886841 100644 --- a/test/request.middleware.test.js +++ b/test/request.middleware.test.js @@ -1,13 +1,11 @@ +const assert = require('node:assert/strict'); const sinon = require('sinon'); const axios = require('axios'); -const chai = require('chai'); -chai.use(require('chai-json-schema')); +const { Validator } = require('jsonschema'); const logschema = require('./data/logschema.json'); -const app = require('./helpers/server'); +const app = require('./helpers/server.js'); -const { expect } = chai; - -chai.use(require('chai-json-schema')); +const validator = new Validator(); describe('middleware:', () => { let server; @@ -275,12 +273,12 @@ describe('middleware:', () => { }, protocol: 'http', }; - // replace sinson match timestamp for jsonschema + // replace sinon match timestamp for jsonschema const schema_check = { ...result, - timestamp: 'timestamp' + timestamp: new Date().toISOString(), } - expect(schema_check).to.be.jsonSchema(logschema); + assert.equal(validator.validate(schema_check, logschema).valid ,true) sinon.assert.calledWith(logspy, result); clock.restore(); }); diff --git a/test/requestdecoder.test.js b/test/requestdecoder.test.js index feae267..60073f2 100644 --- a/test/requestdecoder.test.js +++ b/test/requestdecoder.test.js @@ -1,9 +1,8 @@ -const chai = require('chai'); - -const { getHost } = require('../lib/helpers/requestdecoder'); +const assert = require('node:assert/strict'); +const { getHost } = require('../lib/helpers/requestdecoder.js'); describe('requestdecoder:', () => { it('getHost', async () => { - chai.expect(getHost({ host: 'host' })).to.eql('host'); + assert.equal(getHost({ host: 'host' }), 'host'); }); });