mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-26 17:49:15 +01:00
feat: added modules
This commit is contained in:
67
core/node/test/base_test.go
Normal file
67
core/node/test/base_test.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"github.com/crawlab-team/crawlab/core/constants"
|
||||
"github.com/stretchr/testify/require"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestNodeServices_Master_Worker(t *testing.T) {
|
||||
T, _ = NewTest()
|
||||
T.Setup(t)
|
||||
startMasterWorker()
|
||||
|
||||
// validate master
|
||||
masterNodeKey := T.MasterSvc.GetConfigService().GetNodeKey()
|
||||
masterNode, err := T.ModelSvc.GetNodeByKey(masterNodeKey, nil)
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, constants.NodeStatusOnline, masterNode.Status)
|
||||
require.Equal(t, masterNodeKey, masterNode.Key)
|
||||
require.True(t, masterNode.IsMaster)
|
||||
|
||||
// validate worker
|
||||
workerNodeKey := T.WorkerSvc.GetConfigService().GetNodeKey()
|
||||
workerNode, err := T.ModelSvc.GetNodeByKey(workerNodeKey, nil)
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, constants.NodeStatusOnline, workerNode.Status)
|
||||
require.Equal(t, workerNodeKey, workerNode.Key)
|
||||
require.False(t, workerNode.IsMaster)
|
||||
|
||||
stopMasterWorker()
|
||||
}
|
||||
|
||||
func TestNodeServices_Default(t *testing.T) {
|
||||
T, _ = NewTest()
|
||||
T.Setup(t)
|
||||
|
||||
go T.DefaultSvc.Start()
|
||||
time.Sleep(1 * time.Second)
|
||||
|
||||
// validate default
|
||||
defaultNodeKey := T.DefaultSvc.GetConfigService().GetNodeKey()
|
||||
defaultNode, err := T.ModelSvc.GetNodeByKey(defaultNodeKey, nil)
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, constants.NodeStatusOnline, defaultNode.Status)
|
||||
require.Equal(t, defaultNodeKey, defaultNode.Key)
|
||||
require.True(t, defaultNode.IsMaster)
|
||||
|
||||
T.DefaultSvc.Stop()
|
||||
time.Sleep(1 * time.Second)
|
||||
}
|
||||
|
||||
func TestNodeServices_Monitor(t *testing.T) {
|
||||
T, _ = NewTest()
|
||||
T.Setup(t)
|
||||
startMasterWorkerMonitor()
|
||||
time.Sleep(3 * time.Second)
|
||||
|
||||
// stop worker
|
||||
T.WorkerSvcMonitor.Stop()
|
||||
time.Sleep(5 * time.Second)
|
||||
|
||||
// validate
|
||||
require.True(t, T.MasterSvcMonitor.GetServer().IsStopped())
|
||||
|
||||
stopMasterWorkerMonitor()
|
||||
}
|
||||
Reference in New Issue
Block a user