fix(okr): drift-laas kommando-antall og haandhev rapport utenfor bundlen
This commit is contained in:
parent
099cabfba6
commit
d63438581d
4 changed files with 92 additions and 8 deletions
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
import { test } from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, readdirSync, rmSync, symlinkSync } from 'node:fs';
|
||||
import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, readdirSync, existsSync, rmSync, symlinkSync } from 'node:fs';
|
||||
import { execFileSync } from 'node:child_process';
|
||||
import { tmpdir } from 'node:os';
|
||||
import { join } from 'node:path';
|
||||
|
|
@ -363,3 +363,30 @@ test('(19d) GDPR-posisjonen staar i governance og ender paa «behold, men skjerm
|
|||
'Datatilsynets vedtakskompetanse skal ikke siteres med paragrafnummer (kun delvis verifisert)',
|
||||
);
|
||||
});
|
||||
|
||||
test('(18j) CLI nekter aa skrive rapporten inn i bundlen den vurderer', () => {
|
||||
// Skriptets header lover at rapporten ALDRI havner i bundlen. Prosa som lover
|
||||
// noe koden ikke haandhever er nettopp det (19a) avviser for allowed-tools --
|
||||
// samme standard maa gjelde her. Rapporten i treet ville dessuten blitt
|
||||
// klassifisert av neste kjoering, altsaa selv-forurensning.
|
||||
//
|
||||
// Kjoerer mot en TMP-bundle, ikke den delte fixturen: i RED-fasen (foer vakten
|
||||
// fantes) skrev nettopp denne casen `rapport.md` inn i tests/fixtures/ og
|
||||
// roednet okf-check-suiten. Det er STATE-gotchaen «CLI-VERIFY SKRIVER I
|
||||
// FIXTUREN» -- en test som kan skitne til delt state, gjoer det til slutt.
|
||||
withTmp((tmp) => {
|
||||
const rot = join(tmp, 'bundle');
|
||||
mkdirSync(join(rot, 'dokumenter'), { recursive: true });
|
||||
writeFileSync(join(rot, 'dokumenter', 'notat.md'), '---\ntype: Notat\n---\n\n# Notat\n');
|
||||
|
||||
const r = kjor([rot, join(rot, 'rapport.md')]);
|
||||
assert.equal(r.code, 1, `forventet exit 1, fikk ${r.code}`);
|
||||
assert.match(r.stderr ?? '', /inne i bundlen/i, 'feilmeldingen skal si hvorfor');
|
||||
assert.ok(!existsSync(join(rot, 'rapport.md')), 'ingenting skal vaere skrevet i bundlen');
|
||||
|
||||
// Utenfor bundlen skal det fortsatt gaa fint.
|
||||
const ok = kjor([rot, join(tmp, 'rapport.md')]);
|
||||
assert.equal(ok.code, 0, `rapport utenfor bundlen skal gaa fint, fikk ${ok.code}`);
|
||||
assert.ok(existsSync(join(tmp, 'rapport.md')), 'rapporten skal vaere skrevet utenfor bundlen');
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue