forked from farhoodlabs/paperclip
42b326bcc6
Address QA review feedback on the signoff e2e suite (86b24a5e): - Use dedicated port 3199 with local_trusted mode to avoid reusing the dev server in authenticated mode (fixes 403 errors) - Add proper agent authentication via API keys + heartbeat run IDs - Fix non-participant test to actually verify access control rejection - Add afterAll cleanup (dispose contexts, revoke keys, delete agents) - Reviewers/approvers PATCH without checkout to preserve in_review state Co-Authored-By: Paperclip <noreply@paperclip.ing>
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { defineConfig } from "@playwright/test";
|
|
|
|
// Use a dedicated port so e2e tests always start their own server in local_trusted mode,
|
|
// even when the dev server is running on :3100 in authenticated mode.
|
|
const PORT = Number(process.env.PAPERCLIP_E2E_PORT ?? 3199);
|
|
const BASE_URL = `http://127.0.0.1:${PORT}`;
|
|
|
|
export default defineConfig({
|
|
testDir: ".",
|
|
testMatch: "**/*.spec.ts",
|
|
timeout: 60_000,
|
|
retries: 0,
|
|
use: {
|
|
baseURL: BASE_URL,
|
|
headless: true,
|
|
screenshot: "only-on-failure",
|
|
trace: "on-first-retry",
|
|
},
|
|
projects: [
|
|
{
|
|
name: "chromium",
|
|
use: { browserName: "chromium" },
|
|
},
|
|
],
|
|
// The webServer directive starts `paperclipai run` before tests.
|
|
// Expects `pnpm paperclipai` to be runnable from repo root.
|
|
webServer: {
|
|
command: `pnpm paperclipai run`,
|
|
url: `${BASE_URL}/api/health`,
|
|
reuseExistingServer: !process.env.CI,
|
|
timeout: 120_000,
|
|
stdout: "pipe",
|
|
stderr: "pipe",
|
|
env: {
|
|
...process.env,
|
|
PORT: String(PORT),
|
|
PAPERCLIP_DEPLOYMENT_MODE: "local_trusted",
|
|
},
|
|
},
|
|
outputDir: "./test-results",
|
|
reporter: [["list"], ["html", { open: "never", outputFolder: "./playwright-report" }]],
|
|
});
|