メインコンテンツまでスキップ

Unit Testing - Detailed Class Lists & Verification Points

Issue #415 対応: 全モジュール・クラス単位の詳細テスト計画


📋 テスト対象クラス一覧 (実在クラスのみ)

🔴 Critical Priority Modules (Coverage Target: 75-85%)

idp-server-core (OAuth/OIDC コアエンジン)

Token Management (最優先 - 11 classes)
クラス名責任範囲主要検証ポイント
TokenRequestHandlerトークンリクエスト処理• グラントタイプ別ルーティング
• エラーハンドリング
• プロトコル準拠
TokenRequestErrorHandlerトークンエラーハンドリング• エラー分類
• エラーレスポンス
• セキュリティ考慮
TokenRevocationHandlerトークン取り消し• 取り消し処理
• 関連トークン処理
• 監査ログ
TokenIntrospectionHandlerトークン検証• トークン有効性
• メタデータ取得
• 権限確認
TokenIntrospectionInternalHandler内部トークン検証• 内部トークン処理
• システム間認証
• セキュリティ制約
TokenIntrospectionExtensionHandler拡張トークン検証• 拡張機能対応
• カスタム検証
• プロトコル拡張
AuthorizationCodeGrantService認可コード フロー• コード検証・消費
• PKCE検証
• 状態管理
ClientCredentialsGrantServiceクライアント認証情報 フロー• クライアント認証
• スコープ検証
• トークン発行
RefreshTokenGrantServiceリフレッシュトークン フロー• トークン検証・更新
• スコープ制限
• ローテーション
ResourceOwnerPasswordCredentialsGrantServiceパスワードグラント フロー• ユーザー認証
• パスワード検証
• セキュリティ制約
OAuthTokenCreationServiceトークン生成サービス• JWT署名・暗号化
• クレーム設定
• 有効期限計算
Token Validators (最優先 - 6 classes)
クラス名責任範囲主要検証ポイント
TokenRequestValidatorトークンリクエスト検証• パラメータ検証
• 必須項目チェック
• フォーマット検証
TokenRequestCodeGrantValidatorコードグラント検証• 認可コード有効性
• リダイレクトURI一致
• クライアント認証
ClientCredentialsGrantValidatorクライアント認証情報検証• クライアント認証
• スコープ権限
• グラントタイプ許可
RefreshTokenGrantValidatorリフレッシュトークン検証• トークン有効性
• バインディング確認
• 取り消し状態
CibaGrantValidatorCIBA グラント検証• 認証リクエスト検証
• ユーザー同意確認
• デバイス認証
TokenIntrospectionValidatorトークン検証バリデータ• 検証リクエスト
• 権限確認
• セキュリティ制約
OAuth Authorization (高優先 - 5 classes)
クラス名責任範囲主要検証ポイント
OAuthHandlerOAuth基本処理• 基本フロー制御
• 共通処理
• エラーハンドリング
OAuthAuthorizeHandler認可エンドポイント処理• パラメータ解析
• 認証状態確認
• リダイレクト処理
OAuthRequestHandlerOAuthリクエスト処理• リクエスト解析
• セッション管理
• エラー応答
OAuthDenyHandler拒否処理ハンドラ• 拒否レスポンス
• エラー処理
• セキュリティ考慮
ClientAuthenticationHandlerクライアント認証処理• 認証方式判定
• 認証実行
• mTLS対応
OAuth Validators (高優先 - 2 classes)
クラス名責任範囲主要検証ポイント
OAuthAuthorizeRequestValidator認可リクエスト検証• 必須パラメータ
• クライアント検証
• スコープ妥当性
RequestObjectValidatorリクエストオブジェクト検証• JWT検証
• クレーム検証
• セキュリティ要件
Authentication & Identity (高優先 - 5 classes)
クラス名責任範囲主要検証ポイント
AuthenticationInteractors認証インタラクター管理• 認証方式選択
• インタラクター実行
• 結果統合
AuthenticationTransactionApi認証トランザクションAPI• 認証フロー管理
• 状態遷移
• セッション制御
IdPUserCreatorIDPユーザー作成• ユーザー作成ロジック
• 初期設定
• データ整合性
UserUpdaterユーザー更新• ユーザー情報更新
• 変更検証
• 履歴管理
UserAuthenticationApiユーザー認証API• 認証実行
• 認証結果処理
• セキュリティ制約

idp-server-platform (プラットフォーム基盤)

