From 5f604b577d527f30e190313812e112bd03ceb444 Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Thu, 24 Apr 2025 20:14:01 +0100 Subject: [PATCH] build(*): Add support for fallback test mode --- .github/workflows/ci.yml | 6 ++++++ src/lib/agent/services/agentService.ts | 11 ++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6337bc..d63c136 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,3 +23,9 @@ jobs: run: pnpm exec playwright install - name: Run Playwright/BDD tests run: npm run bdd:full + env: + NODE_ENV: test + AI_FOUNDRY_PROJECT_CONNECTION_STRING: test + AI_MODEL=gpt-4o + VITE_PARTYKIT_BASE_URL=wss://partykit.jcreek.partykit.dev + PARTYKIT_BASE_URL=wss://partykit.jcreek.partykit.dev diff --git a/src/lib/agent/services/agentService.ts b/src/lib/agent/services/agentService.ts index 603e7ec..c64fd2e 100644 --- a/src/lib/agent/services/agentService.ts +++ b/src/lib/agent/services/agentService.ts @@ -11,15 +11,20 @@ import { } from '../tools/index'; import { AI_FOUNDRY_PROJECT_CONNECTION_STRING, AI_MODEL } from '$env/static/private'; -if (!AI_FOUNDRY_PROJECT_CONNECTION_STRING) { +const isTestEnv = process.env.NODE_ENV === 'test' || AI_FOUNDRY_PROJECT_CONNECTION_STRING === 'test'; + +const safeConnString = AI_FOUNDRY_PROJECT_CONNECTION_STRING || (isTestEnv ? 'dummy-connection-string' : undefined); +const safeModel = AI_MODEL || (isTestEnv ? 'dummy-model' : undefined); + +if (!safeConnString && !isTestEnv) { throw new Error('AI_FOUNDRY_PROJECT_CONNECTION_STRING is not set'); } -if (!AI_MODEL) { +if (!safeModel && !isTestEnv) { throw new Error('AI_MODEL is not set'); } export const client = AIProjectsClient.fromConnectionString( - AI_FOUNDRY_PROJECT_CONNECTION_STRING, + safeConnString!, new DefaultAzureCredential() );