fix(imports): CI 環境 import path 統一為 src.*(移除 apps.api.src.* PEP 420 假依賴)
## 根因 `apps.api.src.*` 需倉庫根目錄在 sys.path 才能透過 PEP 420 namespace package 解析(因 apps/ 和 apps/api/ 無 __init__.py)。 - CI rootdir=repo root → 可解析(但脆弱依賴) - 本地 pytest rootdir=apps/api → 解析失敗 → 整個 src.models.__init__ 炸 - CI 錯誤: `test_secret_redactor.py` 無法 import module ## 修復 src.models.__init__ 的 3 處 `apps.api.src.*` 改 `src.*` src.models.incident 的 1 處 `apps.api.src.*` 改 `src.*` tests/test_aider_event_models.py import path 統一 tests/test_secret_redactor.py import path 統一 ## 驗證 138 個 pytest test 全過(drift + rule_engine + approval_execution + aider_event + incident + secret_redactor) 所有 test 都用 `from src.*` 風格(codebase 既有慣例,pytest rootdir=apps/api 提供 src/ 作 import root) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
from datetime import datetime, timezone, timedelta
|
||||
import pytest
|
||||
from pydantic import ValidationError
|
||||
from apps.api.src.models.aider import AiderEventIn, AiderBatchIn
|
||||
from src.models.aider import AiderEventIn, AiderBatchIn
|
||||
|
||||
TAIPEI = timezone(timedelta(hours=8))
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# 2026-04-20 @ Asia/Taipei
|
||||
from apps.api.src.utils.secret_redactor import redact
|
||||
# Import root 由 pytest rootdir=apps/api 提供(見 pyproject.toml),因此不得用 `apps.api.src.*` 絕對路徑
|
||||
from src.utils.secret_redactor import redact
|
||||
|
||||
|
||||
def test_openrouter_key_redacted():
|
||||
|
||||
Reference in New Issue
Block a user