Version 2.0.0 - update of everything
This commit is contained in:
85 files changed
+13065
-2107
No files matched your search
@@ -0,0 +1,46 @@
|
||||
// Environnement de test : loguix dans le scratchpad, données YouTube isolées (jamais backend/data/youtube)
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
const os = require('os');
|
||||
|
||||
const BACKEND = require("path").resolve(__dirname, "../..");
|
||||
// Données jetables hors du dépôt
|
||||
const SCRATCH = path.join(os.tmpdir(), 'chopin-tests');
|
||||
fs.mkdirSync(SCRATCH, { recursive: true });
|
||||
const LOGS = path.join(__dirname, 'logs');
|
||||
fs.mkdirSync(LOGS, { recursive: true });
|
||||
|
||||
const loguix = require(path.join(BACKEND, 'node_modules', 'loguix'));
|
||||
loguix.setup(LOGS, path.join(BACKEND, 'package.json'));
|
||||
|
||||
const { __glob } = require(path.join(BACKEND, 'src', 'utils', 'GlobalVars'));
|
||||
|
||||
function isolateData(name = 'ytdata') {
|
||||
const dir = fs.mkdtempSync(path.join(SCRATCH, `${name}-`));
|
||||
__glob.YOUTUBE_DIR = dir;
|
||||
__glob.YOUTUBE_COOKIES = path.join(dir, 'cookies.txt');
|
||||
__glob.YOUTUBE_STATE = path.join(dir, 'state.json');
|
||||
__glob.YOUTUBE_SETTINGS = path.join(dir, 'settings.json');
|
||||
// Le cache yt-dlp peut rester partagé entre les essais (dans le scratchpad)
|
||||
__glob.YOUTUBE_CACHE = path.join(SCRATCH, 'ytcache');
|
||||
// Par défaut aucun ancien fichier : chaque test choisit
|
||||
__glob.COOKIES = path.join(dir, 'legacy-none.txt');
|
||||
__glob.COOKIES_JSON = path.join(dir, 'legacy-none.json');
|
||||
return dir;
|
||||
}
|
||||
|
||||
let failures = 0, passes = 0;
|
||||
function check(name, cond, extra) {
|
||||
if (cond) { passes++; console.log(` ok ${name}`); }
|
||||
else { failures++; console.log(` FAIL ${name}${extra !== undefined ? ' -> ' + JSON.stringify(extra) : ''}`); }
|
||||
}
|
||||
function done() {
|
||||
console.log(`\n${passes} ok, ${failures} échec(s)`);
|
||||
process.exitCode = failures ? 1 : 0;
|
||||
}
|
||||
function req(rel) { return require(path.join(BACKEND, rel)); }
|
||||
function chopinTmpDirs() {
|
||||
return fs.readdirSync(os.tmpdir()).filter(e => e.startsWith('chopin-ytc-'));
|
||||
}
|
||||
|
||||
module.exports = { BACKEND, SCRATCH, __glob, isolateData, check, done, req, chopinTmpDirs };
|
||||
Reference in new issue
Block a user