settings_test.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package settings
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/internal/pkg/strcut_json"
  4. "reflect"
  5. "testing"
  6. )
  7. func TestNewSettings(t *testing.T) {
  8. inSettings := Settings{
  9. UserInfo: &UserInfo{
  10. Username: "abcd",
  11. Password: "123456",
  12. },
  13. CommonSettings: &CommonSettings{
  14. ScanInterval: "12h",
  15. Threads: 12,
  16. RunScanAtStartUp: true,
  17. MoviePaths: []string{"aaa", "bbb"},
  18. SeriesPaths: []string{"ccc", "ddd"},
  19. },
  20. AdvancedSettings: &AdvancedSettings{
  21. ProxySettings: &ProxySettings{
  22. UseHttpProxy: true,
  23. HttpProxyAddress: "123",
  24. },
  25. DebugMode: true,
  26. SaveFullSeasonTmpSubtitles: true,
  27. SubTypePriority: 1,
  28. SubNameFormatter: 1,
  29. SaveMultiSub: true,
  30. CustomVideoExts: []string{"aaa", "bbb"},
  31. FixTimeLine: true,
  32. },
  33. EmbySettings: &EmbySettings{
  34. Enable: true,
  35. AddressUrl: "123456",
  36. APIKey: "api123",
  37. MaxRequestVideoNumber: 1000,
  38. SkipWatched: true,
  39. MoviePathsMapping: map[string]string{"aa": "123", "bb": "456"},
  40. SeriesPathsMapping: map[string]string{"aab": "123", "bbc": "456"},
  41. },
  42. DeveloperSettings: &DeveloperSettings{
  43. BarkServerAddress: "bark",
  44. },
  45. }
  46. err := strcut_json.ToFile(fileName, inSettings)
  47. if err != nil {
  48. t.Fatal(err)
  49. }
  50. outSettings := NewSettings()
  51. err = strcut_json.ToStruct(fileName, &outSettings)
  52. if err != nil {
  53. t.Fatal(err)
  54. }
  55. if reflect.DeepEqual(inSettings.UserInfo, outSettings.UserInfo) == false {
  56. t.Fatal("inSettings Write And Read Not The Same")
  57. }
  58. }
  59. const fileName = "testfile.json"