visual-journal / src /app /api /images /route-test-setup.ts
gpt-image-playground deploy
Deploy 4770498 to Docker Space
a2c232b
Raw
History Blame Contribute Delete
2.8 kB
import { clearAppLogEntriesForTest } from '@/lib/app-logger';
import { afterEach, beforeEach } from 'node:test';
export function registerRouteTestLifecycle() {
let originalEnv: NodeJS.ProcessEnv;
const originalConsoleError = console.error;
beforeEach(() => {
originalEnv = { ...process.env };
console.error = () => {};
for (const key of Object.keys(process.env)) {
if (/^OPENAI_CHANNEL_\d+_/.test(key)) {
delete process.env[key];
}
}
delete process.env.APP_PASSWORD;
delete process.env.OPENAI_API_KEY;
delete process.env.OPENAI_API_BASE_URL;
delete process.env.OPENAI_UPSTREAM_PROXY_URL;
delete process.env.OPENAI_CHANNEL_1_ID;
delete process.env.OPENAI_CHANNEL_1_API_KEYS;
delete process.env.OPENAI_CHANNEL_1_BASE_URL;
delete process.env.OPENAI_CHANNEL_1_UPSTREAM_PROFILE;
delete process.env.OPENAI_CHANNEL_1_REQUEST_MODES;
delete process.env.OPENAI_CHANNEL_1_REQUEST_MODE_PRIORITY;
delete process.env.OPENAI_CHANNEL_1_MATSCA_APP_ID;
delete process.env.OPENAI_CHANNEL_1_MATSCA_APP_SECRET;
delete process.env.OPENAI_CHANNEL_RECOVERY_PROBE_ENABLED;
delete process.env.OPENAI_CHANNEL_RECOVERY_PROBE_INTERVAL_MS;
delete process.env.OPENAI_CHANNEL_RECOVERY_PROBE_TIMEOUT_MS;
delete process.env.OPENAI_CHANNEL_RECOVERY_PROBE_MAX_PER_TICK;
delete process.env.OPENAI_CHANNEL_REQUIRE_PROBE_FOR_RECOVERY;
delete process.env.OPENAI_CHANNEL_QUEUE_ENABLED;
delete process.env.OPENAI_CHANNEL_QUEUE_MAX_WAIT_MS;
delete process.env.OPENAI_CHANNEL_QUEUE_MAX_SIZE;
delete process.env.OPENAI_MAX_STREAMS_PER_CREDENTIAL;
delete process.env.OPENAI_ALLOWED_PLAIN_HTTP_API_BASE_URLS;
delete process.env.ENABLE_RESPONSES_IMAGE_BACKEND;
delete process.env.IMAGE_GENERATION_BACKEND;
delete process.env.OPENAI_RESPONSES_API_MODEL;
delete process.env.IMAGE_STREAMING_STRATEGY;
process.env.APP_LOG_LEVEL = 'warn';
process.env.NEXT_PUBLIC_IMAGE_STORAGE_MODE = 'indexeddb';
clearAppLogEntriesForTest();
});
afterEach(async () => {
const { resetServerChannelStateForTests } = await import('@/lib/server-channel-router');
resetServerChannelStateForTests();
clearAppLogEntriesForTest();
restoreProcessEnv(originalEnv);
console.error = originalConsoleError;
});
}
function restoreProcessEnv(snapshot: NodeJS.ProcessEnv) {
for (const key of Object.keys(process.env)) {
if (!(key in snapshot)) {
delete process.env[key];
}
}
for (const [key, value] of Object.entries(snapshot)) {
process.env[key] = value;
}
}