发布

  • [OPIK-6500] [QA] feat: add base fixtures for Opik 2.0 E2E suite (#6770)

    frostbyte_neo 发布于 2026-05-19 13:17:37 +00:00

    • [OPIK-6500] [QA] feat: add base fixtures for Opik 2.0 E2E suite

    • feat(fixtures): add base fixture with worker-scoped clients and testNamespace

    • feat(fixtures): add project fixture with SDK-create REST-delete

    • feat(fixtures): add scratch-dir fixture with per-test isolation

    • feat(fixtures): add failure-artifacts collector with capture API

    • feat(fixtures): add composition barrel as canonical import path

    • test(fixtures): add local smoke test for staging verification

    • test(fixtures): remove local smoke after staging verification

    • fix(artifacts): preserve only on failed/timedOut, not skipped/interrupted

    • feat(playwright): wire FastAPI bridge via webServer directive

    Playwright now spawns the opik-sdk-driver bridge automatically at the start
    of every test run, polls /health until ready, and shuts it down on exit.

    Subsequent test tickets (OPIK-6128 onwards) no longer need to manually start
    the bridge for staging verification — npx playwright test just works.

    reuseExistingServer is true outside CI so a locally-running bridge (from
    'uv run uvicorn ...' in another terminal during development) is reused
    instead of spawned twice.

    env block spreads process.env then layers OPIK_URL_OVERRIDE and
    OPIK_WORKSPACE on top. The bridge's Python SDK convention is
    OPIK_URL_OVERRIDE; the e2e suite uses OPIK_BASE_URL — the mapping happens
    here so test authors set one URL var.

    Verified against staging: full seed suite passes with bridge auto-spawned
    (3/3 sdk-clients tests, 6.6s, no manual uvicorn start).

    下载附件