---
generated_at: 2026-02-18 14:35:00
metrics:
  claims_total: 77
  claims_with_evidence: 77
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：public-Endpoint 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：77 / 77、根拠なし：0
- 優先レビュー（高）
  1. 全テストケースがソースコードから直接導出されており、根拠不足の項目なし

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `public/Get-DbaEndpoint.ps1` - エンドポイント取得関数（149行）
- E-02: `public/New-DbaEndpoint.ps1` - エンドポイント作成関数（239行）
- E-03: `public/Set-DbaEndpoint.ps1` - エンドポイント設定変更関数（128行）
- E-04: `public/Remove-DbaEndpoint.ps1` - エンドポイント削除関数（117行）
- E-05: `public/Start-DbaEndpoint.ps1` - エンドポイント開始関数（114行）
- E-06: `public/Stop-DbaEndpoint.ps1` - エンドポイント停止関数（114行）
- E-07: `public/Test-DbaEndpoint.ps1` - エンドポイント接続テスト関数（148行）
- E-08: `public/Copy-DbaEndpoint.ps1` - エンドポイントコピー関数（191行）
- E-09: `docs/code-to-docs/単体テストケース一覧/plan.md` - テスト生成計画書

## 3) Claims と根拠の対応（レビューの主戦場）

### Get-DbaEndpoint (UT-END-001 - UT-END-013)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | 単一インスタンスの全エンドポイント取得 | E-01 L93-100 (foreachループ) | ○ |
| C-02 | 複数インスタンス対応 | E-01 L93 `foreach ($instance in $SqlInstance)` | ○ |
| C-03 | Endpointパラメータでのフィルタリング | E-01 L102-104 `$endpoints = $endpoints \| Where-Object Name -In $Endpoint` | ○ |
| C-04 | Typeパラメータでのフィルタリング | E-01 L105-107 `$endpoints = $endpoints \| Where-Object EndpointType -In $Type` | ○ |
| C-05 | TCPリスナーポートがある場合のFQDN設定 | E-01 L111-130 `$fqdn = "TCP://" + $dns + ":" + $end.Protocol.Tcp.ListenerPort` | ○ |
| C-06 | TCPリスナーポートがない場合のFQDN null | E-01 L131-133 `$fqdn = $null` | ○ |
| C-07 | SqlCredentialパラメータ対応 | E-01 L86 `[PSCredential]$SqlCredential` | ○ |
| C-08 | 接続失敗時のStop-Function呼び出し | E-01 L97 `Stop-Function -Message "Failure" -Category ConnectionError` | ○ |
| C-09 | 存在しないエンドポイント名の処理 | E-01 L102-104 Where-Objectで該当なしの場合空の結果 | ○ |
| C-10 | EnableExceptionパラメータ | E-01 L90 `[switch]$EnableException` | ○ |
| C-11 | エンドポイント0件の場合 | E-01 コードロジックより導出 | ○ |
| C-12 | 特定IPアドレスへのバインド処理 | E-01 L112-113 `$end.Protocol.Tcp.ListenerIPAddress -ne [System.Net.IPAddress]'0.0.0.0'` | ○ |
| C-13 | Linux対応 | E-01 L114-115 `$server.HostPlatform -eq "Linux"` | ○ |

