furniture-3d-system-Wu/scripts/test-backup-files.ps1
WuYongJie 75db836d29 feat(3D核心功能): 完成所有必需实现任务
- 文件上传验证: ModelUploader组件增强、上传API错误处理
- GLTF解析器: 增强节点提取和元数据
- 板材编辑: PanelEditor客户端验证 + panels API服务端验证
- 装配步骤编辑: 修复未使用代码,添加预览按钮
- 装配动画播放: AssemblyPlayer步骤导航边界检查优化
- 分享链接: 完整CRUD API(创建、获取、删除),含验证和过期检查

跳过可选测试任务以加快MVP开发
2025-12-22 16:18:13 +08:00

96 lines
3.3 KiB
PowerShell

# ============================================
# 文件存储备份测试脚本 (PowerShell)
# ============================================
$ErrorActionPreference = "Stop"
Write-Host "========================================"
Write-Host " 测试文件存储备份功能"
Write-Host "========================================"
Write-Host ""
# 测试目录
$TestBackupDir = ".\backups\files-test"
$TestMinioDir = ".\minio-data-test"
# 清理测试目录
if (Test-Path $TestBackupDir) {
Write-Host "清理旧的测试备份目录..."
Remove-Item -Path $TestBackupDir -Recurse -Force
}
if (Test-Path $TestMinioDir) {
Write-Host "清理旧的测试 MinIO 数据目录..."
Remove-Item -Path $TestMinioDir -Recurse -Force
}
# 准备测试数据
Write-Host "准备测试 MinIO 数据目录..."
New-Item -ItemType Directory -Path (Join-Path $TestMinioDir "nested/dir") -Force | Out-Null
"Hello World" | Out-File -FilePath (Join-Path $TestMinioDir "file1.txt") -Encoding UTF8
("A" * 1000) | Out-File -FilePath (Join-Path $TestMinioDir "file2.log") -Encoding UTF8
"Nested file" | Out-File -FilePath (Join-Path $TestMinioDir "nested/dir/file3.txt") -Encoding UTF8
# 执行备份(覆盖 MINIO_DATA_DIR 环境变量,仅针对测试目录)
Write-Host "执行文件存储备份测试..."
$env:MINIO_DATA_DIR = $TestMinioDir
& .\scripts\backup-files.ps1 -BackupDir $TestBackupDir
# 验证结果
Write-Host ""
Write-Host "========================================"
Write-Host " 验证测试结果"
Write-Host "========================================"
Write-Host ""
# 检查备份文件
$backupFiles = Get-ChildItem -Path $TestBackupDir -Filter "files-backup-*.tar.gz" -ErrorAction SilentlyContinue
if ($backupFiles.Count -eq 1) {
Write-Host "✅ 备份文件已创建" -ForegroundColor Green
} else {
Write-Host "❌ 备份文件创建失败" -ForegroundColor Red
exit 1
}
# 检查 checksum 文件
$checksumFiles = Get-ChildItem -Path $TestBackupDir -Filter "files-backup-*.tar.gz.sha256" -ErrorAction SilentlyContinue
if ($checksumFiles.Count -eq 1) {
Write-Host "✅ Checksum 文件已创建" -ForegroundColor Green
} else {
Write-Host "❌ Checksum 文件创建失败" -ForegroundColor Red
exit 1
}
# 检查摘要文件
$summaryFiles = Get-ChildItem -Path $TestBackupDir -Filter "backup-summary-*.json" -ErrorAction SilentlyContinue
if ($summaryFiles.Count -eq 1) {
Write-Host "✅ 摘要文件已创建" -ForegroundColor Green
} else {
Write-Host "❌ 摘要文件创建失败" -ForegroundColor Red
exit 1
}
# 检查日志文件
$logFiles = Get-ChildItem -Path $TestBackupDir -Filter "backup-files-*.log" -ErrorAction SilentlyContinue
if ($logFiles.Count -eq 1) {
Write-Host "✅ 日志文件已创建" -ForegroundColor Green
} else {
Write-Host "❌ 日志文件创建失败" -ForegroundColor Red
exit 1
}
Write-Host ""
Write-Host "========================================"
Write-Host " 🎉 文件存储备份测试通过!" -ForegroundColor Green
Write-Host "========================================"
Write-Host ""
Write-Host "测试备份文件列表:"
Get-ChildItem -Path $TestBackupDir -Filter "files-backup-*.tar.gz" | Format-Table Name, Length, LastWriteTime
Write-Host ""
Write-Host "提示:测试完成后可以删除测试目录:"
Write-Host " Remove-Item -Path $TestBackupDir,$TestMinioDir -Recurse -Force"
Write-Host ""