Files
seanime-docker/seanime-2.9.10/internal/library/scanner/scan_test.go
2025-09-20 14:08:38 +01:00

80 lines
2.2 KiB
Go

package scanner
import (
"seanime/internal/api/anilist"
"seanime/internal/events"
"seanime/internal/library/anime"
"seanime/internal/platforms/anilist_platform"
"seanime/internal/test_utils"
"seanime/internal/util"
"testing"
)
//----------------------------------------------------------------------------------------------------------------------
func TestScanner_Scan(t *testing.T) {
test_utils.InitTestProvider(t, test_utils.Anilist())
anilistClient := anilist.TestGetMockAnilistClient()
logger := util.NewLogger()
anilistPlatform := anilist_platform.NewAnilistPlatform(anilistClient, logger)
wsEventManager := events.NewMockWSEventManager(util.NewLogger())
dir := "E:/Anime"
tests := []struct {
name string
paths []string
}{
{
name: "Scan",
paths: []string{
"E:/Anime/[SubsPlease] 86 - Eighty Six (01-23) (1080p) [Batch]/[SubsPlease] 86 - Eighty Six - 20v2 (1080p) [30072859].mkv",
"E:/Anime/[SubsPlease] 86 - Eighty Six (01-23) (1080p) [Batch]/[SubsPlease] 86 - Eighty Six - 21v2 (1080p) [4B1616A5].mkv",
"E:/Anime/[SubsPlease] 86 - Eighty Six (01-23) (1080p) [Batch]/[SubsPlease] 86 - Eighty Six - 22v2 (1080p) [58BF43B4].mkv",
"E:/Anime/[SubsPlease] 86 - Eighty Six (01-23) (1080p) [Batch]/[SubsPlease] 86 - Eighty Six - 23v2 (1080p) [D94B4894].mkv",
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
existingLfs := make([]*anime.LocalFile, 0)
for _, path := range tt.paths {
lf := anime.NewLocalFile(path, dir)
existingLfs = append(existingLfs, lf)
}
// +---------------------+
// | Scan |
// +---------------------+
scanner := &Scanner{
DirPath: dir,
Enhanced: false,
Platform: anilistPlatform,
Logger: util.NewLogger(),
WSEventManager: wsEventManager,
ExistingLocalFiles: existingLfs,
SkipLockedFiles: false,
SkipIgnoredFiles: false,
ScanLogger: nil,
ScanSummaryLogger: nil,
}
lfs, err := scanner.Scan(t.Context())
if err != nil {
t.Fatal("expected result, got error:", err.Error())
}
for _, lf := range lfs {
t.Log(lf.Name)
}
})
}
}