Co-authored-by: jdl <jdl@desktop> Co-authored-by: jdl <jdl@crumpington.com> Reviewed-on: #3
58 lines
964 B
Go
58 lines
964 B
Go
package peer
|
|
|
|
import (
|
|
"path/filepath"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestFilePaths(t *testing.T) {
|
|
confDir := configDir("netName")
|
|
if filepath.Base(confDir) != "netName" {
|
|
t.Fatal(confDir)
|
|
}
|
|
if filepath.Base(filepath.Dir(confDir)) != ".vppn" {
|
|
t.Fatal(confDir)
|
|
}
|
|
|
|
path := peerConfigPath("netName")
|
|
if path != filepath.Join(confDir, "peer-config.json") {
|
|
t.Fatal(path)
|
|
}
|
|
|
|
path = peerStatePath("netName")
|
|
if path != filepath.Join(confDir, "peer-state.json") {
|
|
t.Fatal(path)
|
|
}
|
|
}
|
|
|
|
func TestStoreLoadJson(t *testing.T) {
|
|
type Object struct {
|
|
Name string
|
|
Age int
|
|
Price float64
|
|
}
|
|
|
|
tmpDir := t.TempDir()
|
|
outPath := filepath.Join(tmpDir, "object.json")
|
|
|
|
obj := Object{
|
|
Name: "Jason",
|
|
Age: 22,
|
|
Price: 123.534,
|
|
}
|
|
|
|
if err := storeJson(obj, outPath); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
obj2 := Object{}
|
|
if err := loadJson(outPath, &obj2); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if !reflect.DeepEqual(obj, obj2) {
|
|
t.Fatal(obj, obj2)
|
|
}
|
|
}
|