4ce4204b6c
CI / Lint (push) Failing after 2s
CI / Build (push) Has been skipped
SDK CI / PHP SDK (push) Failing after 1s
Split PHP SDK / PHP SDK tests (push) Failing after 1s
CI / Test (push) Failing after 1s
CI / Dashboard (push) Failing after 0s
SDK CI / JavaScript SDK (push) Failing after 0s
SDK CI / Python SDK (push) Failing after 2s
SDK CI / Java SDK (push) Failing after 1s
Split PHP SDK / Mirror sdk/php -> rmyndharis/openwa-php (push) Has been skipped
CI / Test (PostgreSQL migrations) (push) Failing after 7m47s
CI / Docker Build (push) Has been skipped
29 lines
1.5 KiB
TypeScript
29 lines
1.5 KiB
TypeScript
// e2e boot environment. Set BEFORE AppModule is imported (setupFiles phase) so the
|
|
// app boots against local SQLite with no Redis/queue and no production boot guard.
|
|
import { join } from 'path';
|
|
import { tmpdir } from 'os';
|
|
import { rmSync } from 'fs';
|
|
|
|
process.env.NODE_ENV = 'test';
|
|
process.env.DATABASE_TYPE = 'sqlite';
|
|
// Isolate the e2e data DB to a throwaway temp file so suites never pollute the developer's
|
|
// ./data/openwa.sqlite. e2e creates sessions/webhooks and doesn't self-clean, so without this they
|
|
// pile up across runs. Start each run from a fresh file.
|
|
const e2eDataDb = join(tmpdir(), `openwa-e2e-${process.pid}.sqlite`);
|
|
rmSync(e2eDataDb, { force: true });
|
|
process.env.DATABASE_NAME = e2eDataDb;
|
|
// Likewise isolate the auth/audit (main) DB, so e2e api-keys don't accumulate in ./data/main.sqlite.
|
|
const e2eMainDb = join(tmpdir(), `openwa-e2e-main-${process.pid}.sqlite`);
|
|
rmSync(e2eMainDb, { force: true });
|
|
process.env.MAIN_DATABASE_NAME = e2eMainDb;
|
|
process.env.QUEUE_ENABLED = 'false';
|
|
process.env.AUTO_START_SESSIONS = 'false';
|
|
// Keep the auth/audit + data schema zero-config for the test boot.
|
|
process.env.MAIN_DATABASE_SYNCHRONIZE = 'true';
|
|
process.env.DATABASE_SYNCHRONIZE = 'true';
|
|
// e2e suites burst many requests at the API; relax the per-second rate limit so the
|
|
// ThrottlerGuard (still wired) doesn't 429 a normal test run.
|
|
process.env.RATE_LIMIT_SHORT_LIMIT = '100000';
|
|
process.env.RATE_LIMIT_MEDIUM_LIMIT = '100000';
|
|
process.env.RATE_LIMIT_LONG_LIMIT = '100000';
|