@@ -2275,14 +2275,19 @@ func (s *workflowSuite) TestMigrateSuccess() {
22752275 // Mock MigrateSchedule activity to succeed.
22762276 s .env .OnActivity (new (activities ).MigrateScheduleToChasm , mock .Anything , mock .Anything ).Once ().Return (nil )
22772277
2278- // Send migrate signal after the first iteration.
2278+ // Enable migration and request it via signal after the first iteration.
2279+ enableMigration := false
22792280 s .env .RegisterDelayedCallback (func () {
2281+ enableMigration = true
22802282 s .env .SignalWorkflow (SignalNameMigrateToChasm , nil )
22812283 }, 1 * time .Second )
22822284
22832285 CurrentTweakablePolicies .IterationsBeforeContinueAsNew = 100
22842286 s .env .SetStartTime (baseStartTime )
2285- s .env .ExecuteWorkflow (SchedulerWorkflow , & schedulespb.StartScheduleArgs {
2287+ s .env .ExecuteWorkflow (func (ctx workflow.Context , args * schedulespb.StartScheduleArgs ) error {
2288+ return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (),
2289+ func () bool { return enableMigration }, func () bool { return true })
2290+ }, & schedulespb.StartScheduleArgs {
22862291 Schedule : & schedulepb.Schedule {
22872292 Spec : & schedulepb.ScheduleSpec {
22882293 Interval : []* schedulepb.IntervalSpec {{
@@ -2314,8 +2319,10 @@ func (s *workflowSuite) TestMigrateFailure() {
23142319 return errors .New ("migration failed" )
23152320 })
23162321
2317- // Send migrate signal after the first iteration.
2322+ // Enable migration and request it via signal after the first iteration.
2323+ enableMigration := false
23182324 s .env .RegisterDelayedCallback (func () {
2325+ enableMigration = true
23192326 s .env .SignalWorkflow (SignalNameMigrateToChasm , nil )
23202327 }, 1 * time .Second )
23212328
@@ -2328,7 +2335,10 @@ func (s *workflowSuite) TestMigrateFailure() {
23282335
23292336 CurrentTweakablePolicies .IterationsBeforeContinueAsNew = 100
23302337 s .env .SetStartTime (baseStartTime )
2331- s .env .ExecuteWorkflow (SchedulerWorkflow , & schedulespb.StartScheduleArgs {
2338+ s .env .ExecuteWorkflow (func (ctx workflow.Context , args * schedulespb.StartScheduleArgs ) error {
2339+ return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (),
2340+ func () bool { return enableMigration }, func () bool { return true })
2341+ }, & schedulespb.StartScheduleArgs {
23322342 Schedule : & schedulepb.Schedule {
23332343 Spec : & schedulepb.ScheduleSpec {
23342344 Interval : []* schedulepb.IntervalSpec {{
@@ -2370,14 +2380,19 @@ func (s *workflowSuite) TestMigrateFailureThenRetrySuccess() {
23702380 return nil
23712381 })
23722382
2373- // Send migrate signal after the first iteration.
2383+ // Enable migration and request it via signal after the first iteration.
2384+ enableMigration := false
23742385 s .env .RegisterDelayedCallback (func () {
2386+ enableMigration = true
23752387 s .env .SignalWorkflow (SignalNameMigrateToChasm , nil )
23762388 }, 1 * time .Second )
23772389
23782390 CurrentTweakablePolicies .IterationsBeforeContinueAsNew = 100
23792391 s .env .SetStartTime (baseStartTime )
2380- s .env .ExecuteWorkflow (SchedulerWorkflow , & schedulespb.StartScheduleArgs {
2392+ s .env .ExecuteWorkflow (func (ctx workflow.Context , args * schedulespb.StartScheduleArgs ) error {
2393+ return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (),
2394+ func () bool { return enableMigration }, func () bool { return true })
2395+ }, & schedulespb.StartScheduleArgs {
23812396 Schedule : & schedulepb.Schedule {
23822397 Spec : & schedulepb.ScheduleSpec {
23832398 Interval : []* schedulepb.IntervalSpec {{
@@ -2410,8 +2425,10 @@ func (s *workflowSuite) TestMigrateFailureThenSignal() {
24102425 return errors .New ("migration failed" )
24112426 })
24122427
2413- // Send migrate signal after the first iteration.
2428+ // Enable migration and request it via signal after the first iteration.
2429+ enableMigration := false
24142430 s .env .RegisterDelayedCallback (func () {
2431+ enableMigration = true
24152432 s .env .SignalWorkflow (SignalNameMigrateToChasm , nil )
24162433 }, 1 * time .Second )
24172434 // After migration failure, send a pause patch and verify it's processed,
@@ -2434,7 +2451,10 @@ func (s *workflowSuite) TestMigrateFailureThenSignal() {
24342451
24352452 CurrentTweakablePolicies .IterationsBeforeContinueAsNew = 100
24362453 s .env .SetStartTime (baseStartTime )
2437- s .env .ExecuteWorkflow (SchedulerWorkflow , & schedulespb.StartScheduleArgs {
2454+ s .env .ExecuteWorkflow (func (ctx workflow.Context , args * schedulespb.StartScheduleArgs ) error {
2455+ return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (),
2456+ func () bool { return enableMigration }, func () bool { return true })
2457+ }, & schedulespb.StartScheduleArgs {
24382458 Schedule : & schedulepb.Schedule {
24392459 Spec : & schedulepb.ScheduleSpec {
24402460 Interval : []* schedulepb.IntervalSpec {{
@@ -2476,7 +2496,7 @@ func (s *workflowSuite) TestMigrateDynamicConfig() {
24762496
24772497 s .env .SetStartTime (baseStartTime )
24782498 s .env .ExecuteWorkflow (func (ctx workflow.Context , args * schedulespb.StartScheduleArgs ) error {
2479- return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (), func () bool { return true })
2499+ return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (), func () bool { return true }, func () bool { return true } )
24802500 }, & schedulespb.StartScheduleArgs {
24812501 Schedule : & schedulepb.Schedule {
24822502 Spec : & schedulepb.ScheduleSpec {
@@ -2525,7 +2545,7 @@ func (s *workflowSuite) TestMigrateDynamicConfigFlipsMidRun() {
25252545
25262546 s .env .SetStartTime (baseStartTime )
25272547 s .env .ExecuteWorkflow (func (ctx workflow.Context , args * schedulespb.StartScheduleArgs ) error {
2528- return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (), func () bool { return enabled })
2548+ return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (), func () bool { return enabled }, func () bool { return true } )
25292549 }, & schedulespb.StartScheduleArgs {
25302550 Schedule : & schedulepb.Schedule {
25312551 Spec : & schedulepb.ScheduleSpec {
@@ -2564,7 +2584,7 @@ func (s *workflowSuite) TestMigrateDynamicConfigFailure() {
25642584
25652585 s .env .SetStartTime (baseStartTime )
25662586 s .env .ExecuteWorkflow (func (ctx workflow.Context , args * schedulespb.StartScheduleArgs ) error {
2567- return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (), func () bool { return true })
2587+ return schedulerWorkflowWithSpecBuilder (ctx , args , NewSpecBuilder (), func () bool { return true }, func () bool { return true } )
25682588 }, & schedulespb.StartScheduleArgs {
25692589 Schedule : & schedulepb.Schedule {
25702590 Spec : & schedulepb.ScheduleSpec {
0 commit comments