Skip to content

インフラストラクチャ層テスト

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_mynumbermynumber_last4 の生成が正しいこと
  • 認可なしでの復号が拒否されること
  • 鍵ローテーション時のデュアルキー方式が正しく機能すること