1
0

struct_json_test.go 1.6 KB

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