Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 2
0
        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);
        }