Protect upload cleanup and atomic completion paths, add durable media worker leases and brand asset validation, and introduce verified migration/bootstrap/deployment gates.
18 lines
618 B
TypeScript
18 lines
618 B
TypeScript
import { readFile } from 'fs/promises'
|
|
import path from 'path'
|
|
|
|
describe('旧手工转码脚本安全边界', () => {
|
|
test('脚本必须保持禁用,不能直接改数据库或启动进程内队列', async () => {
|
|
const source = await readFile(
|
|
path.join(process.cwd(), 'scripts/manual-trigger-transcode.ts'),
|
|
'utf8',
|
|
)
|
|
|
|
expect(source).toContain('已停用')
|
|
expect(source).toContain('process.exitCode = 1')
|
|
expect(source).not.toContain('PrismaClient')
|
|
expect(source).not.toContain('enqueueVideoTranscodeTask')
|
|
expect(source).not.toContain('prisma.material.update')
|
|
})
|
|
})
|