Files
Neo-ZQYY/apps/backend/test_results.txt
Neo b25308c3f4 feat: P1-P3 全栈集成 — 数据库基础 + DWS 扩展 + 小程序鉴权 + 工程化体系
## P1 数据库基础
- zqyy_app: 创建 auth/biz schema、FDW 连接 etl_feiqiu
- etl_feiqiu: 创建 app schema RLS 视图、商品库存预警表
- 清理 assistant_abolish 残留数据

## P2 ETL/DWS 扩展
- 新增 DWS 助教订单贡献度表 (dws.assistant_order_contribution)
- 新增 assistant_order_contribution_task 任务及 RLS 视图
- member_consumption 增加充值字段、assistant_daily 增加处罚字段
- 更新 ODS/DWD/DWS 任务文档及业务规则文档
- 更新 consistency_checker、flow_runner、task_registry 等核心模块

## P3 小程序鉴权系统
- 新增 xcx_auth 路由/schema(微信登录 + JWT)
- 新增 wechat/role/matching/application 服务层
- zqyy_app 鉴权表迁移 + 角色权限种子数据
- auth/dependencies.py 支持小程序 JWT 鉴权

## 文档与审计
- 新增 DOCUMENTATION-MAP 文档导航
- 新增 7 份 BD_Manual 数据库变更文档
- 更新 DDL 基线快照(etl_feiqiu 6 schema + zqyy_app auth)
- 新增全栈集成审计记录、部署检查清单更新
- 新增 BACKLOG 路线图、FDW→Core 迁移计划

## Kiro 工程化
- 新增 5 个 Spec(P1/P2/P3/全栈集成/核心业务)
- 新增审计自动化脚本(agent_on_stop/build_audit_context/compliance_prescan)
- 新增 6 个 Hook(合规检查/会话日志/提交审计等)
- 新增 doc-map steering 文件

## 运维与测试
- 新增 ops 脚本:迁移验证/API 健康检查/ETL 监控/集成报告
- 新增属性测试:test_dws_contribution / test_auth_system
- 清理过期 export 报告文件
- 更新 .gitignore 排除规则
2026-02-26 08:03:53 +08:00

95 lines
6.1 KiB
Plaintext

