conf_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package conf
  2. import (
  3. "bytes"
  4. "path/filepath"
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. "gopkg.in/ini.v1"
  8. "gogs.io/gogs/internal/testutil"
  9. )
  10. func TestInit(t *testing.T) {
  11. ini.PrettyFormat = false
  12. defer func() {
  13. MustInit("")
  14. ini.PrettyFormat = true
  15. }()
  16. assert.Nil(t, Init(filepath.Join("testdata", "custom.ini")))
  17. cfg := ini.Empty()
  18. cfg.NameMapper = ini.SnackCase
  19. for _, v := range []struct {
  20. section string
  21. config any
  22. }{
  23. {"", &App},
  24. {"server", &Server},
  25. {"server", &SSH},
  26. {"repository", &Repository},
  27. {"database", &Database},
  28. {"security", &Security},
  29. {"email", &Email},
  30. {"auth", &Auth},
  31. {"user", &User},
  32. {"session", &Session},
  33. {"attachment", &Attachment},
  34. {"time", &Time},
  35. {"picture", &Picture},
  36. {"mirror", &Mirror},
  37. {"i18n", &I18n},
  38. } {
  39. err := cfg.Section(v.section).ReflectFrom(v.config)
  40. if err != nil {
  41. t.Fatalf("%s: %v", v.section, err)
  42. }
  43. }
  44. buf := new(bytes.Buffer)
  45. _, err := cfg.WriteTo(buf)
  46. if err != nil {
  47. t.Fatal(err)
  48. }
  49. testutil.AssertGolden(t, filepath.Join("testdata", "TestInit.golden.ini"), testutil.Update("TestInit"), buf.String())
  50. }