test: 第73波 url_security + pagination + text_splitter 单测补充 (+68) #871

Merged
xiaoxia merged 3 commits from test/wave73-url-security-pagination-text-splitter into develop 2026-07-25 11:32:38 +08:00
Owner

变更内容

在原有测试基础上补充覆盖 68 个用例,全部纯逻辑无外部依赖。

url_security(+28)

  • TestSSRFIPCheck(14个):IP 类型全覆盖 — 回环(v4/v6)、各私有段(10/172/192)、链路本地、组播、未指定(v4/v6)、保留段、公网(v4/v6)
  • TestDirectIPAccess(3个):直接 IP 访问开关控制 — 默认禁止、开旗后公网通过、开旗后私有IP仍被SSRF拦截
  • TestMagicNumberExtended(11个):更多格式魔数 — AAC/M4A/WebP/MP4/WebM/BMP/FLAC/OGG + 读取失败/多类型匹配/octet-stream跳过

pagination(+20)

  • TestPaginationParamsEdgeCases(5个):最小/最大page_size、offset边界、极大页码
  • TestPaginationMetaEdgeCases(7个):total=0两场景、刚好末页、多1条、page==total_pages、单条数据
  • TestPaginateEdgeCases(8个):单元素、末页、超尾页、空列表、page_size=1遍历、不修改输入、每页大于总数

text_splitter(+20)

  • TestSplitTextEmptyAndShort(5个):空白/单字符/刚好等于/超1字符/None
  • TestSplitTextSentenceBoundaries(8个):各标点(句号/问号/感叹/换行/分号/英文句号) + 短句合并
  • TestSplitTextLongSentenceForce(3个):无标点硬切/不丢字符/长短混合
  • TestSplitTextShortSegmentMerge(2个):多短句合并/短尾合并
  • TestSplitTextEdgeCases(5个):纯标点/中英混合/去空白/总长度守恒/小max_chars

测试结果

本地 182 passed(原 114 + 新增 68),全部通过。

## 变更内容 在原有测试基础上补充覆盖 68 个用例,全部纯逻辑无外部依赖。 ### url_security(+28) - **TestSSRFIPCheck**(14个):IP 类型全覆盖 — 回环(v4/v6)、各私有段(10/172/192)、链路本地、组播、未指定(v4/v6)、保留段、公网(v4/v6) - **TestDirectIPAccess**(3个):直接 IP 访问开关控制 — 默认禁止、开旗后公网通过、开旗后私有IP仍被SSRF拦截 - **TestMagicNumberExtended**(11个):更多格式魔数 — AAC/M4A/WebP/MP4/WebM/BMP/FLAC/OGG + 读取失败/多类型匹配/octet-stream跳过 ### pagination(+20) - **TestPaginationParamsEdgeCases**(5个):最小/最大page_size、offset边界、极大页码 - **TestPaginationMetaEdgeCases**(7个):total=0两场景、刚好末页、多1条、page==total_pages、单条数据 - **TestPaginateEdgeCases**(8个):单元素、末页、超尾页、空列表、page_size=1遍历、不修改输入、每页大于总数 ### text_splitter(+20) - **TestSplitTextEmptyAndShort**(5个):空白/单字符/刚好等于/超1字符/None - **TestSplitTextSentenceBoundaries**(8个):各标点(句号/问号/感叹/换行/分号/英文句号) + 短句合并 - **TestSplitTextLongSentenceForce**(3个):无标点硬切/不丢字符/长短混合 - **TestSplitTextShortSegmentMerge**(2个):多短句合并/短尾合并 - **TestSplitTextEdgeCases**(5个):纯标点/中英混合/去空白/总长度守恒/小max_chars ## 测试结果 本地 182 passed(原 114 + 新增 68),全部通过。
xiaoxia added 2 commits 2026-07-25 10:25:55 +08:00
- test_url_security: URL安全校验(SSRF防护/魔数校验/可信域名/直接IP拦截) ~85个
- test_pagination: 分页器(参数校验/偏移计算/元数据/内存分页) ~35个
- test_text_splitter: 文本分段器(句子边界/强制切段/短段合并) ~24个

