package tests import ( "lux/crypto" "lux/host" "lux/node" "lux/proto" "testing" ) type DummyWANProvider2 struct{} func (*DummyWANProvider2) Provide() (host.LuxOption, error) { return &host.LuxOptionWAN{ Addr4: []byte{1, 2, 3, 4}, }, nil } func TestNodeHeartbeat(t *testing.T) { ks := crypto.NewLuxKeyStore("/tmp/keystore.dat") keyNode, _ := crypto.NewLuxKey(proto.LuxTypeNode) ks.Put(keyNode) keyHost, _ := crypto.NewLuxKey(proto.LuxTypeHost) ks.Put(keyHost) node := node.NewLuxNode(keyNode, ks) node.AddExterior("127.0.0.1:9979") node.Start() defer node.Stop() host := host.NewLuxHost("test-host", keyHost, ks) host.AddNode(keyNode.Id, "127.0.0.1:9979") host.AddOptionProvider(&DummyWANProvider2{}) host.Start() defer host.Stop() if err := host.Heartbeat(); err != nil { t.Fatal(err) } hostState := <-node.GetHostStateChannel() t.Log(hostState) }