You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.3 KiB

  1. package config
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "path/filepath"
  6. "testing"
  7. "github.com/stretchr/testify/assert"
  8. "github.com/stretchr/testify/require"
  9. )
  10. func ensureFiles(t *testing.T, rootDir string, files ...string) {
  11. for _, f := range files {
  12. p := rootify(rootDir, f)
  13. _, err := os.Stat(p)
  14. assert.Nil(t, err, p)
  15. }
  16. }
  17. func TestEnsureRoot(t *testing.T) {
  18. assert, require := assert.New(t), require.New(t)
  19. // setup temp dir for test
  20. tmpDir, err := ioutil.TempDir("", "config-test")
  21. require.Nil(err)
  22. defer func() {
  23. err := os.RemoveAll(tmpDir)
  24. require.Nil(err)
  25. }()
  26. // create root dir
  27. EnsureRoot(tmpDir)
  28. // make sure config is set properly
  29. data, err := ioutil.ReadFile(filepath.Join(tmpDir, "config.toml"))
  30. require.Nil(err)
  31. assert.Equal([]byte(defaultConfig("anonymous")), data)
  32. ensureFiles(t, tmpDir, "data")
  33. }
  34. func TestEnsureTestRoot(t *testing.T) {
  35. assert, require := assert.New(t), require.New(t)
  36. testName := "ensureTestRoot"
  37. // create root dir
  38. cfg := ResetTestRoot(testName)
  39. rootDir := cfg.RootDir
  40. // make sure config is set properly
  41. data, err := ioutil.ReadFile(filepath.Join(rootDir, "config.toml"))
  42. require.Nil(err)
  43. assert.Equal([]byte(testConfig("anonymous")), data)
  44. // TODO: make sure the cfg returned and testconfig are the same!
  45. ensureFiles(t, rootDir, "data", "genesis.json", "priv_validator.json")
  46. }