文件
shanghaipeiwan/server/tests/public-config-privacy.spec.ts
xcbyy 16f6419cba refactor(data): 全面移除小程序写死的演示/兜底数据,测试数据统一落库
- 删除无引用的 common/mock.js;登录页与个人中心的演示账号改为 DB 配置 demo_accounts + /api/auth/demo-accounts、/api/auth/demo-login(签发真实 token)

- 移除订单/活动/大神/动态/推广/工作台/门票/充值/举报等页面的演示列表与假兜底;新增真实空态

- 修复伪造成功:活动调价、评价回复、核销、海报保存、图片上传失败、提现/核销固定 1001、随机开黑房号、随机即时匹配、假语音播放等

- 服务端移除 101/2006 合成用户与合成大神兜底、移除默认服务包虚构价格;演示账号清单可在后台关闭

- 111 套件/733 用例全绿;已部署 20261021_162041,demo-accounts/demo-login 实测通过
2026-10-21 16:21:10 +08:00

24 行
1.0 KiB
TypeScript

// 已读取AGENTS.md
import * as fs from 'fs';
import * as path from 'path';
/**
* 第七十三批回归闸门:移动端公开配置不得泄露密钥/风控数据。
* 背景:/api/system/configs 无需登录,曾原样下发 map_location_config(含 SecretKey) 与 security_words(风控词库)。
*/
describe('第七十三批公开配置隐私闸门', () => {
const root = path.resolve(__dirname, '../../');
const repo = fs.readFileSync(path.join(root, 'server/src/db/repository.ts'), 'utf-8');
it('公开配置排除风控词库与地图密钥配置', () => {
expect(repo).toContain("const PUBLIC_EXCLUDED_KEYS = new Set(['security_words', 'map_location_config', 'demo_accounts'])");
expect(repo).toContain('if (PUBLIC_EXCLUDED_KEYS.has(r.configKey)) continue;');
});
it('公开配置递归剔除敏感字段', () => {
expect(repo).toContain('const stripSensitive = (val: any)');
expect(repo).toContain('if (SENSITIVE_FIELD.test(k)) continue;');
expect(repo).toContain('result[r.configKey] = stripSensitive(val);');
});
});