Skip to content

test(worker): Durable Object layer tests (store, tenant) via Miniflare #225

Description

@liplus-lin-lay

目的

#223 (PR #224) で純ロジック層(summarize / rate-limit / github-ip)を既存ハーネスでカバーした。残る本流の核心である Durable Object 層をテストする。

スコープ

  • worker/src/store.ts — events テーブルの ingest / pending-status / pending-events / webhook-events / event / mark-processed の SQL 挙動、broadcast。
  • worker/src/tenant.ts — installation の resolve / created / deleted、quota の check(atomic increment) / increment / decrement の境界。
  • 余力で worker/src/index.tsverifyGitHubSignature(HMAC-SHA256 署名検証)と webhook ingest フローの結線。

前提・制約

  • これらは DurableObject + ctx.storage.sql を使うため tsx --test では実行不可。@cloudflare/vitest-pool-workers(Miniflare) の導入が必要。
  • インフラ判断を伴う:(1) worker のテストランナーを tsx --test から vitest へ変更(または併存)、(2) @cloudflare/workers-types の transitive bump 対策としてバージョンをピン留め(過去の地雷)、(3) vitest.config 追加と CI ステップ更新。
  • 導入是非・粒度は実装前に Master 確認(新インフラ=ハーネス変更のため)。

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions