tendermint/tm-monitor/monitor/network_test.go

80 lines
2.0 KiB
Go
Raw Normal View History

package monitor_test
2017-03-06 07:51:17 -08:00
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
tmtypes "github.com/tendermint/tendermint/types"
monitor "github.com/tendermint/tools/tm-monitor/monitor"
2017-03-06 07:51:17 -08:00
)
func TestNetworkNewBlock(t *testing.T) {
n := monitor.NewNetwork()
n.NewBlock(tmtypes.Header{Height: 5, NumTxs: 100})
2018-04-03 04:02:09 -07:00
assert.Equal(t, int64(5), n.Height)
2018-04-03 02:06:34 -07:00
assert.Equal(t, 0.0, n.AvgBlockTime)
assert.Equal(t, 0.0, n.AvgTxThroughput)
2017-03-06 07:51:17 -08:00
}
func TestNetworkNewBlockLatency(t *testing.T) {
n := monitor.NewNetwork()
n.NewBlockLatency(9000000.0) // nanoseconds
2018-04-03 02:06:34 -07:00
assert.Equal(t, 0.0, n.AvgBlockLatency)
2017-03-06 07:51:17 -08:00
}
func TestNetworkNodeIsDownThenOnline(t *testing.T) {
n := monitor.NewNetwork()
n.NewNode("test")
n.NodeIsDown("test")
2018-04-03 02:06:34 -07:00
assert.Equal(t, 0, n.NumNodesMonitoredOnline)
assert.Equal(t, monitor.Dead, n.Health)
2017-03-06 07:51:17 -08:00
n.NodeIsDown("test")
2018-04-03 02:06:34 -07:00
assert.Equal(t, 0, n.NumNodesMonitoredOnline)
2017-03-06 07:51:17 -08:00
n.NodeIsOnline("test")
2018-04-03 02:06:34 -07:00
assert.Equal(t, 1, n.NumNodesMonitoredOnline)
assert.Equal(t, monitor.ModerateHealth, n.Health)
2017-03-06 08:21:18 -08:00
n.NodeIsOnline("test")
2018-04-03 02:06:34 -07:00
assert.Equal(t, 1, n.NumNodesMonitoredOnline)
2017-03-06 07:51:17 -08:00
}
func TestNetworkNewNode(t *testing.T) {
n := monitor.NewNetwork()
2018-04-03 02:06:34 -07:00
assert.Equal(t, 0, n.NumNodesMonitored)
assert.Equal(t, 0, n.NumNodesMonitoredOnline)
2017-03-06 07:51:17 -08:00
n.NewNode("test")
2018-04-03 02:06:34 -07:00
assert.Equal(t, 1, n.NumNodesMonitored)
assert.Equal(t, 1, n.NumNodesMonitoredOnline)
2017-03-06 07:51:17 -08:00
}
func TestNetworkNodeDeleted(t *testing.T) {
n := monitor.NewNetwork()
n.NewNode("test")
n.NodeDeleted("test")
2018-04-03 02:06:34 -07:00
assert.Equal(t, 0, n.NumNodesMonitored)
assert.Equal(t, 0, n.NumNodesMonitoredOnline)
2017-03-06 07:51:17 -08:00
}
func TestNetworkGetHealthString(t *testing.T) {
n := monitor.NewNetwork()
2018-04-03 02:06:34 -07:00
assert.Equal(t, "full", n.GetHealthString())
2017-03-06 07:51:17 -08:00
n.Health = monitor.ModerateHealth
2018-04-03 02:06:34 -07:00
assert.Equal(t, "moderate", n.GetHealthString())
2017-03-06 07:51:17 -08:00
n.Health = monitor.Dead
2018-04-03 02:06:34 -07:00
assert.Equal(t, "dead", n.GetHealthString())
2017-03-06 07:51:17 -08:00
}
func TestNetworkUptime(t *testing.T) {
n := monitor.NewNetwork()
2018-04-03 02:06:34 -07:00
assert.Equal(t, 100.0, n.Uptime())
2017-03-06 07:51:17 -08:00
}
func TestNetworkStartTime(t *testing.T) {
n := monitor.NewNetwork()
2018-04-03 02:06:34 -07:00
assert.True(t, n.StartTime().Before(time.Now()))
2017-03-06 07:51:17 -08:00
}