File
Blob: tests/vitest/cloudflare.ts
| 1 | import { fileURLToPath, URL } from "node:url"; |
| 2 | |
| 3 | import { cloudflareTest, readD1Migrations } from "@cloudflare/vitest-pool-workers"; |
| 4 | |
| 5 | const TEST_AI_MODE: string = "mock"; |
| 6 | const d1MigrationsPath = fileURLToPath(new URL("../../drizzle/d1", import.meta.url)); |
| 7 | |
| 8 | export function cloudflareWorkerPlugin() { |
| 9 | return cloudflareTest(async () => { |
| 10 | const d1Migrations = await readD1Migrations(d1MigrationsPath); |
| 11 | |
| 12 | return { |
| 13 | main: "./src/worker/index.ts", |
| 14 | remoteBindings: TEST_AI_MODE === "workers-ai", |
| 15 | wrangler: { configPath: "./wrangler.jsonc" }, |
| 16 | miniflare: { |
| 17 | compatibilityDate: "2026-03-01", |
| 18 | assets: { |
| 19 | directory: "./tests/assets", |
| 20 | }, |
| 21 | bindings: { |
| 22 | LOG_LEVEL: "warn", |
| 23 | ALLOWED_ORIGINS: "http://127.0.0.1,http://localhost,https://bland.test", |
| 24 | JWT_SECRET: "test-jwt-secret-deterministic-value", |
| 25 | TESSERA_OIDC_ISSUER: "https://tessera.test", |
| 26 | TESSERA_OIDC_CLIENT_ID: "bland-test", |
| 27 | TESSERA_OIDC_CLIENT_SECRET: "test-tessera-client-secret-deterministic", |
| 28 | SENTRY_DSN: "", |
| 29 | BLAND_AI_MODE: TEST_AI_MODE, |
| 30 | BLAND_AI_OPENAI_ENDPOINT: "", |
| 31 | BLAND_AI_OPENAI_API_KEY: "", |
| 32 | BLAND_AI_OPENAI_CHAT_MODEL: "", |
| 33 | BLAND_AI_OPENAI_SUMMARIZE_MODEL: "", |
| 34 | BLAND_AI_WORKERS_CHAT_MODEL: "", |
| 35 | BLAND_AI_WORKERS_SUMMARIZE_MODEL: "", |
| 36 | PUBLISHED_SITE_DOMAIN: "sites.test", |
| 37 | TEST_MIGRATIONS: d1Migrations, |
| 38 | }, |
| 39 | }, |
| 40 | }; |
| 41 | }); |
| 42 | } |