Skip to content

Commit 134949b

Browse files
committed
test: add validation for deterministic step IDs in Go workflow execution
1 parent 81ada93 commit 134949b

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

dbos/workflows_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -930,13 +930,21 @@ func TestGoRunningStepsInsideGoRoutines(t *testing.T) {
930930
handle, err := RunWorkflow(dbosCtx, goWorkflow, "test-input")
931931
require.NoError(t, err, "failed to run go workflow")
932932
_, err = handle.GetResult()
933-
933+
934934
close(results)
935935
close(errors)
936936

937937
require.NoError(t, err, "failed to get result from go workflow")
938938
assert.Equal(t, numSteps, len(results), "expected %d results, got %d", numSteps, len(results))
939939
assert.Equal(t, 0, len(errors), "expected no errors, got %d", len(errors))
940+
941+
// Test step IDs are deterministic and in the order of execution
942+
steps, err := GetWorkflowSteps(dbosCtx, handle.GetWorkflowID())
943+
require.NoError(t, err, "failed to get workflow steps")
944+
require.Len(t, steps, numSteps, "expected %d steps, got %d", numSteps, len(steps))
945+
for i := 0; i < numSteps; i++ {
946+
assert.Equal(t, i, steps[i].StepID, "expected step ID to be %d, got %d", i, steps[i].StepID)
947+
}
940948
})
941949
}
942950

0 commit comments

Comments
 (0)