node build fixed

This commit is contained in:
ra_ma
2025-09-20 14:08:38 +01:00
parent c6ebbe069d
commit 3d298fa434
1516 changed files with 535727 additions and 2 deletions

View File

@@ -0,0 +1,124 @@
package scanner
import (
"seanime/internal/api/anilist"
"seanime/internal/api/metadata"
"seanime/internal/library/anime"
"seanime/internal/platforms/anilist_platform"
"seanime/internal/util"
"seanime/internal/util/limiter"
"testing"
)
func TestScanLogger(t *testing.T) {
anilistClient := anilist.TestGetMockAnilistClient()
logger := util.NewLogger()
anilistPlatform := anilist_platform.NewAnilistPlatform(anilistClient, logger)
animeCollection, err := anilistPlatform.GetAnimeCollectionWithRelations(t.Context())
if err != nil {
t.Fatal(err.Error())
}
allMedia := animeCollection.GetAllAnime()
metadataProvider := metadata.GetMockProvider(t)
completeAnimeCache := anilist.NewCompleteAnimeCache()
anilistRateLimiter := limiter.NewAnilistLimiter()
tests := []struct {
name string
paths []string
expectedMediaId int
}{
{
name: "should be hydrated with id 131586",
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",
},
expectedMediaId: 131586, // 86 - Eighty Six Part 2
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
scanLogger, err := NewScanLogger("./logs")
if err != nil {
t.Fatal("expected result, got error:", err.Error())
}
// +---------------------+
// | Local Files |
// +---------------------+
var lfs []*anime.LocalFile
for _, path := range tt.paths {
lf := anime.NewLocalFile(path, "E:/Anime")
lfs = append(lfs, lf)
}
// +---------------------+
// | MediaContainer |
// +---------------------+
mc := NewMediaContainer(&MediaContainerOptions{
AllMedia: allMedia,
ScanLogger: scanLogger,
})
for _, nm := range mc.NormalizedMedia {
t.Logf("media id: %d, title: %s", nm.ID, nm.GetTitleSafe())
}
// +---------------------+
// | Matcher |
// +---------------------+
matcher := &Matcher{
LocalFiles: lfs,
MediaContainer: mc,
CompleteAnimeCache: completeAnimeCache,
Logger: util.NewLogger(),
ScanLogger: scanLogger,
ScanSummaryLogger: nil,
}
err = matcher.MatchLocalFilesWithMedia()
if err != nil {
t.Fatal("expected result, got error:", err.Error())
}
// +---------------------+
// | FileHydrator |
// +---------------------+
fh := FileHydrator{
LocalFiles: lfs,
AllMedia: mc.NormalizedMedia,
CompleteAnimeCache: completeAnimeCache,
Platform: anilistPlatform,
MetadataProvider: metadataProvider,
AnilistRateLimiter: anilistRateLimiter,
Logger: logger,
ScanLogger: scanLogger,
ScanSummaryLogger: nil,
ForceMediaId: 0,
}
fh.HydrateMetadata()
for _, lf := range fh.LocalFiles {
if lf.MediaId != tt.expectedMediaId {
t.Fatalf("expected media id %d, got %d", tt.expectedMediaId, lf.MediaId)
}
t.Logf("local file: %s,\nmedia id: %d\n", lf.Name, lf.MediaId)
}
})
}
}