Files
xst 52b73f456c refactor(api): yun8_sync 并入 tests 分层框架(接口层 apis/yun8 + 用例层 api + Allure)
- tests/core: 新增 BaseHttpClient 统一 HTTP 封装(直连绕行/超时/日志/自定义编码);
  db_helper 追加 Db 长连接类(事务/mogrify/自动重连),既有函数不动
- tests/apis/yun8: 21 个 step 方法按域拆分为 5 个 Mixin(driver/accounting/
  audit_payment/receipt/third_party),Yun8Pipeline 24 步编排原样迁移,
  SQL 全部参数化并集中至 sql_templates
- tests/api: 5 阶段有序 P0 E2E 用例(业务失败由 print 改为真实报错)+
  README 迁移(删除明文密码段,修正步骤编号漂移)
- yun8_sync 目录退役:配置并入 test_config.yaml 的 yun8_api 段;
  造数 CLI 保留(python -m tests.apis.yun8.cli,兼容旧 config.yaml 结构)
- pytest.ini 注册 api/yun8_sync marker;requirements.txt 补 requests>=2.28
- 静态验证: compileall / 全仓 collect 24 条 / marker 过滤 / CLI --help /
  客户端与 pipeline 离线实例化 / SQL 占位符核对 / cross_end 兼容
2026-09-08 11:38:17 +08:00

45 lines
1.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""tests/api conftest — yun8 运输流程 API 造数 fixtures。
Usage:
def test_xxx(yun8_config, yun8_pipeline, yun8_context):
yun8_pipeline.run_driver_flow()
"""
import pytest
@pytest.fixture(scope="session")
def yun8_config(config):
"""yun8 运输流程 API 配置段(test_config.yaml 的 yun8_api)。"""
return config["yun8_api"]
@pytest.fixture(scope="class")
def yun8_db(yun8_config):
"""class 级数据库长连接(造数 SQL 复用)。"""
from tests.core.db_helper import Db
db = Db()
yield db
db.close()
@pytest.fixture(scope="class")
def yun8_pipeline(yun8_config, yun8_db):
"""class 级 Yun8Pipeline — 5 个阶段用例共享同一份 Postman 变量上下文。
注意: 根 conftest 的 logger fixture 是 function 级,
这里直接用 get_logger(pipeline 内部亦如此)。
"""
from tests.apis.yun8.pipeline import Yun8Pipeline
pipe = Yun8Pipeline(yun8_config, yun8_db)
pipe.set_auth(yun8_config["tokens"]["driver_token"],
yun8_config["tokens"]["admin_token"])
yield pipe
pipe.close()
@pytest.fixture(scope="class")
def yun8_context():
"""跨阶段共享上下文:记录中断原因,供后续阶段 skip。"""
return {"aborted": None}