From 90a6b5cccd4139929a64d21425ed6eddeffefa97 Mon Sep 17 00:00:00 2001 From: zy Date: Sat, 14 Feb 2026 01:05:50 +0800 Subject: [PATCH] =?UTF-8?q?test:=20=E6=B7=BB=E5=8A=A0=E9=98=B2=E7=9B=97?= =?UTF-8?q?=E9=93=BE=E5=9B=BE=E7=89=87=E4=B8=8B=E8=BD=BD=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=20(#417)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 验证 PR #412 的修改,使用真实 URL 测试 User-Agent 和 Referer 是否有效。 Co-authored-by: Claude Opus 4.5 --- pkg/downloader/images_test.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pkg/downloader/images_test.go b/pkg/downloader/images_test.go index f227e93..4c95cb4 100644 --- a/pkg/downloader/images_test.go +++ b/pkg/downloader/images_test.go @@ -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()) +}