refactor: rename action→activity, statemachine→workflow, remove HTTP API layer
- action/ → activity/ (Temporal activities) - statemachine/ → workflow/ (Temporal workflows) - Removed internal/api/ and cmd/server/ (api-gw handles HTTP, Temporal is the API) - Created pkg/types/types.go as single source of truth for all shared types - Extracted CallRoleLLM helper (DRY: implementer/planner/judge shared pattern) - Fixed circular import: workflow_graph_query uses string activity names - Fixed logger.logf → logger.Info/Warn (method didn't exist) - Fixed routing types: added Branches, Activity, BackoffSeconds, TaskActivity - Fixed db.Canvas.Name, db.Client→DB, GetWorkflow→FetchWorkflow - Removed unused imports - All tests pass, build clean, vet clean
This commit is contained in:
@@ -6,7 +6,7 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/rockliang/poimen/workflows/internal/routing"
|
||||
"github.com/rockliang/poimen/workflows/statemachine"
|
||||
"github.com/rockliang/poimen/workflows/workflow"
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.temporal.io/sdk/testsuite"
|
||||
)
|
||||
@@ -45,14 +45,14 @@ func TestRoutingWorkflow_SimpleWorkflow(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
input := statemachine.RoutingWorkflowInput{Spec: spec}
|
||||
input := workflow.RoutingWorkflowInput{Spec: spec}
|
||||
|
||||
env.ExecuteWorkflow(statemachine.RoutingWorkflow, input)
|
||||
env.ExecuteWorkflow(workflow.RoutingWorkflow, input)
|
||||
|
||||
require.True(t, env.IsWorkflowCompleted())
|
||||
require.NoError(t, env.GetWorkflowError())
|
||||
|
||||
var output statemachine.RoutingWorkflowOutput
|
||||
var output workflow.RoutingWorkflowOutput
|
||||
require.NoError(t, env.GetWorkflowResult(&output))
|
||||
require.Equal(t, "COMPLETED", output.Status)
|
||||
require.NotNil(t, output.FinalOutput)
|
||||
@@ -96,14 +96,14 @@ func TestRoutingWorkflow_MultiStepWorkflow(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
input := statemachine.RoutingWorkflowInput{Spec: spec}
|
||||
input := workflow.RoutingWorkflowInput{Spec: spec}
|
||||
|
||||
env.ExecuteWorkflow(statemachine.RoutingWorkflow, input)
|
||||
env.ExecuteWorkflow(workflow.RoutingWorkflow, input)
|
||||
|
||||
require.True(t, env.IsWorkflowCompleted())
|
||||
require.NoError(t, env.GetWorkflowError())
|
||||
|
||||
var output statemachine.RoutingWorkflowOutput
|
||||
var output workflow.RoutingWorkflowOutput
|
||||
require.NoError(t, env.GetWorkflowResult(&output))
|
||||
t.Logf("Output: %+v", output)
|
||||
t.Logf("Error: %s", output.Error)
|
||||
@@ -130,14 +130,14 @@ func TestRoutingWorkflow_PassState(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
input := statemachine.RoutingWorkflowInput{Spec: spec}
|
||||
input := workflow.RoutingWorkflowInput{Spec: spec}
|
||||
|
||||
env.ExecuteWorkflow(statemachine.RoutingWorkflow, input)
|
||||
env.ExecuteWorkflow(workflow.RoutingWorkflow, input)
|
||||
|
||||
require.True(t, env.IsWorkflowCompleted())
|
||||
require.NoError(t, env.GetWorkflowError())
|
||||
|
||||
var output statemachine.RoutingWorkflowOutput
|
||||
var output workflow.RoutingWorkflowOutput
|
||||
require.NoError(t, env.GetWorkflowResult(&output))
|
||||
require.Equal(t, "COMPLETED", output.Status)
|
||||
}
|
||||
@@ -160,14 +160,14 @@ func TestRoutingWorkflow_FailState(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
input := statemachine.RoutingWorkflowInput{Spec: spec}
|
||||
input := workflow.RoutingWorkflowInput{Spec: spec}
|
||||
|
||||
env.ExecuteWorkflow(statemachine.RoutingWorkflow, input)
|
||||
env.ExecuteWorkflow(workflow.RoutingWorkflow, input)
|
||||
|
||||
require.True(t, env.IsWorkflowCompleted())
|
||||
require.NoError(t, env.GetWorkflowError())
|
||||
|
||||
var output statemachine.RoutingWorkflowOutput
|
||||
var output workflow.RoutingWorkflowOutput
|
||||
require.NoError(t, env.GetWorkflowResult(&output))
|
||||
require.Equal(t, "FAILED", output.Status)
|
||||
require.Contains(t, output.Error, "WorkflowError")
|
||||
@@ -219,14 +219,14 @@ func TestRoutingWorkflow_ErrorCatch(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
input := statemachine.RoutingWorkflowInput{Spec: spec}
|
||||
input := workflow.RoutingWorkflowInput{Spec: spec}
|
||||
|
||||
env.ExecuteWorkflow(statemachine.RoutingWorkflow, input)
|
||||
env.ExecuteWorkflow(workflow.RoutingWorkflow, input)
|
||||
|
||||
require.True(t, env.IsWorkflowCompleted())
|
||||
require.NoError(t, env.GetWorkflowError())
|
||||
|
||||
var output statemachine.RoutingWorkflowOutput
|
||||
var output workflow.RoutingWorkflowOutput
|
||||
require.NoError(t, env.GetWorkflowResult(&output))
|
||||
require.Equal(t, "FAILED", output.Status)
|
||||
require.Contains(t, output.Error, "CaughtError")
|
||||
@@ -237,14 +237,14 @@ func TestRoutingWorkflow_EmptySpec(t *testing.T) {
|
||||
env := testSuite.NewTestWorkflowEnvironment()
|
||||
|
||||
// Empty spec
|
||||
input := statemachine.RoutingWorkflowInput{Spec: nil}
|
||||
input := workflow.RoutingWorkflowInput{Spec: nil}
|
||||
|
||||
env.ExecuteWorkflow(statemachine.RoutingWorkflow, input)
|
||||
env.ExecuteWorkflow(workflow.RoutingWorkflow, input)
|
||||
|
||||
require.True(t, env.IsWorkflowCompleted())
|
||||
require.NoError(t, env.GetWorkflowError())
|
||||
|
||||
var output statemachine.RoutingWorkflowOutput
|
||||
var output workflow.RoutingWorkflowOutput
|
||||
require.NoError(t, env.GetWorkflowResult(&output))
|
||||
require.Equal(t, "FAILED", output.Status)
|
||||
require.Contains(t, output.Error, "empty")
|
||||
|
||||
Reference in New Issue
Block a user