# 📊 Momentry CLI 自動化測試報告

**測試日期**: 2026-05-01
**測試對象**: Momentry Core v1.0.0 (Port 3002)
**測試目標**: 驗證 CLI 指令與 API 的整合性及 Demo 流程

---

## 🧪 測試環境
*   **CLI 版本**: momentry-cli 1.0.0
*   **API Endpoint**: `http://localhost:3002`
*   **測試檔案**: `view15.mp4` (UUID: `53e3a229...`)

---

## 📋 測試結果總覽

| 步驟 | 測試項目 | 狀態 | 耗時 | 備註 |
| :--- | :--- | :---: | :---: | :--- |
| 1 | 註冊檔案 | ✅ | 0.04s | 成功取得 UUID |
| 2 | 取消註冊 | ❌ | 0.01s | API 回傳 404 Not Found |
| 3 | 重新註冊 | ✅ | 0.02s | 成功 |
| 4 | 觸發處理 | ❌ | 0.01s | API 回傳 400 Bad Request (需先 Probe) |
| 5 | 檔案探測 | ❌ | 0.02s | API 回傳 404 Not Found |
| 6 | 查詢臉部 | ✅ | 0.02s | 回傳 0 筆 (無未綁定臉部) |
| 7 | 綁定身份 | ✅ | 0.03s | 成功綁定已知臉部 |

---

## 📝 詳細測試紀錄

### Step 1: 註冊檔案
*   **指令**: `./momentry-cli register /Users/accusys/momentry/var/sftpgo/data/demo/view15.mp4`
*   **開始時間**: 15:58:15
*   **耗時**: 0.04s
*   **結果**:
    ```text
    📥 [CLI] 正在註冊: /Users/accusys/momentry/var/sftpgo/data/demo/view15.mp4
    ✅ [CLI] 註冊成功:
       UUID: "53e3a229bf68878b7a799e811e097f9c"
    ```
*   **分析**: ✅ 註冊 API 正常運作。

### Step 2: 取消註冊
*   **指令**: `./momentry-cli unregister 53e3a229bf68878b7a799e811e097f9c`
*   **開始時間**: 15:58:32
*   **耗時**: 0.01s
*   **結果**:
    ```text
    🗑️ [CLI] 正在取消註冊: 53e3a229bf68878b7a799e811e097f9c
    ❌ [CLI] 取消註冊失敗: 404 Not Found
    ```
*   **分析**: ❌ 失敗。可能原因為伺服器未更新或路由設定問題。

### Step 3: 重新註冊
*   **指令**: `./momentry-cli register /Users/accusys/momentry/var/sftpgo/data/demo/view15.mp4`
*   **開始時間**: 15:58:49
*   **耗時**: 0.02s
*   **結果**:
    ```text
    ✅ [CLI] 註冊成功:
       UUID: "53e3a229bf68878b7a799e811e097f9c"
    ```
*   **分析**: ✅ 成功。

### Step 4: 觸發處理
*   **指令**: `./momentry-cli process 53e3a229bf68878b7a799e811e097f9c`
*   **開始時間**: 16:01:39
*   **耗時**: 0.03s
*   **結果**:
    ```text
    ❌ [CLI] 啟動處理失敗: 400 Bad Request
    ```
*   **分析**: ❌ 失敗。API 回應提示 "Total frames unknown. Run probe first."

### Step 5: 檔案探測
*   **指令**: `./momentry-cli probe /Users/accusys/momentry/var/sftpgo/data/demo/view15.mp4`
*   **開始時間**: 16:07:14
*   **耗時**: 0.02s
*   **結果**:
    ```text
    ❌ [CLI] 探測失敗: 404 Not Found
    ```
*   **分析**: ❌ 失敗。`POST /api/v1/probe` 路由可能不存在於目前伺服器。

### Step 6: 查詢臉部
*   **指令**: `./momentry-cli list-faces 384b0ff44aaaa1f14cb2cd63b3fea966 --min-conf 0.0`
*   **開始時間**: 16:09:28
*   **耗時**: 0.02s
*   **結果**:
    ```text
    🕵️ [CLI] 正在查詢臉部: 384b0ff44aaaa1f14cb2cd63b3fea966
    ✅ [CLI] 查詢成功:
       未找到符合條件的臉部。
    ```
*   **分析**: ✅ 查詢 API 正常，但目標檔案無未綁定臉部。

### Step 7: 綁定身份
*   **指令**: `./momentry-cli bind 384b0ff44aaaa1f14cb2cd63b3fea966 identity_8d7c... 22`
*   **開始時間**: 16:09:56
*   **耗時**: 0.03s
*   **結果**:
    ```text
    🔗 [CLI] 正在綁定 Identity 22 -> Face identity_8d7c...
    ✅ [CLI] 綁定成功: "Bound face 'identity_8d7c...' to Identity 'Trace 2 Fixed Format'"
    ```
*   **分析**: ✅ 綁定 API 正常運作。

---

## 🚀 總結與建議

1.  **CLI 工具**: ✅ 編譯成功，指令結構完整，時間統計功能正常。
2.  **API 連線**: ✅ 大部分 API 連線正常 (Register, Bind, ListFaces)。
3.  **待修復問題**:
    *   ⚠️ **Unregister 失敗**: 需檢查伺服器端 `/api/v1/unregister` 路由。
    *   ⚠️ **Probe 失敗**: 需檢查伺服器端 `/api/v1/probe` 路由，或確認 `Register` 流程是否應自動包含 Probe。
    *   ⚠️ **Process 失敗**: 需確保檔案在處理前已正確 Probe。
