Skip to content

Commit 8f12ea3

Browse files
committed
CoPilot
1 parent 0df15c8 commit 8f12ea3

3 files changed

Lines changed: 36 additions & 7 deletions

File tree

broker/scheduler/api/api_handler.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ func (h SchedulerApiHandler) getScheduledTask(w http.ResponseWriter, r *http.Req
198198
brokerapi.AddInternalError(ctx, w, err)
199199
return sched_db.ScheduledTask{}, ctx, true
200200
}
201-
if task.ActionData.BatchActionData == nil {
202-
brokerapi.AddInternalError(ctx, w, errors.New("missing batchActionData"))
201+
if err := validateBatchActionTask(task); err != nil {
202+
brokerapi.AddInternalError(ctx, w, err)
203203
return sched_db.ScheduledTask{}, ctx, true
204204
}
205205
return task, ctx, false
@@ -220,6 +220,9 @@ func (h SchedulerApiHandler) DeleteBatchActionsId(w http.ResponseWriter, r *http
220220
if inErr != nil {
221221
return inErr
222222
}
223+
if inErr = validateBatchActionTask(task); inErr != nil {
224+
return inErr
225+
}
223226
active, inErr := schedRepo.HasActiveBatchActionEvents(ctx, task.ID)
224227
if inErr != nil {
225228
return inErr
@@ -345,8 +348,8 @@ func (h SchedulerApiHandler) mutateScheduledTask(
345348
if inErr != nil {
346349
return inErr
347350
}
348-
if task.ActionData.BatchActionData == nil {
349-
return errors.New("missing batchActionData")
351+
if inErr = validateBatchActionTask(task); inErr != nil {
352+
return inErr
350353
}
351354
mutate(&task)
352355
task, inErr = repo.SaveScheduledTask(ctx, sched_db.SaveScheduledTaskParams(task))
@@ -355,6 +358,13 @@ func (h SchedulerApiHandler) mutateScheduledTask(
355358
return task, err
356359
}
357360

361+
func validateBatchActionTask(task sched_db.ScheduledTask) error {
362+
if task.ActionData.BatchActionData == nil {
363+
return errors.New("missing batchActionData")
364+
}
365+
return nil
366+
}
367+
358368
func (h SchedulerApiHandler) writeScheduledTaskMutationError(ctx common.ExtendedContext, w http.ResponseWriter, err error) {
359369
if errors.Is(err, pgx.ErrNoRows) {
360370
brokerapi.AddNotFoundError(w)

broker/scheduler/api/api_handler_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -726,6 +726,24 @@ func TestDeleteBatchActionsId_GetScheduledTaskError(t *testing.T) {
726726
repo.AssertExpectations(t)
727727
}
728728

729+
func TestDeleteBatchActionsId_NotBatchAction(t *testing.T) {
730+
repo := new(MockSchedRepo)
731+
task := scheduledTaskFixture("task-1")
732+
task.ActionData.BatchActionData = nil
733+
repo.On("GetScheduledTaskByIdForUpdate", "task-1", testOwnerScope).Return(task, nil)
734+
735+
h := newHandler(repo)
736+
req := newReq(http.MethodDelete, "")
737+
rr := httptest.NewRecorder()
738+
h.DeleteBatchActionsId(rr, req, "task-1", schedoapi.DeleteBatchActionsIdParams{Symbol: symPtr(testSymbol)})
739+
740+
assertErrorStatus(t, rr, http.StatusInternalServerError)
741+
repo.AssertNotCalled(t, "HasActiveBatchActionEvents", mock.Anything)
742+
repo.AssertNotCalled(t, "DeleteBatchActionEvents", mock.Anything)
743+
repo.AssertNotCalled(t, "DeleteScheduledTask", mock.Anything, mock.Anything)
744+
repo.AssertExpectations(t)
745+
}
746+
729747
func TestDeleteBatchActionsId_DeleteError(t *testing.T) {
730748
repo := new(MockSchedRepo)
731749
task := scheduledTaskFixture("task-1")

broker/scheduler/db/repo.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ type SchedRepo interface {
2828

2929
type PgSchedRepo struct {
3030
repo.PgBaseRepo[SchedRepo]
31-
queries Queries
31+
queries Queries
32+
eventQueries events.Queries
3233
}
3334

3435
// WithTxFunc delegates transaction handling to PgBaseRepo.
@@ -116,11 +117,11 @@ func (r *PgSchedRepo) DeleteScheduledTask(ctx common.ExtendedContext, id string,
116117
}
117118

118119
func (r *PgSchedRepo) HasActiveBatchActionEvents(ctx common.ExtendedContext, taskID string) (bool, error) {
119-
return events.New().HasActiveBatchActionEvents(ctx, r.GetConnOrTx(), taskID)
120+
return r.eventQueries.HasActiveBatchActionEvents(ctx, r.GetConnOrTx(), taskID)
120121
}
121122

122123
func (r *PgSchedRepo) DeleteBatchActionEvents(ctx common.ExtendedContext, taskID string) error {
123-
return events.New().DeleteBatchActionEvents(ctx, r.GetConnOrTx(), taskID)
124+
return r.eventQueries.DeleteBatchActionEvents(ctx, r.GetConnOrTx(), taskID)
124125
}
125126

126127
func (r *PgSchedRepo) GetScheduledTasks(ctx common.ExtendedContext, params GetScheduledTasksParams) ([]ScheduledTask, int64, error) {

0 commit comments

Comments
 (0)