38 lines
966 B
Go
38 lines
966 B
Go
package tasks
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
"testing"
|
|
|
|
"github.com/hibiken/asynq"
|
|
)
|
|
|
|
func TestDummyHandlerProcessesValidTask(t *testing.T) {
|
|
task, err := NewDummyTask("hello-worker")
|
|
if err != nil {
|
|
t.Fatalf("NewDummyTask() error = %v", err)
|
|
}
|
|
|
|
handler := NewDummyHandler(slog.Default())
|
|
if err := handler.ProcessTask(context.Background(), task); err != nil {
|
|
t.Fatalf("ProcessTask() error = %v", err)
|
|
}
|
|
}
|
|
|
|
func TestDummyHandlerRejectsInvalidPayload(t *testing.T) {
|
|
handler := NewDummyHandler(slog.Default())
|
|
err := handler.ProcessTask(context.Background(), asynq.NewTask(TypeDummy, []byte(`{`)))
|
|
if err == nil {
|
|
t.Fatal("ProcessTask() error = nil, want error")
|
|
}
|
|
}
|
|
|
|
func TestDummyHandlerRejectsMissingMessage(t *testing.T) {
|
|
handler := NewDummyHandler(slog.Default())
|
|
err := handler.ProcessTask(context.Background(), asynq.NewTask(TypeDummy, []byte(`{"message":""}`)))
|
|
if err == nil {
|
|
t.Fatal("ProcessTask() error = nil, want error")
|
|
}
|
|
}
|