settings_test.go 1.7 KB

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