@@ -719,3 +719,38 @@ func TestCustomPool(t *testing.T) {
719719 assert .False (t , systemDB .(* sysDB ).launched )
720720 })
721721}
722+
723+ func TestWorkflowHandlerRegistration (t * testing.T ) {
724+ databaseURL := getDatabaseURL ()
725+ ctx , err := NewDBOSContext (context .Background (), Config {
726+ DatabaseURL : databaseURL ,
727+ AppName : "test-initialize" ,
728+ })
729+ require .NoError (t , err )
730+ defer func () {
731+ if ctx != nil {
732+ Shutdown (ctx , 1 * time .Minute )
733+ }
734+ }() // Clean up executor
735+
736+ require .NotNil (t , ctx )
737+
738+ wf := func (ctx DBOSContext , input string ) (string , error ) {
739+ return input , nil
740+ }
741+
742+ RegisterWorkflow (ctx , wf )
743+
744+ // Launch a workflow
745+ err = Launch (ctx )
746+ require .NoError (t , err )
747+ defer Shutdown (ctx , 1 * time .Minute )
748+
749+ // Run a workflow
750+ handle , err := RunWorkflow (ctx , wf , "test-input" )
751+ require .NoError (t , err )
752+
753+ result , err := handle .GetResult ()
754+ require .NoError (t , err , "failed to get result from workflow" )
755+ assert .Equal (t , "test-input" , result )
756+ }
0 commit comments