github.com/shrimpyuk/bor@v0.2.15-0.20220224151350-fb4ec6020bae/internal/cli/server/server_test.go (about)

     1  package server
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestServer_DeveloperMode(t *testing.T) {
    11  
    12  	// get the default config
    13  	config := DefaultConfig()
    14  
    15  	// enable developer mode
    16  	config.Developer.Enabled = true
    17  	config.Developer.Period = 2 // block time
    18  
    19  	// start the server
    20  	server, err1 := NewServer(config)
    21  	if err1 != nil {
    22  		t.Fatalf("failed to start server: %v", err1)
    23  	}
    24  
    25  	// record the initial block number
    26  	blockNumber := server.backend.BlockChain().CurrentBlock().Header().Number.Int64()
    27  
    28  	var i int64 = 0
    29  	for i = 0; i < 10; i++ {
    30  		// We expect the node to mine blocks every `config.Developer.Period` time period
    31  		time.Sleep(time.Duration(config.Developer.Period) * time.Second)
    32  		currBlock := server.backend.BlockChain().CurrentBlock().Header().Number.Int64()
    33  		expected := blockNumber + i + 1
    34  		if res := assert.Equal(t, currBlock, expected); res == false {
    35  			break
    36  		}
    37  	}
    38  
    39  	// stop the server
    40  	server.Stop()
    41  }