81 lines
2.0 KiB
Go
81 lines
2.0 KiB
Go
package extension_repo_test
|
|
|
|
import (
|
|
"github.com/davecgh/go-spew/spew"
|
|
"github.com/stretchr/testify/require"
|
|
"seanime/internal/extension"
|
|
hibikemanga "seanime/internal/extension/hibike/manga"
|
|
"seanime/internal/manga/providers"
|
|
"seanime/internal/util"
|
|
"testing"
|
|
)
|
|
|
|
// Tests the external manga provider extension loaded from the extension directory.
|
|
// This will load the extensions from ./testdir
|
|
func TestExternalGoMangaExtension(t *testing.T) {
|
|
|
|
repo := getRepo(t)
|
|
|
|
// Load all extensions
|
|
// This should load all the extensions in the directory
|
|
repo.ReloadExternalExtensions()
|
|
|
|
ext, found := repo.GetMangaProviderExtensionByID("mangapill-external")
|
|
require.True(t, found)
|
|
|
|
t.Logf("\nExtension:\n\tID: %s \n\tName: %s", ext.GetID(), ext.GetName())
|
|
|
|
// Test the extension
|
|
so := hibikemanga.SearchOptions{
|
|
Query: "Dandadan",
|
|
}
|
|
|
|
searchResults, err := ext.GetProvider().Search(so)
|
|
require.NoError(t, err)
|
|
require.GreaterOrEqual(t, len(searchResults), 1)
|
|
|
|
chapters, err := ext.GetProvider().FindChapters(searchResults[0].ID)
|
|
require.NoError(t, err)
|
|
require.GreaterOrEqual(t, len(chapters), 1)
|
|
|
|
spew.Dump(chapters[0])
|
|
|
|
}
|
|
|
|
// Tests the built-in manga provider extension
|
|
func TestBuiltinMangaExtension(t *testing.T) {
|
|
|
|
logger := util.NewLogger()
|
|
repo := getRepo(t)
|
|
|
|
// Load all extensions
|
|
// This should load all the extensions in the directory
|
|
repo.ReloadBuiltInExtension(extension.Extension{
|
|
ID: "seanime-builtin-mangapill",
|
|
Type: "manga-provider",
|
|
Name: "Mangapill",
|
|
Version: "0.0.0",
|
|
Language: "go",
|
|
ManifestURI: "",
|
|
Description: "",
|
|
Author: "",
|
|
Payload: "",
|
|
}, manga_providers.NewMangapill(logger))
|
|
|
|
ext, found := repo.GetMangaProviderExtensionByID("seanime-builtin-mangapill")
|
|
require.True(t, found)
|
|
|
|
t.Logf("\nExtension:\n\tID: %s \n\tName: %s", ext.GetID(), ext.GetName())
|
|
|
|
// Test the extension
|
|
so := hibikemanga.SearchOptions{
|
|
Query: "Dandadan",
|
|
}
|
|
|
|
searchResults, err := ext.GetProvider().Search(so)
|
|
require.NoError(t, err)
|
|
|
|
spew.Dump(searchResults)
|
|
|
|
}
|