test: lock updater 3.4 start chain contract
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
import { existsSync, readFileSync } from 'node:fs';
|
||||
import { join, resolve } from 'node:path';
|
||||
|
||||
const root = resolve(import.meta.dirname, '..');
|
||||
const failures = [];
|
||||
const assert = (condition, message) => { if (!condition) failures.push(message); };
|
||||
const read = path => readFileSync(join(root, path), 'utf8');
|
||||
|
||||
const files = [
|
||||
'UPDATE_VENDOO.bat',
|
||||
'scripts/updater/Vendoo.Updater.Preflight.ps1',
|
||||
'scripts/update-vendoo-gui.ps1',
|
||||
'scripts/updater/Vendoo.Updater.UI.ps1',
|
||||
'scripts/updater/Vendoo.Updater.Host.ps1',
|
||||
'scripts/updater/Vendoo.Updater.Worker34.ps1',
|
||||
];
|
||||
for (const file of files) assert(existsSync(join(root, file)), `Updater-Startdatei fehlt: ${file}`);
|
||||
|
||||
if (existsSync(join(root, 'UPDATE_VENDOO.bat'))) {
|
||||
const starter = read('UPDATE_VENDOO.bat');
|
||||
assert(starter.includes('Production Updater 3.4 preflight'), 'Root-Starter meldet nicht Updater 3.4.');
|
||||
assert(starter.includes('Vendoo.Updater.Preflight.ps1'), 'Root-Starter startet den Preflight nicht.');
|
||||
assert(!starter.includes('Production Updater 3.3'), 'Root-Starter enthält noch die alte 3.3-Bezeichnung.');
|
||||
}
|
||||
|
||||
if (existsSync(join(root, 'scripts/updater/Vendoo.Updater.Preflight.ps1'))) {
|
||||
const preflight = read('scripts/updater/Vendoo.Updater.Preflight.ps1');
|
||||
assert(preflight.includes("$UpdaterVersion = '3.4.0'"), 'Preflight meldet nicht Version 3.4.0.');
|
||||
assert(preflight.includes('Vendoo.Updater.Worker34.ps1'), 'Preflight prüft Worker34 nicht.');
|
||||
assert(!preflight.includes("Vendoo.Updater.Worker.ps1'"), 'Preflight verlangt weiterhin den entfernten Worker 3.3.');
|
||||
}
|
||||
|
||||
if (existsSync(join(root, 'scripts/update-vendoo-gui.ps1'))) {
|
||||
assert(read('scripts/update-vendoo-gui.ps1').includes('Vendoo.Updater.UI.ps1'), 'GUI-Bootstrap startet die Updater-UI nicht.');
|
||||
}
|
||||
|
||||
if (existsSync(join(root, 'scripts/updater/Vendoo.Updater.UI.ps1'))) {
|
||||
const ui = read('scripts/updater/Vendoo.Updater.UI.ps1');
|
||||
assert(ui.includes("$UpdaterVersion = '3.4.0'"), 'UI meldet nicht Version 3.4.0.');
|
||||
assert(ui.includes('Vendoo.Updater.Host.ps1'), 'UI startet den Host nicht.');
|
||||
assert(ui.includes('Vendoo.Updater.Worker34.ps1'), 'UI übergibt Worker34 nicht an den Host.');
|
||||
assert(!ui.includes("Vendoo.Updater.Worker.ps1'"), 'UI verweist weiterhin auf den entfernten Worker 3.3.');
|
||||
}
|
||||
|
||||
if (existsSync(join(root, 'scripts/updater/Vendoo.Updater.Host.ps1'))) {
|
||||
const host = read('scripts/updater/Vendoo.Updater.Host.ps1');
|
||||
assert(host.includes("$UpdaterVersion = '3.4.0'"), 'Host meldet nicht Version 3.4.0.');
|
||||
assert(host.includes('[System.Management.Automation.Language.Parser]::ParseFile'), 'Host parst den Worker nicht vor der Ausführung.');
|
||||
}
|
||||
|
||||
if (existsSync(join(root, 'scripts/updater/Vendoo.Updater.Worker34.ps1'))) {
|
||||
assert(read('scripts/updater/Vendoo.Updater.Worker34.ps1').includes("$UpdaterVersion='3.4.0'"), 'Worker34 meldet nicht Version 3.4.0.');
|
||||
}
|
||||
|
||||
if (failures.length) {
|
||||
console.error(`Updater-3.4-Startketten-Gate fehlgeschlagen (${failures.length})`);
|
||||
failures.forEach(failure => console.error(`- ${failure}`));
|
||||
process.exit(1);
|
||||
}
|
||||
console.log('Updater-3.4-Startketten-Gate erfolgreich: Root-Starter, Preflight, UI, Host und Worker34 sind konsistent verdrahtet.');
|
||||
Reference in New Issue
Block a user