"use strict"; const { test, describe } = require("node:test"); const assert = require("node:assert/strict"); const { loadConfig } = require("../src/config"); const { ConfigError } = require("../src/errors"); describe("config", () => { test("loads default configuration with generated password", () => { const config = loadConfig({}); assert.equal(config.PORT, 3000); assert.equal(config.APP_USER, "admin"); assert.equal(typeof config.APP_PASSWORD, "string"); assert.ok(config.APP_PASSWORD.length > 8); assert.equal(config.isGeneratedPassword, true); assert.equal(config.LOG_LEVEL, "info"); assert.equal(config.EDIT_MAX_DIMENSION, 1024); assert.equal(config.UPSCALE_MAX_DIMENSION, 2048); assert.equal(config.CODEX_CONCURRENCY, 1); assert.equal(config.UPSCALE_CONCURRENCY, 2); assert.equal(config.MAX_QUEUED_JOBS, 5); assert.equal(config.SSE_ENABLED, true); assert.equal(config.SESSION_PERSIST, true); }); test("applies environment variable overrides", () => { const env = { PORT: "8080", COMFY_URL: "http://10.0.0.5:8188", APP_USER: "customuser", APP_PASSWORD: "secretpassword123", LOG_LEVEL: "debug", EDIT_MAX_DIMENSION: "512", CODEX_CONCURRENCY: "2", UPSCALE_CONCURRENCY: "4", MAX_QUEUED_JOBS: "10", SSE_ENABLED: "false", SESSION_PERSIST: "0", TRUST_PROXY: "true", }; const config = loadConfig(env); assert.equal(config.PORT, 8080); assert.equal(config.COMFY_URL, "http://10.0.0.5:8188"); assert.equal(config.APP_USER, "customuser"); assert.equal(config.APP_PASSWORD, "secretpassword123"); assert.equal(config.isGeneratedPassword, false); assert.equal(config.LOG_LEVEL, "debug"); assert.equal(config.EDIT_MAX_DIMENSION, 512); assert.equal(config.CODEX_CONCURRENCY, 2); assert.equal(config.UPSCALE_CONCURRENCY, 4); assert.equal(config.MAX_QUEUED_JOBS, 10); assert.equal(config.SSE_ENABLED, false); assert.equal(config.SESSION_PERSIST, false); assert.equal(config.TRUST_PROXY, true); }); test("throws ConfigError on invalid values", () => { assert.throws( () => loadConfig({ PORT: "99999" }), (err) => err instanceof ConfigError && err.issues.length > 0 ); assert.throws( () => loadConfig({ COMFY_URL: "not-a-url" }), (err) => err instanceof ConfigError ); assert.throws( () => loadConfig({ LOG_LEVEL: "invalid_level" }), (err) => err instanceof ConfigError ); }); test("getSanitized() masks APP_PASSWORD", () => { const config = loadConfig({ APP_PASSWORD: "supersecretpass" }); const sanitized = config.getSanitized(); assert.equal(sanitized.APP_PASSWORD, undefined); assert.equal(sanitized.APP_PASSWORD_SET, true); assert.equal(sanitized.APP_USER, "admin"); }); });