文件
shanghaipeiwan/server/tests/upload-auth.spec.ts
xcbyy 23f500f623 feat(community): 友圈动态支持上传短视频,可与图片同发
- 新增 /api/upload/video 独立上传接口:仅 MP4/MOV、单条 30MB、独立限流、登录鉴权

- posts 表新增 video_url / video_cover,发布接口支持视频与图片同时落库

- 小程序发布器支持选择/预览/删除视频(≤60 秒),动态卡片与详情页支持播放

- 后台动态管理新增视频预览弹窗

- 新增短视频链路与上传鉴权回归测试,125 套件/818 用例全绿
2026-10-31 10:43:43 +08:00

26 行
1016 B
TypeScript

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

// 已读取AGENTS.md
import * as fs from 'fs';
import * as path from 'path';
/**
* 第四十五批回归闸门:上传接口生产环境需登录
*/
describe('第四十五批上传鉴权闸门', () => {
const rootDir = path.resolve(__dirname, '../../');
const indexCode = fs.readFileSync(path.join(rootDir, 'server/src/index.ts'), 'utf-8');
it('上传必须要求登录(安全闸门不依赖 NODE_ENV)', () => {
const start = indexCode.indexOf('const ensureUploadAuthorized =');
expect(start).toBeGreaterThan(-1);
const block = indexCode.slice(start, start + 700);
expect(block).toContain('SECURE_MODE');
expect(block).toContain('resolveSecureUserId(req, 0, scene)');
expect(block).toContain('请先登录后再上传');
});
it('图片与视频上传都必须走同一登录闸门', () => {
expect(indexCode).toContain("ensureUploadAuthorized(req, res, '上传文件')");
expect(indexCode).toContain("ensureUploadAuthorized(req, res, '上传视频')");
});
});