全部纯逻辑,无外部依赖
test: 第73波 url_security + pagination + text_splitter 单测补充 (+68)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 20s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 46s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m4s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m5s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 28s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 35s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m47s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 37s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m1s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m26s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 2m11s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m10s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m40s
AI Code Review / AI Code Review (pull_request) Successful in 5m29s
d1348bcd80
在原有测试基础上补充覆盖:

- url_security (+28):
  - TestSSRFIPCheck: 14个IP类型全覆盖(回环/各私有段/链路本地/组播/未指定/保留/公网)
  - TestDirectIPAccess: 直接IP访问开关控制
  - TestMagicNumberExtended: 更多格式魔数校验(AAC/M4A/WebP/MP4/WebM/BMP/FLAC/OGG/读取失败/多类型)

- pagination (+20):
  - TestPaginationParamsEdgeCases: 边界值/极大页码/offset计算
  - TestPaginationMetaEdgeCases: total=0/刚好最后一页/多1条/单条数据
  - TestPaginateEdgeCases: 单元素/超尾页/空列表/page_size=1/不修改输入

- text_splitter (+20):
  - TestSplitTextEmptyAndShort: 空白/单字符/边界值/None
  - TestSplitTextSentenceBoundaries: 各标点分段/短句合并
  - TestSplitTextLongSentenceForce: 无标点硬切/不丢字符/长短混合
  - TestSplitTextShortSegmentMerge: 多短句合并/短尾合并
  - TestSplitTextEdgeCases: 纯标点/中英混合/去空白/总长度守恒
xiaoxia added 1 commit 2026-07-25 11:07:34 +08:00
style: fix black formatting for wave73 url security tests
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 46s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 42s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m43s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m36s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 55s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m8s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 3m46s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 5m18s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 10s
AI Code Review / AI Code Review (pull_request) Successful in 2m28s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m5s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m18s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 2m48s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 12s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 49m20s
a566ef2b4e
Collaborator

代码审查结果 - PR #871

⚠️ 问题(0个需要修改)

💡 建议(1个可选)

  1. tests/unit/test_text_splitter.py 第266行:断言条件过于宽松,可能无法准确捕获合并逻辑的缺陷。
    • 问题描述:在 test_short_tail_merged 中,断言 assert len(result) <= 2 允许通过未合并(长度为2)的情况。根据测试意图“尾部短的应该被合并”,预期结果应为1段。如果代码逻辑错误导致未合并,该测试依然会通过,掩盖Bug。
    • 修改建议:建议修改为 assert len(result) == 1,或者增加对内容合并的断言,例如 assert result[0] == text

格式检查通过 | 逻辑审查通过 | 性能良好


🤖 由 AI 代码审查机器人自动生成 | 2026-07-25 03:22:49 | 模型:

## 代码审查结果 - PR #871 ### ⚠️ 问题(0个需要修改) 无 ### 💡 建议(1个可选) 1. **tests/unit/test_text_splitter.py 第266行**:断言条件过于宽松,可能无法准确捕获合并逻辑的缺陷。 - 问题描述:在 `test_short_tail_merged` 中,断言 `assert len(result) <= 2` 允许通过未合并(长度为2)的情况。根据测试意图“尾部短的应该被合并”,预期结果应为1段。如果代码逻辑错误导致未合并,该测试依然会通过,掩盖Bug。 - 修改建议:建议修改为 `assert len(result) == 1`,或者增加对内容合并的断言,例如 `assert result[0] == text`。 --- ✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能良好 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-25 03:22:49 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit 26db4ac44d into develop 2026-07-25 11:32:38 +08:00
xiaoxia deleted branch test/wave73-url-security-pagination-text-splitter 2026-07-25 11:32:38 +08:00

🗑️ 预览环境已清理

PR #871 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #871 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.