fix(storage): 强化外部图片导入与 Skill 异常引导

This commit is contained in:
yuzhe
2026-07-22 19:34:36 +08:00
parent 3bfb481c71
commit 69cfd0b51d
12 changed files with 112 additions and 31 deletions

View File

@@ -71,6 +71,7 @@ def main() -> None:
raise AssertionError("错误确认码未被阻止")
except MODULE.UploadError as error:
assert "确认码不匹配" in str(error)
assert error.action == "revise" and "确认码" in error.next_step
assert not calls
MODULE.request_json = lambda *_args, **_kwargs: (200, [{"id": 88, "external_id": "agent-test-001"}])
@@ -97,6 +98,7 @@ def main() -> None:
raise AssertionError("版本漂移未被阻止")
except MODULE.UploadError as error:
assert "当前版本已变化" in str(error)
assert error.action == "ask_operator"
assert not post_calls
work_reads = iter([detail(2, work_id=34), detail(3, work_id=34)])
@@ -110,6 +112,17 @@ def main() -> None:
raise AssertionError("错误项目归属未被阻止")
except MODULE.UploadError as error:
assert "不是已确认项目" in str(error)
revised = MODULE.http_failure("POST", "/api/projects/12/works", 422, "图片不可用")
assert revised.action == "revise" and "重新生成计划" in revised.next_step
unauthorized = MODULE.http_failure("GET", "/api/projects", 401, "无效 Key")
assert unauthorized.action == "ask_operator" and "DELIVERY_DESK_API_KEY" in unauthorized.next_step
transient_read = MODULE.http_failure("GET", "/api/projects", 503, "暂时不可用")
assert transient_read.action == "retry" and "只读" in transient_read.next_step
uncertain_write = MODULE.http_failure("POST", "/api/works/34/rounds", 503, "暂时不可用")
assert uncertain_write.action == "ask_operator" and "禁止自动重试" in uncertain_write.next_step
private_url = MODULE.http_failure("POST", "/api/projects/12/works", 400, "图片地址不允许访问私有网络")
assert private_url.action == "revise" and "修改输入" in private_url.next_step
finally:
MODULE.exact_project = original_exact_project
MODULE.request_json = original_request_json