mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
68 lines
1.7 KiB
Go
68 lines
1.7 KiB
Go
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()
|
|
}
|