imdb_test.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package imdb_helper
  2. import (
  3. "github.com/ChineseSubFinder/ChineseSubFinder/pkg"
  4. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/local_http_proxy_server"
  5. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/log_helper"
  6. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/media_info_dealers"
  7. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/random_auth_key"
  8. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/settings"
  9. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/subtitle_best_api"
  10. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/tmdb_api"
  11. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/types"
  12. "testing"
  13. )
  14. func TestGetVideoInfoFromIMDB(t *testing.T) {
  15. //imdbID := "tt12708542" // 星球大战:残次品
  16. //imdbID := "tt7016936" // 杀死伊芙
  17. //imdbID := "tt2990738" // 恐怖直播
  18. //imdbID := "tt3032476" // 风骚律师
  19. //imdbID := "tt6468322" // 纸钞屋
  20. //imdbID := "tt15299712" // 云南虫谷
  21. //imdbID := "tt6856242" // The King`s Man
  22. //imdbInfo, err := getVideoInfoFromIMDBWeb(types.VideoNfoInfo{ImdbId: imdbID})
  23. //if err != nil {
  24. // t.Fatal(err)
  25. //}
  26. //t.Logf("\n\n Name: %s\tYear: %d\tID: %s", imdbInfo.Name, imdbInfo.Year, imdbInfo.ID)
  27. }
  28. func TestIsChineseVideo(t *testing.T) {
  29. type args struct {
  30. imdbID string
  31. isMovie bool
  32. }
  33. tests := []struct {
  34. name string
  35. args args
  36. want bool
  37. wantErr bool
  38. }{
  39. {name: "杀死伊芙", args: args{
  40. imdbID: "tt7016936", isMovie: false,
  41. }, want: false, wantErr: false,
  42. },
  43. {name: "云南虫谷", args: args{
  44. imdbID: "tt15299712", isMovie: false,
  45. }, want: true, wantErr: false,
  46. },
  47. {name: "扫黑风暴", args: args{
  48. imdbID: "tt15199554", isMovie: true,
  49. }, want: true, wantErr: false,
  50. },
  51. {name: "倚天屠龙记", args: args{
  52. imdbID: "tt1471140", isMovie: false,
  53. }, want: true, wantErr: false,
  54. },
  55. {name: "Only Murders in the Building", args: args{
  56. imdbID: "tt12851524", isMovie: false,
  57. }, want: false, wantErr: false,
  58. },
  59. }
  60. defInstance()
  61. for _, tt := range tests {
  62. t.Run(tt.name, func(t *testing.T) {
  63. got, imdbInfo, err := IsChineseVideo(dealers, types.VideoNfoInfo{ImdbId: tt.args.imdbID})
  64. if (err != nil) != tt.wantErr {
  65. t.Errorf("IsChineseVideo() error = %v, wantErr %v", err, tt.wantErr)
  66. return
  67. }
  68. if got != tt.want {
  69. t.Errorf("IsChineseVideo() got = %v, want %v", got, tt.want)
  70. }
  71. println("IsChineseVideo:", got)
  72. println(imdbInfo.Name)
  73. println(imdbInfo.Year)
  74. println(imdbInfo.Languages[0])
  75. })
  76. }
  77. }
  78. func defInstance() {
  79. settings.SetConfigRootPath(".")
  80. pkg.ReadCustomAuthFile(log_helper.GetLogger4Tester())
  81. authKey := random_auth_key.AuthKey{
  82. BaseKey: pkg.BaseKey(),
  83. AESKey16: pkg.AESKey16(),
  84. AESIv16: pkg.AESIv16(),
  85. }
  86. err := local_http_proxy_server.SetProxyInfo(settings.Get().AdvancedSettings.ProxySettings.GetInfos())
  87. if err != nil {
  88. panic(err)
  89. }
  90. dealers = media_info_dealers.NewDealers(log_helper.GetLogger4Tester(),
  91. subtitle_best_api.NewSubtitleBestApi(log_helper.GetLogger4Tester(), authKey))
  92. tmdbApi, err := tmdb_api.NewTmdbHelper(log_helper.GetLogger4Tester(), settings.Get().AdvancedSettings.TmdbApiSettings.ApiKey, true)
  93. if err != nil {
  94. panic(err)
  95. }
  96. dealers.SetTmdbHelperInstance(tmdbApi)
  97. }
  98. var (
  99. dealers *media_info_dealers.Dealers
  100. )
  101. func TestGetIMDBInfoFromVideoFile(t *testing.T) {
  102. defInstance()
  103. imdbInfo, err := GetIMDBInfoFromVideoFile(dealers, "X:\\电影\\西虹市首富 (2018)\\西虹市首富 (2018) 720p AAC.mkv", true)
  104. if err != nil {
  105. t.Fatal(err)
  106. }
  107. t.Logf("\n\n Name: %s\tYear: %d\tID: %s", imdbInfo.Name, imdbInfo.Year, imdbInfo.Languages[0])
  108. imdbInfo, err = GetIMDBInfoFromVideoFile(dealers, "X:\\连续剧\\黄石 (2018)\\Season 1\\Yellowstone (2018) - S01E01 - Daybreak Bluray-480p.mkv", false)
  109. if err != nil {
  110. t.Fatal(err)
  111. }
  112. t.Logf("\n\n Name: %s\tYear: %d\tID: %s", imdbInfo.Name, imdbInfo.Year, imdbInfo.Languages[0])
  113. }