diff --git a/tests/index.js b/tests/index.js deleted file mode 100644 index 89e3bfc..0000000 --- a/tests/index.js +++ /dev/null @@ -1,45 +0,0 @@ -import {assert} from 'chai'; -import {machineId, machineIdSync} from '../dist/index'; - -let {platform} = process, - originalPattern = { - darwin: /^[0-9,A-z]{8}-[0-9,A-z]{4}-[0-9,A-z]{4}-[0-9,A-z]{4}-[0-9,A-z]{12}$/, - win32: /^[0-9,A-z]{8}-[0-9,A-z]{4}-[0-9,A-z]{4}-[0-9,A-z]{4}-[0-9,A-z]{12}$/, - linux: /^[0-9,A-z]{32}$/, - freebsd: /^[0-9,A-z]{8}-[0-9,A-z]{4}-[0-9,A-z]{4}-[0-9,A-z]{4}-[0-9,A-z]{12}$/ - }, - hashPattern = /^[0-9,A-z]{64}$/; - -describe('Async call: machineId({original: true})', function() { - it('should return original unique id', async () => { - let id = await machineId({original: true}); - assert.match(id, originalPattern[platform]); - }); -}); - -describe('Sync call: machineIdSync({original: true})', function() { - it('should return original unique id', () => { - assert.match(machineIdSync({original: true}), originalPattern[platform]); - }); -}); - -describe('Async call: machineId()', function() { - it('should return unique sha256-hash', async () => { - let id = await machineId(); - assert.match(id, hashPattern); - }); -}); - -describe('Sync call: machineIdSync()', function() { - it('should return unique sha256-hash', () => { - assert.match(machineIdSync(), hashPattern); - }); -}); - -describe('CommonJS imports', function () { - it('should return function machineIdSync, machineId', function () { - let __module__ = require('../dist/index'); - assert.isFunction(__module__.machineId); - assert.isFunction(__module__.machineIdSync); - }); -}); diff --git a/tests/machine-id.test.js b/tests/machine-id.test.js new file mode 100644 index 0000000..355c284 --- /dev/null +++ b/tests/machine-id.test.js @@ -0,0 +1,47 @@ +const assert = require('assert'); +const {test} = require('node:test'); +const {createHash} = require('crypto'); +const {machineId, machineIdSync} = require('../dist/index'); + +const platform = process.platform; +const originalPattern = { + darwin: /^[0-9A-Za-z]{8}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{12}$/, + win32: /^[0-9A-Za-z]{8}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{12}$/, + linux: /^[0-9A-Za-z]{32}$/, + freebsd: /^[0-9A-Za-z]{8}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{12}$/ +}; +const hashPattern = /^[0-9A-Za-z]{64}$/; + +test('machineIdSync(true) returns original unique id', () => { + const id = machineIdSync(true); + assert.match(id, originalPattern[platform]); +}); + +test('machineId(true) returns the same original id', async () => { + const asyncId = await machineId(true); + const syncId = machineIdSync(true); + assert.strictEqual(asyncId, syncId); + assert.match(asyncId, originalPattern[platform]); +}); + +test('machineIdSync() returns sha256 hash of the original id', () => { + const original = machineIdSync(true); + const expected = createHash('sha256').update(original).digest('hex'); + const hashed = machineIdSync(); + assert.match(hashed, hashPattern); + assert.strictEqual(hashed, expected); +}); + +test('machineId() returns sha256 hash of the original id', async () => { + const original = await machineId(true); + const expected = createHash('sha256').update(original).digest('hex'); + const hashed = await machineId(); + assert.match(hashed, hashPattern); + assert.strictEqual(hashed, expected); +}); + +test('CommonJS import exposes machineId functions', () => { + const mod = require('../dist/index'); + assert.strictEqual(typeof mod.machineId, 'function'); + assert.strictEqual(typeof mod.machineIdSync, 'function'); +});