Security & Event Configuration (最優先 - 3 classes)
クラス名責任範囲主要検証ポイント
SecurityEventUserAttributeConfigurationセキュリティイベントユーザー属性設定• 属性設定管理
• テナント別設定
• セキュリティ制約
SecurityEventLogConfigurationセキュリティイベントログ設定• ログ設定管理
• フィルタリング
• 出力制御
SecurityEventHookConfigurationセキュリティイベントフック設定• フック設定管理
• 配信設定
• エラーハンドリング
Data & Transaction Management (高優先 - 3 classes)
クラス名責任範囲主要検証ポイント
TransactionManagerトランザクション管理• ACID保証
• 分散トランザクション
• ロールバック処理
SqlExecutorSQL実行• SQL実行処理
• パラメータ管理
• 例外処理
SqlErrorClassifierSQLエラー分類• エラー分類
• リトライ可否判定
• ログ出力
Database & Cache Management (中優先 - 3 classes)
クラス名責任範囲主要検証ポイント
ApplicationDatabaseTypeProviderアプリケーションDB種別プロバイダ• DB種別判定
• 設定管理
• 接続戦略
DbConnectionProviderDB接続プロバイダ• 接続プール
• 接続監視
• フェイルオーバー
CacheStoreキャッシュストア• キャッシュ戦略
• TTL管理
• 無効化処理

idp-server-use-cases (ユースケース層)

Management Services (高優先 - 7 classes)
クラス名責任範囲主要検証ポイント
UserManagementEntryServiceユーザー管理エントリサービス• CRUD操作
• 権限確認
• データ整合性
ClientManagementEntryServiceクライアント管理エントリサービス• クライアント設定
• 秘密情報管理
• 設定検証
AuthorizationServerManagementEntryService認可サーバー管理エントリサービス• 認可サーバー設定
• エンドポイント管理
• セキュリティ設定
TenantManagementEntryServiceテナント管理エントリサービス• テナント分離
• 設定管理
• リソース制限
RoleManagementEntryServiceロール管理エントリサービス• ロール定義
• 権限割り当て
• 継承処理
SecurityEventManagementEntryServiceセキュリティイベント管理• イベント処理
• 配信管理
• フィルタリング
AuditLogManagementEntryService監査ログ管理• ログ収集
• 検索・フィルタ
• 保持期間

🟡 High Priority Modules (Coverage Target: 70-80%)

idp-server-authentication-interactors (認証インタラクター)

Core Interactors (高優先 - 7 classes)
クラス名責任範囲主要検証ポイント
PasswordAuthenticationInteractorパスワード認証インタラクター• 認証ロジック
• パスワード検証
• ロック機能
SmsAuthenticationInteractorSMS認証インタラクター• SMS送信
• コード検証
• 再送制御
EmailAuthenticationInteractorメール認証インタラクター• メール送信
• リンク生成
• 有効期限管理
WebAuthnAuthenticationInteractorWebAuthn認証インタラクター• WebAuthn処理
• Assertion検証
• ユーザープレゼンス
WebAuthnRegistrationInteractorWebAuthn登録インタラクター• WebAuthn登録
• 認証器管理
• 公開鍵管理
FidoUafAuthenticationInteractorFIDO認証インタラクター• FIDO認証処理
• デバイス検証
• 署名確認
FidoUafRegistrationInteractorFIDO登録インタラクター• デバイス登録
• 公開鍵管理
• 証明書検証
Executors (中優先 - 3 classes)
クラス名責任範囲主要検証ポイント
WebAuthnExecutorWebAuthn実行• WebAuthn処理実行
• エラーハンドリング
• セキュリティ検証
EmailAuthenticationExecutorメール認証実行• メール認証実行
• 送信処理
• 状態管理
SmsAuthenticationExecutorSMS認証実行• SMS認証実行
• 送信処理
• 状態管理

idp-server-control-plane (コントロールプレーン)

Request Validators (高優先 - 2 classes)
クラス名責任範囲主要検証ポイント
OrganizationInitializeRequestValidator組織初期化リクエスト検証• 組織設定検証
• 初期化要件
• セキュリティ制約
IdpServerInitializeRequestValidatorIDPサーバー初期化リクエスト検証• サーバー設定検証
• 初期化パラメータ
• 依存関係確認
Management APIs (中優先 - 2 classes)
クラス名責任範囲主要検証ポイント
IdpServerOperationApiIDPサーバー運用API• サーバー運用
• 操作実行
• 状態管理
IdpServerStarterApiIDPサーバースターターAPI• サーバー起動処理
• 初期化実行
• エラーハンドリング

🟢 Medium Priority Modules (Coverage Target: 60-70%)

