mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-04 15:49:49 +00:00
43 lines
1.3 KiB
Go
43 lines
1.3 KiB
Go
package ed2k
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/GopeedLab/gopeed/internal/controller"
|
|
"github.com/GopeedLab/gopeed/pkg/base"
|
|
)
|
|
|
|
const testLink = "ed2k://|file|cn_windows_10_multi-edition_vl_version_1709_updated_sept_2017_x64_dvd_100090774.iso|4630972416|8867C5E54405FF9452225B66EFEE690A|/"
|
|
|
|
func TestFetcher_Resolve(t *testing.T) {
|
|
f := (&FetcherManager{}).Build()
|
|
f.Setup(controller.NewController())
|
|
|
|
err := f.Resolve(&base.Request{URL: testLink}, &base.Options{Path: t.TempDir()})
|
|
if err != nil {
|
|
t.Fatalf("Resolve() error = %v", err)
|
|
}
|
|
|
|
meta := f.Meta()
|
|
if meta.Res == nil {
|
|
t.Fatal("Resolve() resource is nil")
|
|
}
|
|
if got, want := meta.Res.Hash, "8867C5E54405FF9452225B66EFEE690A"; got != want {
|
|
t.Fatalf("Resolve() hash = %s, want %s", got, want)
|
|
}
|
|
if got, want := meta.Res.Size, int64(4630972416); got != want {
|
|
t.Fatalf("Resolve() size = %d, want %d", got, want)
|
|
}
|
|
if got, want := meta.Res.Files[0].Name, "cn_windows_10_multi-edition_vl_version_1709_updated_sept_2017_x64_dvd_100090774.iso"; got != want {
|
|
t.Fatalf("Resolve() name = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFetcherManager_ParseName(t *testing.T) {
|
|
got := (&FetcherManager{}).ParseName(testLink)
|
|
want := "cn_windows_10_multi-edition_vl_version_1709_updated_sept_2017_x64_dvd_100090774.iso"
|
|
if got != want {
|
|
t.Fatalf("ParseName() = %q, want %q", got, want)
|
|
}
|
|
}
|