CH-J Server Managergestion de serveur sur SSH
Menu
Source publiée

CH-J Server Manager

Parcourez les répertoires et les fichiers pour une version spécifique de l'application.

Télécharger la source ZIP
CH-J / Server Manager 339 fichiers
core-20261014T184258Z-3fbed0b93fdf Ajouté: Date non enregistrée · Construit:
Fichiers
logService.test.js Ajouté: Date non enregistrée 1,3 KB · 27 lignes
Télécharger le fichier
1"use strict";
3const test = require("node:test");
4const assert = require("node:assert/strict");
5const fs = require("node:fs");
6const os = require("node:os");
7const path = require("node:path");
8const { LogService, MAX_LIMIT, normalizeLimit } = require("../src/main/logging/logService");
10test("log service returns a bounded tail without a partial first record", async (t) => {
11 const root = fs.mkdtempSync(path.join(os.tmpdir(), "chj-log-"));
12 t.after(() => fs.rmSync(root, { recursive: true, force: true }));
13 const logPath = path.join(root, "core.log");
14 fs.writeFileSync(logPath, "first-record\nsecond-record\nthird-record\n");
15 const result = await new LogService(logPath).readTail({ maxBytes: 29 });
16 assert.equal(result.text, "second-record\nthird-record\n");
17 assert.equal(result.truncated, true);
18 assert.equal(result.size, 40);
19 assert.match(result.readAt, /^\d{4}-\d{2}-\d{2}T/);
20});
22test("log service handles a missing log and caps read limits", async (t) => {
23 const root = fs.mkdtempSync(path.join(os.tmpdir(), "chj-log-missing-"));
24 t.after(() => fs.rmSync(root, { recursive: true, force: true }));
25 assert.equal(normalizeLimit(Number.MAX_SAFE_INTEGER), MAX_LIMIT);
26 assert.equal((await new LogService(path.join(root, "missing.log")).readTail()).text, "");
27});
SHA-25683099441b516dc585e5dbebf22dc6c8fa3df77e539538f2b8673e6869e7bf137

CH-J Proprietary Software License 1.14 · La source est fournie sous CH-J Proprietary Software License 1.14. Sa disponibilité ne modifie pas les termes de la licence ni n'accorde de droits supplémentaires.

Archive SHA-2563df08cf5e899262a6ce92d7ec2caf5c42b683f1f2b57055662b845ff7dde67a8