mirror of
https://github.com/hanzoai/tasks.git
synced 2026-11-03 03:56:04 +00:00
Full module path rebrand from Temporal to Hanzo Tasks: - go.mod module: github.com/hanzoai/tasks - All internal Go imports updated (1906 files) - cmd/server renamed to cmd/tasksd - Binary name: tasksd (was temporal-server) - Docker images: hanzoai/tasks (was temporalio/server) - README rewritten with Hanzo Tasks branding - LLM.md created with integration notes - Makefile, goreleaser, CI workflows updated - go.temporal.io/sdk and go.temporal.io/api imports preserved (separate repos) Fork of Temporal.io (MIT license).
76 lines
2.6 KiB
Go
76 lines
2.6 KiB
Go
package deletedlqtaskstest
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
"go.temporal.io/api/serviceerror"
|
|
commonspb "github.com/hanzoai/tasks/api/common/v1"
|
|
"github.com/hanzoai/tasks/api/historyservice/v1"
|
|
"github.com/hanzoai/tasks/common/persistence"
|
|
"github.com/hanzoai/tasks/common/persistence/persistencetest"
|
|
"github.com/hanzoai/tasks/service/history/api/deletedlqtasks"
|
|
"github.com/hanzoai/tasks/service/history/tasks"
|
|
"google.golang.org/grpc/codes"
|
|
)
|
|
|
|
func TestInvoke(t *testing.T, manager persistence.HistoryTaskQueueManager) {
|
|
ctx := context.Background()
|
|
t.Run("HappyPath", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
queueKey := persistencetest.GetQueueKey(t, persistencetest.WithQueueType(persistence.QueueTypeHistoryDLQ))
|
|
_, err := manager.CreateQueue(ctx, &persistence.CreateQueueRequest{
|
|
QueueKey: queueKey,
|
|
})
|
|
require.NoError(t, err)
|
|
for range 3 {
|
|
_, err := manager.EnqueueTask(ctx, &persistence.EnqueueTaskRequest{
|
|
QueueType: queueKey.QueueType,
|
|
SourceCluster: queueKey.SourceCluster,
|
|
TargetCluster: queueKey.TargetCluster,
|
|
Task: &tasks.WorkflowTask{},
|
|
SourceShardID: 1,
|
|
})
|
|
require.NoError(t, err)
|
|
}
|
|
_, err = deletedlqtasks.Invoke(ctx, manager, &historyservice.DeleteDLQTasksRequest{
|
|
DlqKey: &commonspb.HistoryDLQKey{
|
|
TaskCategory: int32(queueKey.Category.ID()),
|
|
SourceCluster: queueKey.SourceCluster,
|
|
TargetCluster: queueKey.TargetCluster,
|
|
},
|
|
InclusiveMaxTaskMetadata: &commonspb.HistoryDLQTaskMetadata{
|
|
MessageId: persistence.FirstQueueMessageID + 1,
|
|
},
|
|
}, tasks.NewDefaultTaskCategoryRegistry())
|
|
require.NoError(t, err)
|
|
resp, err := manager.ReadRawTasks(ctx, &persistence.ReadRawTasksRequest{
|
|
QueueKey: queueKey,
|
|
PageSize: 10,
|
|
})
|
|
require.NoError(t, err)
|
|
require.Len(t, resp.Tasks, 1)
|
|
assert.Equal(t, int64(persistence.FirstQueueMessageID+2), resp.Tasks[0].MessageMetadata.ID)
|
|
})
|
|
t.Run("QueueDoesNotExist", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
queueKey := persistencetest.GetQueueKey(t, persistencetest.WithQueueType(persistence.QueueTypeHistoryDLQ))
|
|
_, err := deletedlqtasks.Invoke(ctx, manager, &historyservice.DeleteDLQTasksRequest{
|
|
DlqKey: &commonspb.HistoryDLQKey{
|
|
TaskCategory: int32(queueKey.Category.ID()),
|
|
SourceCluster: queueKey.SourceCluster,
|
|
TargetCluster: queueKey.TargetCluster,
|
|
},
|
|
InclusiveMaxTaskMetadata: &commonspb.HistoryDLQTaskMetadata{
|
|
MessageId: persistence.FirstQueueMessageID,
|
|
},
|
|
}, tasks.NewDefaultTaskCategoryRegistry())
|
|
require.Error(t, err)
|
|
assert.Equal(t, codes.NotFound, serviceerror.ToStatus(err).Code(), err.Error())
|
|
})
|
|
}
|