..................................................................F..... [ 23%]
........................................................................ [ 47%]
........................................................................ [ 71%]
....F..FFFFFFFF.F...........................................F..F........ [ 95%]
............... [100%]
================================== FAILURES ===================================
__________ TestGetEtlReadonlyConnection.test_uses_etl_config_params ___________
tests\test_database.py:94: in test_uses_etl_config_params
assert connect_kwargs["dbname"] == "etl_feiqiu"
E AssertionError: assert 'test_etl_feiqiu' == 'etl_feiqiu'
E
E - etl_feiqiu
E + test_etl_feiqiu
E ? +++++
__________ TestRunningState.test_is_running_true_when_process_active __________
tests\test_task_executor.py:118: in test_is_running_true_when_process_active
assert executor.is_running("exec-1") is True
E AssertionError: assert False is True
E + where False = is_running('exec-1')
E + where is_running = <app.services.task_executor.TaskExecutor object at 0x000001C9442CBD40>.is_running
____________________ TestReadStream.test_read_stdout_lines ____________________
tests\test_task_executor.py:146: in test_read_stdout_lines
await executor._read_stream("exec-1", stream, "stdout", collector)
^^^^^^^^^^^^^^^^^^^^^
E AttributeError: 'TaskExecutor' object has no attribute '_read_stream'
____________________ TestReadStream.test_read_stderr_lines ____________________
tests\test_task_executor.py:158: in test_read_stderr_lines
await executor._read_stream("exec-1", stream, "stderr", collector)
^^^^^^^^^^^^^^^^^^^^^
E AttributeError: 'TaskExecutor' object has no attribute '_read_stream'
________________ TestReadStream.test_read_stream_none_is_safe _________________
tests\test_task_executor.py:166: in test_read_stream_none_is_safe
await executor._read_stream("exec-1", None, "stdout", collector)
^^^^^^^^^^^^^^^^^^^^^
E AttributeError: 'TaskExecutor' object has no attribute '_read_stream'
__________________ TestReadStream.test_broadcast_during_read __________________
tests\test_task_executor.py:175: in test_broadcast_during_read
await executor._read_stream("exec-1", stream, "stdout", collector)
^^^^^^^^^^^^^^^^^^^^^
E AttributeError: 'TaskExecutor' object has no attribute '_read_stream'
____________________ TestExecute.test_successful_execution ____________________
tests\test_task_executor.py:218: in test_successful_execution
assert "processing..." in update_kwargs["output_log"]
E AssertionError: assert 'processing...' in ''
______________________ TestExecute.test_failed_execution ______________________
tests\test_task_executor.py:245: in test_failed_execution
assert update_kwargs["status"] == "failed"
E AssertionError: assert 'success' == 'failed'
E
E - failed
E + success
_________________ TestExecute.test_exception_during_execution _________________
tests\test_task_executor.py:263: in test_exception_during_execution
assert update_kwargs["status"] == "failed"
E AssertionError: assert 'success' == 'failed'
E
E - failed
E + success
_____________ TestExecute.test_subscribers_notified_on_completion _____________
tests\test_task_executor.py:290: in test_subscribers_notified_on_completion
assert "[stdout] line" in messages
E AssertionError: assert '[stdout] line' in ['[stderr] [2026-02-25 02:42:10] INFO | etl_billiards | 配置加载完成', '[stderr] [2026-02-25 02:42:10] INFO | etl_billiard... 02:42:11] INFO | etl_billiards | 使用回溯时间窗口: 2026-02-24 02:42:11.615145+08:00 ~ 2026-02-25 02:42:11.615145+08:00', ...]
___________________ TestCancel.test_cancel_running_process ____________________
tests\test_task_executor.py:331: in test_cancel_running_process
assert result is True
E assert False is True
_____________ TestFlows.test_flows_returns_three_processing_modes _____________
tests\test_tasks_router.py:124: in test_flows_returns_three_processing_modes
assert len(data["processing_modes"]) == 3
E AssertionError: assert 4 == 3
E + where 4 = len([{'description': '只处理新增和变更的数据', 'id': 'increment_only', 'name': '仅增量处理'}, {'description': '校验现有数据并修复不一致', 'id': 'verif...nt_verify', 'name': '增量 + 校验修复'}, {'description': '用 API 返回数据的实际时间范围处理全部层,无需校验', 'id': 'full_window', 'name': '全窗口处理'}])
_____________________ TestFlows.test_processing_mode_ids ______________________
tests\test_tasks_router.py:143: in test_processing_mode_ids
assert mode_ids == {"increment_only", "verify_only", "increment_verify"}
E AssertionError: assert {'full_window...'verify_only'} == {'increment_o...'verify_only'}
E
E Extra items in the left set:
E 'full_window'
E Use -v to get more diff
=========================== short test summary info ===========================
FAILED tests/test_database.py::TestGetEtlReadonlyConnection::test_uses_etl_config_params
FAILED tests/test_task_executor.py::TestRunningState::test_is_running_true_when_process_active
FAILED tests/test_task_executor.py::TestReadStream::test_read_stdout_lines - ...
FAILED tests/test_task_executor.py::TestReadStream::test_read_stderr_lines - ...
FAILED tests/test_task_executor.py::TestReadStream::test_read_stream_none_is_safe
FAILED tests/test_task_executor.py::TestReadStream::test_broadcast_during_read
FAILED tests/test_task_executor.py::TestExecute::test_successful_execution - ...
FAILED tests/test_task_executor.py::TestExecute::test_failed_execution - Asse...
FAILED tests/test_task_executor.py::TestExecute::test_exception_during_execution
FAILED tests/test_task_executor.py::TestExecute::test_subscribers_notified_on_completion
FAILED tests/test_task_executor.py::TestCancel::test_cancel_running_process
FAILED tests/test_tasks_router.py::TestFlows::test_flows_returns_three_processing_modes
FAILED tests/test_tasks_router.py::TestFlows::test_processing_mode_ids - Asse...
13 failed, 290 passed in 146.30s (0:02:26)