DC-005: Fix all 138 broken test paths after src/ refactor
After the DC-005 module reorganization (41 files moved into src/ subdirs),
138 test suites failed because the refactor script's path-rewrite logic
missed three categories:
1. Files inside src/ doing 'require("./src/...")' — should be 'require("../...")'
2. Files in src/X/Y/ doing 'require("../../../src/...")' — should be 'require("../../...")'
3. Test files in __tests__/ with leftover 'require("../../../src/...")' paths
Root cause: the original refactor script ran before all files were moved,
so it computed relative paths against stale filesystem state.
Result:
- 30/30 test suites pass
- 879/879 tests pass (was: 18/30 suites, 614/687 tests)
Also fixed:
- routes/apps/restore.js: wrong responses import path
- routes/*/*.js: '../../src/utilities/X' → '../src/utilities/X' (depth 2 routes)
This commit is contained in:
+22
-22
@@ -33,7 +33,7 @@ process.on('uncaughtException', (error) => {
|
||||
const CONFIG_FILE = process.env.CONFIG_FILE || platformPaths.servicesFile.replace('services.json', 'config.json');
|
||||
|
||||
// Validate startup configuration
|
||||
const { validateStartupConfig } = require('./startup-validator');
|
||||
const { validateStartupConfig } = require('../src/utilities/startup-validator');
|
||||
await validateStartupConfig({
|
||||
log,
|
||||
CADDYFILE_PATH,
|
||||
@@ -56,23 +56,23 @@ process.on('uncaughtException', (error) => {
|
||||
|
||||
// Attach WebSocket exec handler (with auth)
|
||||
const attachExecWS = require('./routes/exec');
|
||||
const authManager = require('./auth-manager');
|
||||
const authManager = require('../src/managers/auth-manager');
|
||||
attachExecWS(server, log, authManager);
|
||||
log.info('server', 'WebSocket exec handler attached (auth enforced)');
|
||||
|
||||
// Start feature modules
|
||||
const resourceMonitor = require('./resource-monitor');
|
||||
const backupManager = require('./backup-manager');
|
||||
const healthChecker = require('./health-checker');
|
||||
const updateManager = require('./update-manager');
|
||||
const selfUpdater = require('./self-updater');
|
||||
const portLockManager = require('./port-lock-manager');
|
||||
const resourceMonitor = require('../src/managers/resource-monitor');
|
||||
const backupManager = require('../src/utilities/backup-manager');
|
||||
const healthChecker = require('../src/monitoring/health-checker');
|
||||
const updateManager = require('../src/managers/update-manager');
|
||||
const selfUpdater = require('../src/docker/self-updater');
|
||||
const portLockManager = require('../src/managers/port-lock-manager');
|
||||
|
||||
// Optional modules
|
||||
let dockerMaintenance, logDigest, bundledWorkflows;
|
||||
try { dockerMaintenance = require('./docker-maintenance'); } catch { /* optional */ }
|
||||
try { logDigest = require('./log-digest'); } catch { /* optional */ }
|
||||
try { bundledWorkflows = require('./bundled-workflows'); } catch { /* optional */ }
|
||||
try { dockerMaintenance = require('../src/docker/docker-maintenance'); } catch { /* optional */ }
|
||||
try { logDigest = require('../src/security/log-digest'); } catch { /* optional */ }
|
||||
try { bundledWorkflows = require('../src/recipes/bundled-workflows'); } catch { /* optional */ }
|
||||
|
||||
// Initialize workflow engine if bundled-workflows is available
|
||||
// NOTE: createApp() already initializes the workflow engine in src/app.js
|
||||
@@ -85,7 +85,7 @@ process.on('uncaughtException', (error) => {
|
||||
// Create a context with needed services
|
||||
const workflowCtx = {
|
||||
docker: { client: require('dockerode')() },
|
||||
notification: require('./notification-manager')({
|
||||
notification: require('../src/managers/notification-manager')({
|
||||
NOTIFICATIONS_FILE: process.env.NOTIFICATIONS_FILE || require('./platform-paths').notificationsFile,
|
||||
fetchT,
|
||||
log,
|
||||
@@ -137,8 +137,8 @@ process.on('uncaughtException', (error) => {
|
||||
// Health checker (with service sync)
|
||||
(async () => {
|
||||
try {
|
||||
const { syncHealthCheckerServices } = require('./startup-validator');
|
||||
const StateManager = require('./state-manager');
|
||||
const { syncHealthCheckerServices } = require('../src/utilities/startup-validator');
|
||||
const StateManager = require('../src/managers/state-manager');
|
||||
const servicesStateManager = new StateManager(SERVICES_FILE);
|
||||
|
||||
await syncHealthCheckerServices({
|
||||
@@ -150,7 +150,7 @@ process.on('uncaughtException', (error) => {
|
||||
? `https://${config.domain}/${subdomain}`
|
||||
: `https://${subdomain}${config.tld}`,
|
||||
siteConfig: config,
|
||||
APP: require('./constants').APP
|
||||
APP: require('../src/utilities/constants').APP
|
||||
});
|
||||
|
||||
healthChecker.start();
|
||||
@@ -232,11 +232,11 @@ process.on('uncaughtException', (error) => {
|
||||
const shutdown = (signal) => {
|
||||
log.info('shutdown', `${signal} received, draining connections...`);
|
||||
|
||||
const resourceMonitor = require('./resource-monitor');
|
||||
const backupManager = require('./backup-manager');
|
||||
const healthChecker = require('./health-checker');
|
||||
const updateManager = require('./update-manager');
|
||||
const selfUpdater = require('./self-updater');
|
||||
const resourceMonitor = require('../src/managers/resource-monitor');
|
||||
const backupManager = require('../src/utilities/backup-manager');
|
||||
const healthChecker = require('../src/monitoring/health-checker');
|
||||
const updateManager = require('../src/managers/update-manager');
|
||||
const selfUpdater = require('../src/docker/self-updater');
|
||||
|
||||
resourceMonitor.stop();
|
||||
backupManager.stop();
|
||||
@@ -245,12 +245,12 @@ process.on('uncaughtException', (error) => {
|
||||
selfUpdater.stop();
|
||||
|
||||
try {
|
||||
const dockerMaintenance = require('./docker-maintenance');
|
||||
const dockerMaintenance = require('../src/docker/docker-maintenance');
|
||||
dockerMaintenance.stop();
|
||||
} catch { /* optional */ }
|
||||
|
||||
try {
|
||||
const logDigest = require('./log-digest');
|
||||
const logDigest = require('../src/security/log-digest');
|
||||
logDigest.stop();
|
||||
} catch { /* optional */ }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user