mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-30 18:00:56 +01:00
feat: added modules
This commit is contained in:
102
core/controllers/test/task_test.go
Normal file
102
core/controllers/test/task_test.go
Normal file
@@ -0,0 +1,102 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"github.com/crawlab-team/crawlab/core/entity"
|
||||
"github.com/crawlab-team/crawlab/core/interfaces"
|
||||
"github.com/crawlab-team/crawlab/core/models/delegate"
|
||||
"github.com/crawlab-team/crawlab/core/models/models"
|
||||
"github.com/crawlab-team/crawlab/core/models/service"
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"net/http"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestTaskController_Delete(t *testing.T) {
|
||||
T.Setup(t)
|
||||
e := T.NewExpect(t)
|
||||
|
||||
task := models.Task{
|
||||
Id: primitive.NewObjectID(),
|
||||
}
|
||||
|
||||
// add task
|
||||
err := delegate.NewModelDelegate(&task).Add()
|
||||
require.Nil(t, err)
|
||||
|
||||
// add task stat
|
||||
err = delegate.NewModelDelegate(&models.TaskStat{
|
||||
Id: task.Id,
|
||||
}).Add()
|
||||
require.Nil(t, err)
|
||||
|
||||
// delete
|
||||
T.WithAuth(e.DELETE("/tasks/" + task.Id.Hex())).
|
||||
Expect().Status(http.StatusOK)
|
||||
|
||||
// get
|
||||
T.WithAuth(e.GET("/tasks/" + task.Id.Hex())).
|
||||
Expect().Status(http.StatusNotFound)
|
||||
|
||||
// task stats
|
||||
modelTaskStatSvc := service.NewBaseService(interfaces.ModelIdTaskStat)
|
||||
taskStatCount, err := modelTaskStatSvc.Count(bson.M{
|
||||
"_id": task.Id,
|
||||
})
|
||||
require.Nil(t, err)
|
||||
require.Zero(t, taskStatCount)
|
||||
}
|
||||
|
||||
func TestTaskController_DeleteList(t *testing.T) {
|
||||
T.Setup(t)
|
||||
e := T.NewExpect(t)
|
||||
|
||||
tasks := []models.Task{
|
||||
{
|
||||
Id: primitive.NewObjectID(),
|
||||
},
|
||||
{
|
||||
Id: primitive.NewObjectID(),
|
||||
},
|
||||
}
|
||||
|
||||
// add spiders
|
||||
var taskIds []primitive.ObjectID
|
||||
for _, task := range tasks {
|
||||
// add task
|
||||
err := delegate.NewModelDelegate(&task).Add()
|
||||
require.Nil(t, err)
|
||||
|
||||
// add task stat
|
||||
err = delegate.NewModelDelegate(&models.TaskStat{
|
||||
Id: task.Id,
|
||||
}).Add()
|
||||
require.Nil(t, err)
|
||||
|
||||
taskIds = append(taskIds, task.Id)
|
||||
}
|
||||
|
||||
// delete tasks
|
||||
T.WithAuth(e.DELETE("/tasks")).
|
||||
WithJSON(entity.BatchRequestPayload{
|
||||
Ids: taskIds,
|
||||
}).Expect().Status(http.StatusOK)
|
||||
|
||||
// get tasks
|
||||
for _, task := range tasks {
|
||||
// get
|
||||
T.WithAuth(e.GET("/tasks/" + task.Id.Hex())).
|
||||
Expect().Status(http.StatusNotFound)
|
||||
}
|
||||
|
||||
// task stats
|
||||
modelTaskStatSvc := service.NewBaseService(interfaces.ModelIdTaskStat)
|
||||
taskStatCount, err := modelTaskStatSvc.Count(bson.M{
|
||||
"_id": bson.M{
|
||||
"$in": taskIds,
|
||||
},
|
||||
})
|
||||
require.Nil(t, err)
|
||||
require.Zero(t, taskStatCount)
|
||||
}
|
||||
Reference in New Issue
Block a user