CR-FASTAPI-022: TS SDK E2E 用 API Key 自動発行 helper - 完了レポート

1. 実装日時

2025年12月9日

2. 目的・ゴール

TypeScript SDK の E2E テスト実行時に、毎回人間が NEXUSCORE_API_KEY を設定するのではなく、NEXUSCORE_BOOTSTRAP_API_KEY から自動的にテスト用 API Key を用意できるようにする。

3. 実装ステップの要約

  1. Helper 実装:
    • sdk/typescript/tests/utils/apikey_helper.ts を新規作成
    • getE2EApiKey() 関数を実装
    • 優先順位: NEXUSCORE_API_KEYNEXUSCORE_BOOTSTRAP_API_KEY から発行 → null(スキップ)
    • axios を使用して POST /api/v1/api-keys を呼び出し
    • エラーハンドリング(サーバー未起動、認証エラーなど)
  2. E2E テスト修正:
    • sdk/typescript/tests/test_projects_e2e.test.ts を修正
    • getE2EApiKey() を使用するように変更
    • API Key が取得できない場合はテストをスキップ
  3. ドキュメント更新:
    • sdk/typescript/README.md に E2E テスト実行方法を追加
    • README.md に TypeScript E2E テスト用のフローを追加
    • docs/api/README.md に API Key 運用フローを追加

4. 変更ファイル一覧

  • 新規作成:
    • sdk/typescript/tests/utils/apikey_helper.ts
    • docs/api/CR-FASTAPI-022_完了報告.md
  • 変更:
    • sdk/typescript/tests/test_projects_e2e.test.ts
    • sdk/typescript/README.md
    • README.md
    • docs/api/README.md

5. 実行したテストコマンドと結果

cd sdk/typescript
npm test -- tests/test_projects_e2e.test.ts

結果: E2E テストが正常に動作(API Key が自動発行される)

6. 設計上の改善点

  • Helper 関数により、E2E テストのセットアップが簡素化
  • Bootstrap API Key から自動発行することで、CI/CD での運用が容易に
  • API Key が取得できない場合はテストをスキップし、CI の安定性を確保

7. 既知の制約・今後の課題

  • FastAPI サーバーが起動していない場合はテストをスキップ(エラーにはしない)
  • Bootstrap API Key が無効な場合もテストをスキップ(エラーにはしない)

8. 次のステップ

  • CI/CD パイプラインでの使用を検証
  • 他の E2E テスト(Python SDK など)でも同様の helper を検討

This site uses Just the Docs, a documentation theme for Jekyll.