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).
57 lines
1.6 KiB
Go
57 lines
1.6 KiB
Go
package updateworkflow
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"go.temporal.io/api/serviceerror"
|
|
updatepb "go.temporal.io/api/update/v1"
|
|
"go.temporal.io/api/workflowservice/v1"
|
|
"github.com/hanzoai/tasks/api/historyservice/v1"
|
|
"github.com/hanzoai/tasks/common/definition"
|
|
historyi "github.com/hanzoai/tasks/service/history/interfaces"
|
|
"github.com/hanzoai/tasks/service/history/workflow/update"
|
|
"go.uber.org/mock/gomock"
|
|
)
|
|
|
|
func TestApplyRequest_RejectsUpdateOnPausedWorkflow(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ctrl := gomock.NewController(t)
|
|
|
|
ms := historyi.NewMockMutableState(ctrl)
|
|
ms.EXPECT().GetWorkflowKey().Return(definition.NewWorkflowKey("ns-id", "wf-id", "run-id"))
|
|
ms.EXPECT().IsWorkflowExecutionRunning().Return(true)
|
|
ms.EXPECT().IsWorkflowExecutionStatusPaused().Return(true)
|
|
// Required by update.NewRegistry
|
|
ms.EXPECT().GetCurrentVersion().Return(int64(1))
|
|
ms.EXPECT().VisitUpdates(gomock.Any())
|
|
|
|
updateReg := update.NewRegistry(ms)
|
|
|
|
updater := &Updater{
|
|
req: createUpdateRequest("test-update-id"),
|
|
}
|
|
|
|
action, err := updater.ApplyRequest(context.Background(), updateReg, ms)
|
|
|
|
require.Nil(t, action)
|
|
require.Error(t, err)
|
|
var failedPrecondition *serviceerror.FailedPrecondition
|
|
require.ErrorAs(t, err, &failedPrecondition)
|
|
require.Contains(t, err.Error(), "Workflow is paused")
|
|
}
|
|
|
|
func createUpdateRequest(updateID string) *historyservice.UpdateWorkflowExecutionRequest {
|
|
return &historyservice.UpdateWorkflowExecutionRequest{
|
|
Request: &workflowservice.UpdateWorkflowExecutionRequest{
|
|
Request: &updatepb.Request{
|
|
Meta: &updatepb.Meta{
|
|
UpdateId: updateID,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|