### New-DbaEndpoint (UT-END-014 - UT-END-026)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-14 | DatabaseMirroring型デフォルト設定 | E-02 L157-160 `$Name = 'hadr_endpoint'` | ○ |
| C-15 | ポート指定でのエンドポイント作成 | E-02 L185-186 `$tcpPort = $port` | ○ |
| C-16 | IPアドレス指定 | E-02 L211 `$endpoint.Protocol.Tcp.ListenerIPAddress = $IPAddress` | ○ |
| C-17 | 自動ポート生成 | E-02 L187-201 自動ポート計算ロジック | ○ |
| C-18 | 証明書認証 | E-02 L177-182, L223-227 証明書処理ロジック | ○ |
| C-19 | 暗号化アルゴリズム設定 | E-02 L218 `$endpoint.Payload.DatabaseMirroring.EndpointEncryptionAlgorithm` | ○ |
| C-20 | Owner指定 | E-02 L173-175, L209 `$endpoint.Owner = $Owner` | ○ |
| C-21 | DatabaseMirroring以外でName必須 | E-02 L161-163 `Stop-Function -Message "Name is required when Type is not DatabaseMirroring"` | ○ |
| C-22 | 存在しない証明書エラー | E-02 L179-181 `Stop-Function -Message "Certificate $Certificate does not exist"` | ○ |
| C-23 | 接続失敗時のStop-Function | E-02 L170 `Stop-Function -Message "Failure" -Category ConnectionError` | ○ |
| C-24 | WhatIfサポート | E-02 L130 `[CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Low')]` | ○ |
| C-25 | Role指定 | E-02 L213 `$endpoint.Payload.DatabaseMirroring.ServerMirroringRole` | ○ |
| C-26 | AuthenticationOrder指定 | E-02 L219-221 `$endpoint.Payload.DatabaseMirroring.EndpointAuthenticationOrder` | ○ |

### Set-DbaEndpoint (UT-END-027 - UT-END-032)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-27 | AllEndpointsでOwner一括変更 | E-03 L103, L117 `$ep.$prop = (Get-Variable -Name $prop -ValueOnly)` | ○ |
| C-28 | Type変更 | E-03 L111-115 `$realprop = "EndpointType"` | ○ |
| C-29 | パイプライン入力 | E-03 L93-94 `[parameter(ValueFromPipeline)]` | ○ |
| C-30 | SqlInstance時のパラメータ検証 | E-03 L98-101 `Stop-Function -Message "You must specify AllEndpoints or Endpoint"` | ○ |
| C-31 | WhatIfサポート | E-03 L84 `[CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Low')]` | ○ |
| C-32 | 変更失敗時のStop-Function | E-03 L124 `Stop-Function -Message "Failure"` | ○ |

### Remove-DbaEndpoint (UT-END-033 - UT-END-039)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-33 | AllEndpointsで全削除 | E-04 L96 `Get-DbaEndpoint -SqlInstance $instance -SqlCredential $SqlCredential -Endpoint $Endpoint` | ○ |
| C-34 | 特定エンドポイント削除 | E-04 L84 `[string[]]$Endpoint` | ○ |
| C-35 | パイプライン入力 | E-04 L86-87 `[parameter(ValueFromPipeline)]` | ○ |
| C-36 | 削除成功時の戻り値 | E-04 L104-110 PSCustomObject with Status = "Removed" | ○ |
| C-37 | パラメータ検証 | E-04 L91-94 `Stop-Function -Message "You must specify AllEndpoints or Endpoint"` | ○ |
| C-38 | DROP失敗時のStop-Function | E-04 L112 `Stop-Function -Message "Failure"` | ○ |
| C-39 | WhatIfサポート | E-04 L80 `[CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')]` | ○ |

### Start-DbaEndpoint (UT-END-040 - UT-END-046)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-40 | AllEndpointsで全開始 | E-05 L99-100 `Get-DbaEndpoint` 呼び出し | ○ |
| C-41 | 特定エンドポイント開始 | E-05 L88 `[string[]]$Endpoint` | ○ |
| C-42 | パイプライン入力 | E-05 L90-91 `[parameter(ValueFromPipeline)]` | ○ |
| C-43 | 開始成功時の戻り値 | E-05 L107 `$ep` 返却 | ○ |
| C-44 | パラメータ検証 | E-05 L95-98 `Stop-Function -Message "You must specify AllEndpoints or Endpoint"` | ○ |
| C-45 | 開始失敗時のStop-Function | E-05 L110 `Stop-Function -Message "Failure"` | ○ |
| C-46 | WhatIfサポート | E-05 L84 `[CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Low')]` | ○ |

