From acaa53a80bd4a4762795315a5634ec7ee2199af2 Mon Sep 17 00:00:00 2001 From: Olivier Van den Mooter Date: Thu, 7 Aug 2025 15:39:34 +0200 Subject: [PATCH] Reduce dependencies by using native assert --- package-lock.json | 207 ++++++------------------------------ package.json | 10 +- test/config.helper.test.mjs | 30 +++--- test/log.test.mjs | 24 ++--- test/loggerOption.test.mjs | 20 ++-- test/uuid.helper.test.mjs | 5 +- 6 files changed, 70 insertions(+), 226 deletions(-) diff --git a/package-lock.json b/package-lock.json index a861b22..2b96652 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,9 @@ "license": "MIT", "devDependencies": { "c8": "^10.1.3", - "chai": "^5.2.1", - "chai-json-schema": "^1.5.1", - "eslint": "^9.31.0", + "eslint": "^9.32.0", "eslint-plugin-mocha": "^11.1.0", + "jsonschema": "^1.5.0", "mocha": "^11.7.1", "sinon": "^21.0.0" } @@ -129,9 +128,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.32.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.32.0.tgz", + "integrity": "sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==", "dev": true, "license": "MIT", "engines": { @@ -502,16 +501,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/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -661,39 +650,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", @@ -731,16 +687,6 @@ "node": ">=8" } }, - "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", @@ -851,16 +797,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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", @@ -911,9 +847,9 @@ } }, "node_modules/eslint": { - "version": "9.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz", - "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", + "version": "9.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.32.0.tgz", + "integrity": "sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==", "dev": true, "license": "MIT", "dependencies": { @@ -923,8 +859,8 @@ "@eslint/config-helpers": "^0.3.0", "@eslint/core": "^0.15.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.31.0", - "@eslint/plugin-kit": "^0.3.1", + "@eslint/js": "9.32.0", + "@eslint/plugin-kit": "^0.3.4", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -1567,11 +1503,15 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": 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", @@ -1624,13 +1564,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/loupe": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", - "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", - "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", @@ -1900,16 +1833,6 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, - "node_modules/pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", - "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", @@ -2184,15 +2107,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "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", @@ -2440,9 +2354,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.32.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.32.0.tgz", + "integrity": "sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==", "dev": true }, "@eslint/object-schema": { @@ -2698,12 +2612,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 - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2802,29 +2710,6 @@ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "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", @@ -2852,12 +2737,6 @@ } } }, - "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", @@ -2934,12 +2813,6 @@ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true }, - "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", @@ -2977,9 +2850,9 @@ "dev": true }, "eslint": { - "version": "9.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz", - "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", + "version": "9.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.32.0.tgz", + "integrity": "sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", @@ -2988,8 +2861,8 @@ "@eslint/config-helpers": "^0.3.0", "@eslint/core": "^0.15.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.31.0", - "@eslint/plugin-kit": "^0.3.1", + "@eslint/js": "9.32.0", + "@eslint/plugin-kit": "^0.3.4", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -3430,10 +3303,10 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": 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": { @@ -3477,12 +3350,6 @@ "is-unicode-supported": "^0.1.0" } }, - "loupe": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", - "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", - "dev": true - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3678,12 +3545,6 @@ } } }, - "pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", - "dev": true - }, "picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -3881,12 +3742,6 @@ } } }, - "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 4ea44cf..a92c4c1 100644 --- a/package.json +++ b/package.json @@ -23,16 +23,10 @@ "license": "MIT", "devDependencies": { "c8": "^10.1.3", - "chai": "^5.2.1", - "chai-json-schema": "^1.5.1", - "eslint": "^9.31.0", + "eslint": "^9.32.0", "eslint-plugin-mocha": "^11.1.0", + "jsonschema": "^1.5.0", "mocha": "^11.7.1", "sinon": "^21.0.0" - }, - "overrides": { - "chai-json-schema": { - "chai": "^5.2.0" - } } } diff --git a/test/config.helper.test.mjs b/test/config.helper.test.mjs index 2a9af21..f8bc06b 100644 --- a/test/config.helper.test.mjs +++ b/test/config.helper.test.mjs @@ -1,21 +1,21 @@ -import { expect } from 'chai'; +import assert from 'node:assert/strict'; import { setBooleanValue } from '../lib/config/index.js'; 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/log.test.mjs b/test/log.test.mjs index 3673773..226a29c 100644 --- a/test/log.test.mjs +++ b/test/log.test.mjs @@ -1,15 +1,13 @@ +import assert from 'node:assert/strict'; import sinon from 'sinon'; -import * as chai from 'chai'; import { levels } from '../lib/config/index.js'; import uuidhelper from '../lib/helpers/uuid.js'; import log from '../lib/index.js'; import logschema from './data/logschema.json' with { type: "json" }; -import chaijson from 'chai-json-schema'; +import { Validator } from 'jsonschema'; const v4 = /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$|/i; - -const { expect } = chai; -chai.use(chaijson); +const validator = new Validator(); describe('Logs:', () => { let sandbox; @@ -60,7 +58,7 @@ describe('Logs:', () => { correlationId: 'ABCDEFAB-ABCD-4ABC-AABC-ABCDEFABCDEF', }; sinon.assert.calledWith(logstub.log, result); - expect(result).to.be.jsonSchema(logschema); + assert.equal(validator.validate(result, logschema).valid ,true) }); it('{ message: "logmessage" }', async () => { const logmessage = { message: 'logmessage' }; @@ -77,7 +75,7 @@ describe('Logs:', () => { correlationId: 'ABCDEFAB-ABCD-4ABC-AABC-ABCDEFABCDEF', }; sinon.assert.calledWith(logstub.log, result); - expect(result).to.be.jsonSchema(logschema); + assert.equal(validator.validate(result, logschema).valid ,true) }); it('{ timestamp: "timestamp" }', async () => { const logmessage = { timestamp: 'timestamp' }; @@ -402,7 +400,7 @@ describe('Logs:', () => { sinon.assert.calledWith(logstub.log, { ...result, level: 'INFO' }); sinon.assert.calledWith(logstub.warn, { ...result, level: 'WARN' }); sinon.assert.calledWith(logstub.error, { ...result, level: 'ERROR' }); - expect(result).to.be.jsonSchema(logschema); + assert.equal(validator.validate(result, logschema).valid ,true) }); it('"debug"', async () => { const logmessage = 'logmessage'; @@ -428,7 +426,7 @@ describe('Logs:', () => { sinon.assert.calledWith(logstub.log, { ...result, level: 'INFO' }); sinon.assert.calledWith(logstub.warn, { ...result, level: 'WARN' }); sinon.assert.calledWith(logstub.error, { ...result, level: 'ERROR' }); - expect(result).to.be.jsonSchema(logschema); + assert.equal(validator.validate(result, logschema).valid ,true) }); it('"info"', async () => { const logmessage = 'logmessage'; @@ -454,7 +452,7 @@ describe('Logs:', () => { sinon.assert.calledWith(logstub.log, { ...result, level: 'INFO' }); sinon.assert.calledWith(logstub.warn, { ...result, level: 'WARN' }); sinon.assert.calledWith(logstub.error, { ...result, level: 'ERROR' }); - expect(result).to.be.jsonSchema(logschema); + assert.equal(validator.validate(result, logschema).valid ,true) }); it('"log"', async () => { const logmessage = 'logmessage'; @@ -480,7 +478,7 @@ describe('Logs:', () => { sinon.assert.calledWith(logstub.log, { ...result, level: 'INFO' }); sinon.assert.calledWith(logstub.warn, { ...result, level: 'WARN' }); sinon.assert.calledWith(logstub.error, { ...result, level: 'ERROR' }); - expect(result).to.be.jsonSchema(logschema); + assert.equal(validator.validate(result, logschema).valid ,true) }); it('"warn"', async () => { const logmessage = 'logmessage'; @@ -506,7 +504,7 @@ describe('Logs:', () => { sinon.assert.notCalled(logstub.log); sinon.assert.calledWith(logstub.warn, { ...result, level: 'WARN' }); sinon.assert.calledWith(logstub.error, { ...result, level: 'ERROR' }); - expect(result).to.be.jsonSchema(logschema); + assert.equal(validator.validate(result, logschema).valid ,true) }); it('"error"', async () => { const logmessage = 'logmessage'; @@ -532,7 +530,7 @@ describe('Logs:', () => { sinon.assert.notCalled(logstub.log); sinon.assert.notCalled(logstub.warn); sinon.assert.calledWith(logstub.error, { ...result, level: 'ERROR' }); - expect(result).to.be.jsonSchema(logschema); + assert.equal(validator.validate(result, logschema).valid ,true) }); }); }); diff --git a/test/loggerOption.test.mjs b/test/loggerOption.test.mjs index 8167cca..7731291 100644 --- a/test/loggerOption.test.mjs +++ b/test/loggerOption.test.mjs @@ -1,10 +1,8 @@ +import assert from 'node:assert/strict'; import sinon from 'sinon'; -import * as chai from 'chai'; import { levels } from '../lib/config/index.js'; import log from '../lib/index.js'; -const { expect } = chai; - describe('Logs:', () => { let sandbox; let sandbox2; @@ -43,38 +41,38 @@ describe('Logs:', () => { type: 'json', override: false, }); - expect(returnedlogger.log.isProxy).to.eql(true); - expect(console.log.isProxy).to.eql(undefined); + assert.equal(returnedlogger.log.isProxy, true); + assert.equal(console.log.isProxy, undefined); }); it('"isProxy"', async () => { log(console, { type: 'json', override: true, }); - expect(console.log.isProxy).to.eql(true); + assert.equal(console.log.isProxy, true); }); it('"override": true (default)', async () => { const returnedlogger = log(console, { type: 'json', override: true, }); - expect(returnedlogger.log.isProxy).to.eql(true); - expect(console.log.isProxy).to.eql(true); + assert.equal(returnedlogger.log.isProxy, true); + assert.equal(console.log.isProxy, true); }); it('"override": true (set)', async () => { const returnedlogger = log(console, { type: 'json', override: true, }); - expect(returnedlogger.log.isProxy).to.eql(true); - expect(console.log.isProxy).to.eql(true); + assert.equal(returnedlogger.log.isProxy, true); + assert.equal(console.log.isProxy, true); }); it('"getprop cover', async () => { const returnedlogger = log(console, { type: 'json', override: true, }); - expect(returnedlogger.log.prop).to.eql(undefined); + assert.equal(returnedlogger.log.prop, undefined); }); }); }); diff --git a/test/uuid.helper.test.mjs b/test/uuid.helper.test.mjs index cc05373..be76c90 100644 --- a/test/uuid.helper.test.mjs +++ b/test/uuid.helper.test.mjs @@ -1,6 +1,5 @@ import crypto from 'crypto'; import sinon from 'sinon'; -import { expect } from 'chai'; import uuidHelper from '../lib/helpers/uuid.js'; const v4 = /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i; @@ -16,12 +15,12 @@ describe('uuid Helper', () => { done(); }); it('uuidV4', () => { - expect(uuidHelper.uuidV4()).to.match(v4); + if(!v4.test(uuidHelper.uuidV4())) throw new Error("doesn't match"); }); it('uuidV4 fallback', () => { if (crypto.randomUUID) { sandbox.stub(crypto, 'randomUUID').value(undefined); } - expect(uuidHelper.uuidV4()).to.match(v4); + if(!v4.test(uuidHelper.uuidV4())) throw new Error("doesn't match"); }); });