test: 添加防盗链图片下载测试 (#417)

验证 PR #412 的修改,使用真实 URL 测试 User-Agent 和 Referer 是否有效。

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
zy
2026-02-14 01:05:50 +08:00
committed by GitHub
parent c8485758bd
commit 90a6b5cccd

View File

@@ -100,3 +100,31 @@ func TestImageDownloader_generateFileName(t *testing.T) {
t.Errorf("different URLs should generate different file names")
}
}
// TestDownloadImage_AntiHotlink 测试下载防盗链图片
// 验证 PR #412 的修改:添加 User-Agent 和 Referer 解决 403 问题
func TestDownloadImage_AntiHotlink(t *testing.T) {
// 快科技的图片,需要 User-Agent 才能下载
testURL := "https://img1.mydrivers.com/img/20260213/s_fdac2d21214147019e629fa7f2c8802e.png"
tempDir := t.TempDir()
downloader := NewImageDownloader(tempDir)
filePath, err := downloader.DownloadImage(testURL)
if err != nil {
t.Fatalf("下载失败: %v", err)
}
// 验证文件存在
info, err := os.Stat(filePath)
if err != nil {
t.Fatalf("文件不存在: %v", err)
}
// 验证文件大小合理(大于 1KB
if info.Size() < 1024 {
t.Errorf("文件太小,可能下载失败: %d bytes", info.Size())
}
t.Logf("下载成功: %s (%d bytes)", filePath, info.Size())
}