public void Scenario() { var workflowId = Host.StartWorkflow("EventWorkflow", new MyDataClass() { StrValue = "0" }).Result; int counter = 0; while ((PersistenceProvider.GetSubcriptions("MyEvent", "0", DateTime.MaxValue).Result.Count() == 0) && (counter < 150)) { System.Threading.Thread.Sleep(200); counter++; } Host.PublishEvent("MyEvent", "0", "Pass"); var instance = PersistenceProvider.GetWorkflowInstance(workflowId).Result; counter = 0; while ((instance.Status == WorkflowStatus.Runnable) && (counter < 150)) { System.Threading.Thread.Sleep(200); counter++; instance = PersistenceProvider.GetWorkflowInstance(workflowId).Result; } instance.Status.Should().Be(WorkflowStatus.Complete); (instance.Data as MyDataClass).StrValue.Should().Be("Pass"); }
public void Scenario() { var workflowId = Host.StartWorkflow("ParallelWorkflow", new MyDataClass()).Result; int counter = 0; while ((Step12Ticker == 0) && (Step32Ticker == 0) && (PersistenceProvider.GetSubcriptions("MyEvent", "0", DateTime.MaxValue).Result.Count() == 0) && (counter < 150)) { System.Threading.Thread.Sleep(200); counter++; } Step22Ticker.Should().Be(0); Host.PublishEvent("MyEvent", "0", "Pass"); var instance = PersistenceProvider.GetWorkflowInstance(workflowId).Result; counter = 0; while ((instance.Status == WorkflowStatus.Runnable) && (counter < 150)) { System.Threading.Thread.Sleep(200); counter++; instance = PersistenceProvider.GetWorkflowInstance(workflowId).Result; } instance.Status.Should().Be(WorkflowStatus.Complete); StartStepTicker.Should().Be(1); EndStepTicker.Should().Be(1); Step11Ticker.Should().Be(1); Step12Ticker.Should().Be(1); Step21Ticker.Should().Be(1); Step22Ticker.Should().Be(1); Step31Ticker.Should().Be(1); Step32Ticker.Should().Be(1); }