Files
AtreidesAssetsFree/tests/server/free-license.test.mjs
T

43 lines
2.1 KiB
JavaScript
Raw Permalink Normal View History

2026-10-29 11:57:29 +01:00
// 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);
});
});