a4k_test.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package a4k
  2. import (
  3. "path/filepath"
  4. "testing"
  5. "github.com/allanpk716/ChineseSubFinder/pkg"
  6. "github.com/allanpk716/ChineseSubFinder/pkg/logic/file_downloader"
  7. "github.com/allanpk716/ChineseSubFinder/pkg/logic/series_helper"
  8. "github.com/allanpk716/ChineseSubFinder/pkg/sub_helper"
  9. "github.com/allanpk716/ChineseSubFinder/pkg/unit_test_helper"
  10. "github.com/allanpk716/ChineseSubFinder/pkg/cache_center"
  11. "github.com/allanpk716/ChineseSubFinder/pkg/log_helper"
  12. "github.com/allanpk716/ChineseSubFinder/pkg/random_auth_key"
  13. "github.com/allanpk716/ChineseSubFinder/pkg/settings"
  14. )
  15. func TestSupplier_searchKeyword(t *testing.T) {
  16. keyword := "Spider-Man: No Way Home 2021"
  17. defInstance()
  18. gotOutSubInfos, err := a4kInstance.searchKeyword(keyword, false)
  19. if err != nil {
  20. t.Fatal(err)
  21. }
  22. for i, searchResultItem := range gotOutSubInfos {
  23. println(i, searchResultItem.Title)
  24. }
  25. }
  26. func TestSupplier_GetSubListFromFile4Movie(t *testing.T) {
  27. videoFPath := "X:\\电影\\失控玩家 (2021)\\失控玩家 (2021).mp4"
  28. defInstance()
  29. gots, err := a4kInstance.GetSubListFromFile4Movie(videoFPath)
  30. if err != nil {
  31. t.Fatal(err)
  32. }
  33. for i, got := range gots {
  34. println(i, got.Name, len(got.Data), got.Ext)
  35. }
  36. }
  37. func TestSupplier_GetSubListFromFile4Series(t *testing.T) {
  38. epsMap := make(map[int][]int, 0)
  39. epsMap[4] = []int{1}
  40. //epsMap[1] = []int{1, 2, 3}
  41. rootDir := unit_test_helper.GetTestDataResourceRootPath([]string{"sub_spplier"}, 5, true)
  42. ser := filepath.Join(rootDir, "zimuku", "series", "黄石 (2018)")
  43. // 读取本地的视频和字幕信息
  44. seriesInfo, err := series_helper.ReadSeriesInfoFromDir(log_helper.GetLogger4Tester(), ser,
  45. 90, false, false, settings.GetSettings().AdvancedSettings.ProxySettings, epsMap)
  46. if err != nil {
  47. t.Fatal(err)
  48. }
  49. defInstance()
  50. gots, err := a4kInstance.GetSubListFromFile4Series(seriesInfo)
  51. if err != nil {
  52. t.Fatal(err)
  53. }
  54. for i, got := range gots {
  55. println(i, got.Name, len(got.Data), got.Ext)
  56. }
  57. organizeSubFiles, err := sub_helper.OrganizeDlSubFiles(log_helper.GetLogger4Tester(), filepath.Base(seriesInfo.DirPath), gots, false)
  58. if err != nil {
  59. t.Fatal(err)
  60. }
  61. for i, got := range organizeSubFiles {
  62. for j, s := range got {
  63. println(i, j, s)
  64. }
  65. }
  66. }
  67. var a4kInstance *Supplier
  68. func defInstance() {
  69. pkg.ReadCustomAuthFile(log_helper.GetLogger4Tester())
  70. authKey := random_auth_key.AuthKey{
  71. BaseKey: pkg.BaseKey(),
  72. AESKey16: pkg.AESKey16(),
  73. AESIv16: pkg.AESIv16(),
  74. }
  75. nowSettings := settings.GetSettings()
  76. nowSettings.ExperimentalFunction.ShareSubSettings.ShareSubEnabled = true
  77. a4kInstance = NewSupplier(file_downloader.NewFileDownloader(
  78. cache_center.NewCacheCenter("test", nowSettings, log_helper.GetLogger4Tester()), authKey))
  79. }