--- /dev/null
+package config
+
+import (
+ "io/ioutil"
+ "os"
+ "strings"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestDefaultConfig(t *testing.T) {
+ assert := assert.New(t)
+
+ // set up some defaults
+ cfg := DefaultConfig()
+ assert.NotNil(cfg.P2P)
+
+ // check the root dir stuff...
+ cfg.SetRoot("/foo")
+ cfg.DBPath = "/opt/data"
+
+ assert.Equal("/opt/data", cfg.DBDir())
+
+}
+
+func TestNodeKey(t *testing.T) {
+ tmpDir, err := ioutil.TempDir(".", "")
+ if err != nil {
+ t.Fatalf("failed to create temporary data folder: %v", err)
+ }
+ defer os.RemoveAll(tmpDir)
+ config := DefaultConfig()
+ config.BaseConfig.RootDir = tmpDir
+
+ config.P2P.PrivateKey = "0fcbd0be11e35c35c41c686b7ca597bbcf8ecb78e320d01a93349c8ce9420ea4f26d0fbe651bb2c248d6727801329b589ed19e384c9e906d1da4ab2360558bc0"
+ privKey, err := config.NodeKey()
+ if err != nil {
+ t.Fatal("test node key error:", err)
+ }
+
+ if strings.Compare(privKey, config.P2P.PrivateKey) != 0 {
+ t.Fatal("test node key error. want:", config.P2P.PrivateKey, "got:", privKey)
+ }
+
+ config.P2P.PrivateKey = ""
+ writePrivKey, err := config.NodeKey()
+ if err != nil {
+ t.Fatal("test node key error:", err)
+ }
+
+ readPrivKey, err := config.NodeKey()
+ if err != nil {
+ t.Fatal("test node key error:", err)
+ }
+
+ if strings.Compare(writePrivKey, readPrivKey) != 0 {
+ t.Fatal("test node key error. write:", writePrivKey, "read:", readPrivKey)
+ }
+}