test: fix test cases

This commit is contained in:
Marvin Zhang
2024-11-22 10:29:19 +08:00
parent be45478f0e
commit cf15e4f8c1
2 changed files with 20 additions and 7 deletions

View File

@@ -277,13 +277,15 @@ func (r *Runner) configureCmd() (err error) {
// Configure pipes for IPC
r.stdinPipe, err = r.cmd.StdinPipe()
if err != nil {
return trace.TraceError(err)
log.Errorf("error creating stdin pipe: %v", err)
return err
}
// Add stdout pipe for IPC
r.stdoutPipe, err = r.cmd.StdoutPipe()
if err != nil {
return trace.TraceError(err)
log.Errorf("error creating stdout pipe: %v", err)
return err
}
// Initialize IPC channel
@@ -928,13 +930,13 @@ func newTaskRunner(id primitive.ObjectID, svc *Service) (r *Runner, err error) {
// task
r.t, err = svc.GetTaskById(id)
if err != nil {
return nil, err
return r, err
}
// spider
r.s, err = svc.GetSpiderById(r.t.SpiderId)
if err != nil {
return nil, err
return r, err
}
// task fs service

View File

@@ -12,12 +12,17 @@ import (
"github.com/crawlab-team/crawlab/core/constants"
"github.com/crawlab-team/crawlab/core/models/models"
"github.com/crawlab-team/crawlab/core/models/service"
"github.com/spf13/viper"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.mongodb.org/mongo-driver/bson/primitive"
)
func setupTest(t *testing.T) *Runner {
// Mock IsMaster function by setting viper config
viper.Set("node.master", true)
defer viper.Set("node.master", nil) // cleanup after test
// Create a test spider
spider := &models.Spider{
Name: "Test Spider",
@@ -39,12 +44,18 @@ func setupTest(t *testing.T) *Runner {
require.NoError(t, err)
task.Id = taskId
// Create a test runner
// Create a task handler service
svc := newTaskHandlerService()
// Create a task runner
runner, _ := newTaskRunner(task.Id, svc)
require.NotNil(t, runner)
err = runner.updateTask("", nil)
require.Nil(t, err)
// Set task and spider
runner.t = task
runner.s = spider
// Initialize runner
_ = runner.Init()
err = runner.configureCmd()
require.Nil(t, err)