Files
seanime-docker/seanime-2.9.10/internal/extension_repo/mock.go
2025-09-20 14:08:38 +01:00

170 lines
5.4 KiB
Go

package extension_repo
import (
"seanime/internal/events"
"seanime/internal/extension"
"seanime/internal/manga/providers"
"seanime/internal/onlinestream/providers"
"seanime/internal/torrents/animetosho"
"seanime/internal/torrents/nyaa"
"seanime/internal/torrents/seadex"
"seanime/internal/util"
"seanime/internal/util/filecache"
"testing"
)
func GetMockExtensionRepository(t *testing.T) *Repository {
logger := util.NewLogger()
filecacher, _ := filecache.NewCacher(t.TempDir())
extensionRepository := NewRepository(&NewRepositoryOptions{
Logger: logger,
ExtensionDir: t.TempDir(),
WSEventManager: events.NewMockWSEventManager(logger),
FileCacher: filecacher,
})
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "comick",
Name: "ComicK",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeMangaProvider,
Author: "Seanime",
Description: "",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/comick.webp",
}, manga_providers.NewComicK(logger))
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "comick-multi",
Name: "ComicK (Multi)",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeMangaProvider,
Author: "Seanime",
Description: "",
Lang: "multi",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/comick.webp",
}, manga_providers.NewComicKMulti(logger))
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "mangapill",
Name: "Mangapill",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeMangaProvider,
Author: "Seanime",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/mangapill.png",
}, manga_providers.NewMangapill(logger))
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "mangadex",
Name: "Mangadex",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeMangaProvider,
Author: "Seanime",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/mangadex.png",
}, manga_providers.NewMangadex(logger))
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "manganato",
Name: "Manganato",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeMangaProvider,
Author: "Seanime",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/manganato.png",
}, manga_providers.NewManganato(logger))
//
// Built-in online stream providers
//
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "gogoanime",
Name: "Gogoanime",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeOnlinestreamProvider,
Author: "Seanime",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/gogoanime.png",
}, onlinestream_providers.NewGogoanime(logger))
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "zoro",
Name: "Hianime",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeOnlinestreamProvider,
Author: "Seanime",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/hianime.png",
}, onlinestream_providers.NewZoro(logger))
//
// Built-in torrent providers
//
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "nyaa",
Name: "Nyaa",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeAnimeTorrentProvider,
Author: "Seanime",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/nyaa.png",
}, nyaa.NewProvider(logger, nyaa.CategoryAnimeEng))
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "nyaa-sukebei",
Name: "Nyaa Sukebei",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeAnimeTorrentProvider,
Author: "Seanime",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/nyaa.png",
}, nyaa.NewSukebeiProvider(logger))
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "animetosho",
Name: "AnimeTosho",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeAnimeTorrentProvider,
Author: "Seanime",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/animetosho.png",
}, animetosho.NewProvider(logger))
extensionRepository.ReloadBuiltInExtension(extension.Extension{
ID: "seadex",
Name: "SeaDex",
Version: "",
ManifestURI: "builtin",
Language: extension.LanguageGo,
Type: extension.TypeAnimeTorrentProvider,
Author: "Seanime",
Lang: "en",
Icon: "https://raw.githubusercontent.com/5rahim/hibike/main/icons/seadex.png",
}, seadex.NewProvider(logger))
return extensionRepository
}