config_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package config_test
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "path/filepath"
  6. "testing"
  7. "github.com/drakkan/sftpgo/api"
  8. "github.com/drakkan/sftpgo/config"
  9. "github.com/drakkan/sftpgo/dataprovider"
  10. "github.com/drakkan/sftpgo/sftpd"
  11. )
  12. func TestLoadConfigTest(t *testing.T) {
  13. configDir := ".."
  14. confName := "sftpgo.conf"
  15. configFilePath := filepath.Join(configDir, confName)
  16. err := config.LoadConfig(configFilePath)
  17. if err != nil {
  18. t.Errorf("error loading config")
  19. }
  20. emptyHTTPDConf := api.HTTPDConf{}
  21. if config.GetHTTPDConfig() == emptyHTTPDConf {
  22. t.Errorf("error loading httpd conf")
  23. }
  24. emptyProviderConf := dataprovider.Config{}
  25. if config.GetProviderConf() == emptyProviderConf {
  26. t.Errorf("error loading provider conf")
  27. }
  28. emptySFTPDConf := sftpd.Configuration{}
  29. if config.GetSFTPDConfig() == emptySFTPDConf {
  30. t.Errorf("error loading SFTPD conf")
  31. }
  32. confName = "sftpgo.conf.missing"
  33. configFilePath = filepath.Join(configDir, confName)
  34. err = config.LoadConfig(configFilePath)
  35. if err == nil {
  36. t.Errorf("loading a non existent config file must fail")
  37. }
  38. ioutil.WriteFile(configFilePath, []byte("{invalid json}"), 0666)
  39. err = config.LoadConfig(configFilePath)
  40. if err == nil {
  41. t.Errorf("loading an invalid config file must fail")
  42. }
  43. os.Remove(configFilePath)
  44. }