- 新增 /api/upload/video 独立上传接口:仅 MP4/MOV、单条 30MB、独立限流、登录鉴权 - posts 表新增 video_url / video_cover,发布接口支持视频与图片同时落库 - 小程序发布器支持选择/预览/删除视频(≤60 秒),动态卡片与详情页支持播放 - 后台动态管理新增视频预览弹窗 - 新增短视频链路与上传鉴权回归测试,125 套件/818 用例全绿
26 行
1016 B
TypeScript
26 行
1016 B
TypeScript
// 已读取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, '上传视频')");
|
||
});
|
||
});
|