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. 実装ステップの要約
- Helper 実装:
sdk/typescript/tests/utils/apikey_helper.tsを新規作成getE2EApiKey()関数を実装- 優先順位:
NEXUSCORE_API_KEY→NEXUSCORE_BOOTSTRAP_API_KEYから発行 →null(スキップ) axiosを使用してPOST /api/v1/api-keysを呼び出し- エラーハンドリング(サーバー未起動、認証エラーなど)
- E2E テスト修正:
sdk/typescript/tests/test_projects_e2e.test.tsを修正getE2EApiKey()を使用するように変更- API Key が取得できない場合はテストをスキップ
- ドキュメント更新:
sdk/typescript/README.mdに E2E テスト実行方法を追加README.mdに TypeScript E2E テスト用のフローを追加docs/api/README.mdに API Key 運用フローを追加
4. 変更ファイル一覧
- 新規作成:
sdk/typescript/tests/utils/apikey_helper.tsdocs/api/CR-FASTAPI-022_完了報告.md
- 変更:
sdk/typescript/tests/test_projects_e2e.test.tssdk/typescript/README.mdREADME.mddocs/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 を検討