// Generated, do not edit. sha256:2e6bfe033c662af65c973904363a2a3b198b4658a4ee3fa7b11729b6619711bf import { describe, it, beforeEach, afterEach, mock } from 'node:test'; import assert from 'node:assert/strict'; import { mkdtempSync, rmSync, readFileSync, writeFileSync, existsSync } from 'node:fs'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; import { CONFIG } from '../../shared/config.js'; let geldig = true; const echt = await import('../../server/license.mjs'); mock.module('../../server/license.mjs', { namedExports: { ...echt, verifySignature: () => geldig }, }); const { installLicense } = await import('../../server/data/license-install.js'); const BODY = { buyer: 'a'.repeat(64), level: 'full', issued: '2026-09-19', majorFrom: 1, majorTo: 'unlimited' }; const BESTAND = JSON.stringify({ format: CONFIG.LICENSE.FORMAT, license: BODY, signature: 'b'.repeat(128) }); let DIR; let vorige; const pad = () => join(DIR, CONFIG.LICENSE.FILE_NAME); beforeEach(() => { vorige = process.env.ASSETAPP_DATA_DIR; DIR = mkdtempSync(join(tmpdir(), 'lic-inst-')); process.env.ASSETAPP_DATA_DIR = DIR; geldig = true; }); afterEach(() => { if (vorige === undefined) delete process.env.ASSETAPP_DATA_DIR; else process.env.ASSETAPP_DATA_DIR = vorige; rmSync(DIR, { recursive: true, force: true }); }); describe('een licentie installeren', () => { it('schrijft hem weg en meldt of hij deze versie dekt', async () => { const uit = await installLicense(BESTAND); assert.deepEqual(uit.license, BODY); assert.equal(typeof uit.covers, 'boolean'); assert.ok(existsSync(pad())); const opSchijf = JSON.parse(readFileSync(pad(), 'utf8')); assert.deepEqual(Object.keys(opSchijf), ['format', 'license', 'signature']); }); it('weigert onleesbare invoer met de reden erbij, en schrijft NIETS', async () => { await assert.rejects(() => installLicense('geen json'), (fout) => { assert.equal(fout.key, 'license.installUnreadable'); assert.match(fout.params.reason, /JSON/); return true; }); assert.equal(existsSync(pad()), false); }); it('weigert een verkeerde handtekening, en schrijft NIETS', async () => { geldig = false; await assert.rejects(() => installLicense(BESTAND), (fout) => { assert.equal(fout.key, 'license.installBadSignature'); return true; }); assert.equal(existsSync(pad()), false); }); it('LAAT EEN WERKENDE LICENTIE STAAN als de nieuwe niet deugt', async () => { await installLicense(BESTAND); const voor = readFileSync(pad(), 'utf8'); geldig = false; await assert.rejects(() => installLicense(JSON.stringify({ format: 1, license: { ...BODY, majorFrom: 9 }, signature: 'c'.repeat(128) }))); await assert.rejects(() => installLicense('{ kapot')); assert.equal(readFileSync(pad(), 'utf8'), voor, 'de bestaande licentie is aangeraakt'); }); it('overschrijft een BESTAAND bestand wel als de nieuwe deugt', async () => { writeFileSync(pad(), 'oude rommel'); await installLicense(BESTAND); assert.deepEqual(JSON.parse(readFileSync(pad(), 'utf8')).license, BODY); }); });