Extension Modules

idp-server-core-extension-ciba (CIBA拡張)
クラス名責任範囲主要検証ポイント
CibaRequestHandlerCIBAリクエスト処理• バックチャネル認証
• ユーザー識別
• 通知処理
CibaAuthorizeHandlerCIBA認可ハンドラ• CIBA認可処理
• ユーザー同意
• 認証完了
CibaGrantServiceCIBAグラントサービス• グラント管理
• 認証完了処理
• トークン発行
CibaRequestValidatorCIBAリクエスト検証• リクエスト検証
• ユーザー同意
• セキュリティ制約
idp-server-core-extension-fapi (FAPI拡張)
クラス名責任範囲主要検証ポイント
FapiAdvanceVerifierFAPI Advanced検証• 高度セキュリティ
• mTLS要件
• JARM対応
TlsClientAuthAuthenticatorTLSクライアント認証• mTLS認証
• 証明書検証
• セキュリティ確保
idp-server-core-extension-pkce (PKCE拡張)
クラス名責任範囲主要検証ポイント
PkceVerifierPKCE検証• Code Challenge
• Code Verifier
• 方式検証
CodeChallengeCalculatorコードチャレンジ計算• チャレンジ生成
• 暗号化処理
• エントロピー

Adapter Modules

idp-server-webauthn4j-adapter (WebAuthn統合)
クラス名責任範囲主要検証ポイント
WebAuthn4jCredentialDataSourceWebAuthnクレデンシャルデータソース• クレデンシャル管理
• データ永続化
• 検索・取得
WebAuthn4jCredentialSqlExecutorWebAuthnクレデンシャルSQL実行• SQL実行
• データ操作
• 例外処理

🔵 Low Priority Modules (Coverage Target: 40-60%)

idp-server-core-adapter (コアアダプター)

クラス名責任範囲主要検証ポイント
OAuthTokenCommandDataSourceOAuthトークンコマンドデータソース• トークンCRUD操作
• データ永続化
• 例外処理
OAuthTokenOperationCommandDataSourceOAuthトークン操作コマンドデータソース• トークン操作
• バッチ処理
• 整合性保証

🎯 検証ポイント詳細

Critical検証ポイント (全モジュール共通)

セキュリティ検証

  • 入力値検証: SQLインジェクション、XSS、コマンドインジェクション対策
  • 認証・認可: 権限確認、セッション管理、アクセス制御
  • 暗号化: 強度確保、鍵管理、プロトコル準拠
  • 監査ログ: セキュリティイベント記録、改ざん防止

プロトコル準拠性

  • OAuth 2.0: RFC 6749準拠、グラント型対応
  • OpenID Connect: Core 1.0準拠、クレーム処理
  • FAPI: Baseline/Advanced準拠、セキュリティ要件
  • CIBA: RFC準拠、バックチャネル認証

データ整合性

  • ACID特性: トランザクション整合性
  • 制約チェック: 外部キー、一意性制約
  • 状態管理: オブジェクト状態遷移
  • 並行制御: 競合状態、デッドロック対策

エラーハンドリング

  • 例外処理: 適切な例外タイプ、メッセージ
  • リトライ機能: 一時的障害対応
  • ログ出力: 詳細なエラー情報、追跡可能性
  • ユーザビリティ: 分かりやすいエラーメッセージ

パフォーマンス

  • レスポンス時間: SLA準拠、ベンチマーク
  • スループット: 同時アクセス対応
  • リソース使用量: メモリ、CPU効率
  • スケーラビリティ: 負荷増加対応

テスト実装優先順序 (実在クラスベース)

Phase 1 (Week 1-2): Foundation Testing

  1. idp-server-platform - 基盤クラス (10 classes)
  2. idp-server-core - トークン管理・検証 (17 classes)

Phase 2 (Week 3-4): Core Business Logic

  1. idp-server-core - OAuth認可・認証 (12 classes)
  2. idp-server-use-cases - 管理サービス (7 classes)

Phase 3 (Week 5-6): Authentication & Control

  1. idp-server-authentication-interactors (10 classes)
  2. idp-server-control-plane (5 classes)

Phase 4 (Week 7-8): Extensions & Adapters

  1. Extension modules - CIBA, FAPI, PKCE (8 classes)
  2. Adapter modules - WebAuthn, Core Adapter (4 classes)

合計実在クラス: 73 test classes、実現可能な65-75% overall coverage

この詳細計画により、各モジュールの責任範囲と検証ポイントが明確化され、系統的な単体テスト実装が可能になります。