Files
multica/server/internal/service/task_start_test.go
hutiefang76 1879bc35e3 MUL-7351: fix(daemon): fence and retry task start acknowledgements (LANX-3) (#8400)
* fix(daemon): recover quick-create writes and task start acknowledgements

* fix(daemon): fence task start retries by claim generation

* fix(daemon): align start claims with main and canonical UTC
2026-09-23 14:25:57 +08:00

33 lines
823 B
Go

package service
import (
"context"
"errors"
"testing"
"github.com/jackc/pgx/v5"
db "github.com/multica-ai/multica/server/pkg/db/generated"
)
type startReplayDB struct {
mockDBTX
startErr error
calls int
}
func (m *startReplayDB) QueryRow(ctx context.Context, sql string, args ...any) pgx.Row {
m.calls++
return &mockRow{err: m.startErr}
}
func TestStartTaskLegacyDoesNotAcknowledgeReplayOrDatabaseFailure(t *testing.T) {
for _, want := range []error{pgx.ErrNoRows, errors.New("database unavailable")} {
store := &startReplayDB{startErr: want}
svc := &TaskService{Queries: db.New(store)}
got, err := svc.StartTask(context.Background(), testUUID(1))
if got != nil || !errors.Is(err, want) || store.calls != 1 {
t.Fatalf("legacy start: task=%v err=%v queries=%d", got, err, store.calls)
}
}
}