Add unit tests for state functions
Currently unit tests only succeed if the state path is writeable, since it is hardcoded.
This commit is contained in:
parent
13e1515f7d
commit
0162f9da2c
|
@ -0,0 +1,32 @@
|
||||||
|
package cluster
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net"
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/costela/wesher/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Test_State_Save_Load(t *testing.T) {
|
||||||
|
key := "abcdefghijklmnopqrstuvwxyzABCDEF"
|
||||||
|
node := common.Node{
|
||||||
|
Name: "node",
|
||||||
|
Addr: net.ParseIP("10.0.0.2"),
|
||||||
|
}
|
||||||
|
|
||||||
|
cluster := Cluster{
|
||||||
|
state: &State{
|
||||||
|
ClusterKey: []byte(key),
|
||||||
|
Nodes: []common.Node{node},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
cluster.saveState()
|
||||||
|
loaded := &State{}
|
||||||
|
loadState(loaded)
|
||||||
|
|
||||||
|
if !reflect.DeepEqual(cluster.state, loaded) {
|
||||||
|
t.Errorf("cluster state save then reload mistmatch: %s / %s", cluster.state, loaded)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue