// Generated, do not edit. sha256:c2d25713d25824d31233a0929d6996ce933fb3b072e93edf82eb9834146a3761 import { describe, it, after } from 'node:test'; import assert from 'node:assert/strict'; import { readFileSync, mkdtempSync, rmSync } from 'node:fs'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; const map = mkdtempSync(join(tmpdir(), 'gratis-licentie-')); const vorige = process.env.ASSETAPP_DATA_DIR; process.env.ASSETAPP_DATA_DIR = map; const { CONFIG } = await import('../../shared/config.js'); const { parseLicense, verifySignature, readLicense } = await import('../../server/license.mjs'); const { marketServiceStatus, marketConfigured } = await import('../../server/market-service.mjs'); const { writeActiveName } = await import('../../server/portfolios.mjs'); const tekst = readFileSync(new URL(`../../server/${CONFIG.LICENSE.FREE_FILE_NAME}`, import.meta.url), 'utf8'); after(() => { rmSync(map, { recursive: true, force: true }); if (vorige === undefined) delete process.env.ASSETAPP_DATA_DIR; else process.env.ASSETAPP_DATA_DIR = vorige; }); describe('de meegeleverde gratis licentie', () => { it('is getekend met de verkopersleutel van deze app, gratis, en geldt voor elke hoofdversie', () => { const parsed = parseLicense(tekst); assert.equal(verifySignature(parsed), true, 'de handtekening hoort niet bij de verkopersleutel in CONFIG'); assert.equal(parsed.license.level, 'free'); assert.equal(parsed.license.majorFrom, 1); assert.equal(parsed.license.majorTo, CONFIG.LICENSE.UNLIMITED); }); it('staat op het supportaccount van Atreides Services', () => { assert.equal(parseLicense(tekst).license.buyer, CONFIG.LICENSE.SUPPORT.RECIPIENT); }); it('geeft een installatie zonder eigen licentie iets om een token mee aan te vragen, zonder er haar licentie te worden', async () => { writeActiveName('Leeg'); assert.equal(readLicense().state, 'none', 'de gratis licentie geldt als geïnstalleerde licentie'); assert.equal((await marketServiceStatus()).can_register, true); assert.equal(await marketConfigured(), true); }); });