インフラストラクチャ層テスト
DB統合テスト(Testcontainers + PostgreSQL)
- 各リポジトリの CRUD 操作が正しく動作すること
- 複雑なクエリ(集計、結合)の結果が正しいこと
- Testcontainers を使い、テストごとにクリーンなDB環境を用意
RLSポリシーテスト(テナント分離の検証)
SET app.current_tenant_idによるテナント分離が正しく機能すること- テナントAのデータがテナントBから参照不可であること
- RLSバイパス(
.IgnoreQueryFilters())が意図した箇所でのみ機能すること
マイグレーションテスト(Expand/Contract パターン)
- マイグレーションの Up/Down が正しく動作すること
- Expand/Contract パターンによるゼロダウンタイムマイグレーションの検証
- データ互換性の確認(既存データが正しく移行されること)
外部API連携テスト(WireMock.Net)
- 外部API(e-Tax等)との連携が正しく動作すること
- WireMock.Net によるモックサーバーで、正常系・異常系・タイムアウトをテスト
- レスポンスのデシリアライズが正しいこと
マイナンバー暗号化/復号のテスト
- AES-256 暗号化・復号のラウンドトリップが正しいこと
encrypted_mynumberとmynumber_last4の生成が正しいこと- 認可なしでの復号が拒否されること
- 鍵ローテーション時のデュアルキー方式が正しく機能すること