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  }