github.com/evdatsion/aphelion-dpos-bft@v0.32.1/tools/tm-monitor/monitor/network_test.go (about) 1 package monitor_test 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/assert" 8 9 monitor "github.com/evdatsion/aphelion-dpos-bft/tools/tm-monitor/monitor" 10 tmtypes "github.com/evdatsion/aphelion-dpos-bft/types" 11 ) 12 13 func TestNetworkNewBlock(t *testing.T) { 14 n := monitor.NewNetwork() 15 16 n.NewBlock(tmtypes.Header{Height: 5, NumTxs: 100}) 17 assert.Equal(t, int64(5), n.Height) 18 assert.Equal(t, 0.0, n.AvgBlockTime) 19 assert.Equal(t, 0.0, n.AvgTxThroughput) 20 } 21 22 func TestNetworkNewBlockLatency(t *testing.T) { 23 n := monitor.NewNetwork() 24 25 n.NewBlockLatency(9000000.0) // nanoseconds 26 assert.Equal(t, 0.0, n.AvgBlockLatency) 27 } 28 29 func TestNetworkNodeIsDownThenOnline(t *testing.T) { 30 n := monitor.NewNetwork() 31 n.NewNode("test") 32 33 n.NodeIsDown("test") 34 assert.Equal(t, 0, n.NumNodesMonitoredOnline) 35 assert.Equal(t, monitor.Dead, n.Health) 36 n.NodeIsDown("test") 37 assert.Equal(t, 0, n.NumNodesMonitoredOnline) 38 39 n.NodeIsOnline("test") 40 assert.Equal(t, 1, n.NumNodesMonitoredOnline) 41 assert.Equal(t, monitor.ModerateHealth, n.Health) 42 n.NodeIsOnline("test") 43 assert.Equal(t, 1, n.NumNodesMonitoredOnline) 44 } 45 46 func TestNetworkNewNode(t *testing.T) { 47 n := monitor.NewNetwork() 48 assert.Equal(t, 0, n.NumNodesMonitored) 49 assert.Equal(t, 0, n.NumNodesMonitoredOnline) 50 n.NewNode("test") 51 assert.Equal(t, 1, n.NumNodesMonitored) 52 assert.Equal(t, 1, n.NumNodesMonitoredOnline) 53 } 54 55 func TestNetworkNodeDeleted(t *testing.T) { 56 n := monitor.NewNetwork() 57 n.NewNode("test") 58 n.NodeDeleted("test") 59 assert.Equal(t, 0, n.NumNodesMonitored) 60 assert.Equal(t, 0, n.NumNodesMonitoredOnline) 61 } 62 63 func TestNetworkGetHealthString(t *testing.T) { 64 n := monitor.NewNetwork() 65 assert.Equal(t, "full", n.GetHealthString()) 66 n.Health = monitor.ModerateHealth 67 assert.Equal(t, "moderate", n.GetHealthString()) 68 n.Health = monitor.Dead 69 assert.Equal(t, "dead", n.GetHealthString()) 70 } 71 72 func TestNetworkUptime(t *testing.T) { 73 n := monitor.NewNetwork() 74 assert.Equal(t, 100.0, n.Uptime()) 75 } 76 77 func TestNetworkStartTime(t *testing.T) { 78 n := monitor.NewNetwork() 79 assert.True(t, n.StartTime().Before(time.Now())) 80 }