36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import fs from 'fs'
|
||
import path from 'path'
|
||
|
||
describe('scripts/smoke-install.ps1', () => {
|
||
const script = fs.readFileSync(
|
||
path.join(process.cwd(), 'scripts/smoke-install.ps1'),
|
||
'utf8'
|
||
)
|
||
|
||
it('首装验收可以选择启动 Compose,但默认也能只做检查', () => {
|
||
expect(script).toContain('[switch]$Start')
|
||
expect(script).toContain('"up", "-d"')
|
||
expect(script).toContain('"config", "--quiet"')
|
||
expect(script).toContain('@("ps")')
|
||
})
|
||
|
||
it('验收运行镜像、版本文件、迁移状态和健康接口', () => {
|
||
expect(script).toContain('Wait-ServiceRunning')
|
||
expect(script).toContain('docker inspect $appContainerId --format')
|
||
expect(script).toContain('cat VERSION.txt')
|
||
expect(script).toContain('npx", "prisma", "migrate", "status"')
|
||
expect(script).toContain('/api/health')
|
||
})
|
||
|
||
it('验收内置对象存储 bucket,并允许外部对象存储跳过', () => {
|
||
expect(script).toContain('[switch]$SkipObjectStorageCheck')
|
||
expect(script).toContain('S3_BUCKET')
|
||
expect(script).toContain('test -d /data/$bucket')
|
||
})
|
||
|
||
it('验收失败时会读取应用日志辅助排查', () => {
|
||
expect(script).toContain('logs --tail 80')
|
||
expect(script).toContain('读取应用日志失败')
|
||
})
|
||
})
|