Skip to content

Commit 2e25f77

Browse files
committed
test: add validation for deterministic step IDs in Go workflow execution
1 parent fc77ff1 commit 2e25f77

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
@@ -644,13 +644,21 @@ func TestGoRunningStepsInsideGoRoutines(t *testing.T) {
644644
handle, err := RunWorkflow(dbosCtx, goWorkflow, "test-input")
645645
require.NoError(t, err, "failed to run go workflow")
646646
_, err = handle.GetResult()
647-
647+
648648
close(results)
649649
close(errors)
650650

651651
require.NoError(t, err, "failed to get result from go workflow")
652652
assert.Equal(t, numSteps, len(results), "expected %d results, got %d", numSteps, len(results))
653653
assert.Equal(t, 0, len(errors), "expected no errors, got %d", len(errors))
654+
655+
// Test step IDs are deterministic and in the order of execution
656+
steps, err := GetWorkflowSteps(dbosCtx, handle.GetWorkflowID())
657+
require.NoError(t, err, "failed to get workflow steps")
658+
require.Len(t, steps, numSteps, "expected %d steps, got %d", numSteps, len(steps))
659+
for i := 0; i < numSteps; i++ {
660+
assert.Equal(t, i, steps[i].StepID, "expected step ID to be %d, got %d", i, steps[i].StepID)
661+
}
654662
})
655663
}
656664

0 commit comments

Comments
 (0)