test: updated test cases

This commit is contained in:
Marvin Zhang
2024-10-20 18:45:54 +08:00
parent fa2b024906
commit d7ac9ebb1f
2 changed files with 245 additions and 239 deletions

View File

@@ -432,6 +432,17 @@ func DeleteSpiderList(c *gin.Context) {
return
}
// Fetch spiders before deletion
spiders, err := service.NewModelServiceV2[models2.SpiderV2]().GetMany(bson.M{
"_id": bson.M{
"$in": payload.Ids,
},
}, nil)
if err != nil {
HandleErrorInternalServerError(c, err)
return
}
if err := mongo.RunTransaction(func(context mongo2.SessionContext) (err error) {
// delete spiders
if err := service.NewModelServiceV2[models2.SpiderV2]().DeleteMany(bson.M{
@@ -498,29 +509,21 @@ func DeleteSpiderList(c *gin.Context) {
return
}
// delete spider directories
// Delete spider directories
go func() {
wg := sync.WaitGroup{}
wg.Add(len(payload.Ids))
for _, id := range payload.Ids {
go func(id primitive.ObjectID) {
wg.Add(len(spiders))
for i := range spiders {
go func(s *models2.SpiderV2) {
defer wg.Done()
// spider
s, err := service.NewModelServiceV2[models2.SpiderV2]().GetById(id)
if err != nil {
log.Errorf("failed to get spider: %s", err.Error())
trace.PrintError(err)
return
}
// skip spider with git
// Skip spider with git
if !s.GitId.IsZero() {
return
}
// delete spider directory
fsSvc, err := getSpiderFsSvcById(id)
// Delete spider directory
fsSvc, err := getSpiderFsSvcById(s.Id)
if err != nil {
log.Errorf("failed to get spider fs service: %s", err.Error())
trace.PrintError(err)
@@ -532,7 +535,7 @@ func DeleteSpiderList(c *gin.Context) {
trace.PrintError(err)
return
}
}(id)
}(&spiders[i])
}
wg.Wait()
}()