补齐源快照、资料预演、正式导入及工资核算的依赖链路。 新增版本化输入、逐段 FIFO、生成锁和结构化当月调整, 并提供默认关闭的周期采集、有限重试及 Windows 托管。 原始客户资料、私有配置及首页改动不纳入本次提交。 BREAKING CHANGE: 升级前需应用新增迁移,并通过 PAYROLL_MAKER_USER_ID 绑定实际工资制作人,否则业务只读。 旧单批次核算默认关闭;历史兼容需显式启用 PAYROLL_ALLOW_LEGACY_CALCULATION。生产启用和真实金额待验收。
24 lines
676 B
Python
24 lines
676 B
Python
"""隔离库校验拒绝开发库、相似前缀及遗漏授权标记。"""
|
|
|
|
import pytest
|
|
|
|
from tests.isolation import ensure_test_database
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"database,expected",
|
|
[
|
|
("payroll", "payroll"),
|
|
("payroll_test_prod", "payroll_test_prod"),
|
|
("payroll_wbtest_1234abcd", None),
|
|
("payroll_wbtest_1234abcd", "payroll_wbtest_5678abcd"),
|
|
],
|
|
)
|
|
def test_拒绝非隔离目标(database, expected):
|
|
with pytest.raises(RuntimeError, match="拒绝清理"):
|
|
ensure_test_database(database, expected)
|
|
|
|
|
|
def test_接受显式隔离库():
|
|
ensure_test_database("payroll_wbtest_1234abcd", "payroll_wbtest_1234abcd")
|