import { test } from 'node:test'; import assert from 'node:assert/strict'; import fs from 'node:fs'; import os from 'node:os'; import path from 'node:path'; import { loadEnvFile } from '../server/env.js'; test('.env laden ohne bestehende Variablen zu überschreiben', () => { const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'rot-')); const file = path.join(dir, '.env'); fs.writeFileSync(file, '# Kommentar\nROT_A=eins\nROT_B="zwei drei" \nROT_C=vier # optional\nexport ROT_D=\'fünf\'\nROT_E=\nROT_F= # optional Erklärung\nROT_G=wert # Kommentar\n'); process.env.ROT_A = 'vorher'; assert.equal(loadEnvFile(file), true); assert.equal(process.env.ROT_A, 'vorher'); assert.equal(process.env.ROT_B, 'zwei drei'); assert.equal(process.env.ROT_C, 'vier'); assert.equal(process.env.ROT_D, 'fünf'); assert.equal(process.env.ROT_E, ''); assert.equal(process.env.ROT_F, '', 'Kommentar nach leerem Wert ist kein Wert'); assert.equal(process.env.ROT_G, 'wert'); assert.equal(loadEnvFile(path.join(dir, 'fehlt')), false); });