|
|
@ -0,0 +1,95 @@ |
|
|
|
package main_test |
|
|
|
|
|
|
|
import ( |
|
|
|
"testing" |
|
|
|
"time" |
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert" |
|
|
|
monitor "github.com/tendermint/netmon/tm-monitor" |
|
|
|
tmtypes "github.com/tendermint/tendermint/types" |
|
|
|
) |
|
|
|
|
|
|
|
func TestNetworkNewBlock(t *testing.T) { |
|
|
|
assert := assert.New(t) |
|
|
|
|
|
|
|
n := monitor.NewNetwork() |
|
|
|
|
|
|
|
n.NewBlock(tmtypes.Header{Height: 5, NumTxs: 100}) |
|
|
|
assert.Equal(uint64(5), n.Height) |
|
|
|
assert.Equal(0.0, n.AvgBlockTime) |
|
|
|
assert.Equal(0.0, n.AvgTxThroughput) |
|
|
|
} |
|
|
|
|
|
|
|
func TestNetworkNewBlockLatency(t *testing.T) { |
|
|
|
assert := assert.New(t) |
|
|
|
|
|
|
|
n := monitor.NewNetwork() |
|
|
|
|
|
|
|
n.NewBlockLatency(9000000.0) // nanoseconds
|
|
|
|
assert.Equal(0.0, n.AvgBlockLatency) |
|
|
|
} |
|
|
|
|
|
|
|
func TestNetworkNodeIsDownThenOnline(t *testing.T) { |
|
|
|
assert := assert.New(t) |
|
|
|
|
|
|
|
n := monitor.NewNetwork() |
|
|
|
n.NewNode("test") |
|
|
|
|
|
|
|
n.NodeIsDown("test") |
|
|
|
assert.Equal(0, n.NumNodesMonitoredOnline) |
|
|
|
assert.Equal(monitor.Dead, n.Health) |
|
|
|
n.NodeIsDown("test") |
|
|
|
assert.Equal(0, n.NumNodesMonitoredOnline) |
|
|
|
|
|
|
|
n.NodeIsOnline("test") |
|
|
|
assert.Equal(1, n.NumNodesMonitoredOnline) |
|
|
|
// assert.Equal(monitor.FullHealth, n.Health)
|
|
|
|
// n.NodeIsOnline("test")
|
|
|
|
// assert.Equal(1, n.NumNodesMonitoredOnline)
|
|
|
|
} |
|
|
|
|
|
|
|
func TestNetworkNewNode(t *testing.T) { |
|
|
|
assert := assert.New(t) |
|
|
|
|
|
|
|
n := monitor.NewNetwork() |
|
|
|
assert.Equal(0, n.NumNodesMonitored) |
|
|
|
assert.Equal(0, n.NumNodesMonitoredOnline) |
|
|
|
n.NewNode("test") |
|
|
|
assert.Equal(1, n.NumNodesMonitored) |
|
|
|
assert.Equal(1, n.NumNodesMonitoredOnline) |
|
|
|
} |
|
|
|
|
|
|
|
func TestNetworkNodeDeleted(t *testing.T) { |
|
|
|
assert := assert.New(t) |
|
|
|
|
|
|
|
n := monitor.NewNetwork() |
|
|
|
n.NewNode("test") |
|
|
|
n.NodeDeleted("test") |
|
|
|
assert.Equal(0, n.NumNodesMonitored) |
|
|
|
assert.Equal(0, n.NumNodesMonitoredOnline) |
|
|
|
} |
|
|
|
|
|
|
|
func TestNetworkGetHealthString(t *testing.T) { |
|
|
|
assert := assert.New(t) |
|
|
|
|
|
|
|
n := monitor.NewNetwork() |
|
|
|
assert.Equal("full", n.GetHealthString()) |
|
|
|
n.Health = monitor.ModerateHealth |
|
|
|
assert.Equal("moderate", n.GetHealthString()) |
|
|
|
n.Health = monitor.Dead |
|
|
|
assert.Equal("dead", n.GetHealthString()) |
|
|
|
} |
|
|
|
|
|
|
|
func TestNetworkUptime(t *testing.T) { |
|
|
|
assert := assert.New(t) |
|
|
|
|
|
|
|
n := monitor.NewNetwork() |
|
|
|
assert.Equal(100.0, n.Uptime()) |
|
|
|
} |
|
|
|
|
|
|
|
func TestNetworkStartTime(t *testing.T) { |
|
|
|
assert := assert.New(t) |
|
|
|
|
|
|
|
n := monitor.NewNetwork() |
|
|
|
assert.True(n.StartTime().Before(time.Now())) |
|
|
|
} |