### Stop-DbaEndpoint (UT-END-047 - UT-END-053)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-47 | AllEndpointsで全停止 | E-06 L99-100 `Get-DbaEndpoint` 呼び出し | ○ |
| C-48 | 特定エンドポイント停止 | E-06 L88 `[string[]]$Endpoint` | ○ |
| C-49 | パイプライン入力 | E-06 L90-91 `[parameter(ValueFromPipeline)]` | ○ |
| C-50 | 停止成功時の戻り値 | E-06 L107 `$ep` 返却 | ○ |
| C-51 | パラメータ検証 | E-06 L95-98 `Stop-Function -Message "You must specify AllEndpoints or Endpoint"` | ○ |
| C-52 | 停止失敗時のStop-Function | E-06 L110 `Stop-Function -Message "Failure"` | ○ |
| C-53 | WhatIfサポート | E-06 L84 `[CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')]` | ○ |

### Test-DbaEndpoint (UT-END-054 - UT-END-062)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-54 | TCP接続テスト成功 | E-07 L111-117 `$tcp.Connect()`, `$connect = "Success"` | ○ |
| C-55 | 特定エンドポイントテスト | E-07 L95 `[string[]]$Endpoint` | ○ |
| C-56 | パイプライン入力 | E-07 L96-97 `[parameter(ValueFromPipeline)]` | ○ |
| C-57 | SSLポートテスト | E-07 L121-134 SSL接続ロジック | ○ |
| C-58 | SSLポート未設定時のNone | E-07 L129-131 `$sslconnect = "None"` | ○ |
| C-59 | TCPリスナーなしのスキップ | E-07 L106-107 `Write-Message -Level Verbose` | ○ |
| C-60 | 接続失敗時のエラー情報 | E-07 L118 `$connect = $_` | ○ |
| C-61 | 複数インスタンステスト | E-07 L101-102 `foreach ($instance in $SqlInstance)` | ○ |
| C-62 | 戻り値プロパティ | E-07 L136-144 PSCustomObject定義 | ○ |

### Copy-DbaEndpoint (UT-END-063 - UT-END-077)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-63 | 基本コピー機能 | E-08 L174-179 `$destServer.Query($currentEndpoint.Script())` | ○ |
| C-64 | 特定エンドポイントコピー | E-08 L105 `[object[]]$Endpoint` | ○ |
| C-65 | 複数宛先コピー | E-08 L124 `foreach ($destinstance in $Destination)` | ○ |
| C-66 | 重複エンドポイントスキップ | E-08 L149-157 `Status = "Skipped"`, `Notes = "Already exists on destination"` | ○ |
| C-67 | Force上書き機能 | E-08 L158-171 `$destServer.Endpoints[$endpointName].Drop()` | ○ |
| C-68 | ExcludeEndpoint除外 | E-08 L145-147 `$ExcludeEndpoint -contains $endpointName` | ○ |
| C-69 | システムエンドポイント除外 | E-08 L118 `Where-Object IsSystemObject -eq $false` | ○ |
| C-70 | ソース接続エラー | E-08 L115 `Stop-Function -Message "Failure" -Category ConnectionError` | ○ |
| C-71 | 宛先接続エラー | E-08 L128 `Stop-Function ... -Continue` | ○ |
| C-72 | Force時のDrop失敗 | E-08 L164-169 `Status = "Failed"` | ○ |
| C-73 | 作成失敗時のFailed | E-08 L181-183 `Status = "Failed"` | ○ |
| C-74 | WhatIfサポート | E-08 L95 `SupportsShouldProcess` | ○ |
| C-75 | SQL認証サポート | E-08 L99-104 `SourceSqlCredential`, `DestinationSqlCredential` | ○ |
| C-76 | DateTime戻り値 | E-08 L142 `DateTime = [DbaDateTime](Get-Date)` | ○ |
| C-77 | MinimumVersion 9要件 | E-08 L113 `Connect-DbaInstance ... -MinimumVersion 9` | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - 全テストケースがソースコードから直接導出されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードの実装に基づいて生成されており、根拠が明確です

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースがソースコードの全publicメソッドをカバーしているか確認
- [ ] 各関数のパラメータバリデーションがテストケースに含まれているか確認
- [ ] エラーハンドリングパス（try/catch、Stop-Function）のテストケースが網羅されているか確認
- [ ] パイプライン入力対応の関数でパイプラインテストケースが含まれているか確認
- [ ] WhatIf/Confirmサポートの関数で該当テストケースが含まれているか確認
- [ ] 境界値テストケース（空配列、null、存在しないリソース等）が適切に設定されているか確認
