public void Can_be_returned_as_custom_action() { var workflowStartedEventGraph = _eventGraphBuilder.WorkflowStartedEvent("input"); var workflowStartedEvent = new WorkflowStartedEvent(workflowStartedEventGraph); _eventsBuilder.AddProcessedEvents(workflowStartedEventGraph); _eventsBuilder.AddNewEvents(_eventGraphBuilder .ActivityCompletedGraph(Identity.New("activityName", "1.0").ScheduleId(), "id", "result").ToArray()); var workflow = new WorkflowToRestart(); var decisions = workflow.Decisions(_eventsBuilder.Result()); var decision = decisions.Single().SwfDecision(); Assert.That(decision.DecisionType, Is.EqualTo(DecisionType.ContinueAsNewWorkflowExecution)); var attr = decision.ContinueAsNewWorkflowExecutionDecisionAttributes; Assert.That(attr.Input, Is.EqualTo(workflowStartedEvent.Input)); Assert.That(attr.ChildPolicy.Value, Is.EqualTo(workflowStartedEvent.ChildPolicy)); Assert.That(attr.ExecutionStartToCloseTimeout, Is.EqualTo(workflowStartedEvent.ExecutionStartToCloseTimeout.TotalSeconds.ToString())); Assert.That(attr.TagList, Is.EqualTo(workflowStartedEvent.TagList)); Assert.That(attr.TaskList.Name, Is.EqualTo(workflowStartedEvent.TaskList)); Assert.That(attr.TaskPriority, Is.EqualTo(workflowStartedEvent.TaskPriority.ToString())); Assert.That(attr.TaskStartToCloseTimeout, Is.EqualTo(workflowStartedEvent.TaskStartToCloseTimeout.TotalSeconds.ToString())); }
public void Can_be_returned_as_custom_action() { var workflowStartedEventGraph = _builder.WorkflowStartedEvent("input"); var workflowStartedEvent = new WorkflowStartedEvent(workflowStartedEventGraph); var activityCompletedEvents = _builder.ActivityCompletedGraph(Identity.New("activityName", "1.0"), "id", "result"); var activityCompletedEvent = new ActivityCompletedEvent(activityCompletedEvents.First(), activityCompletedEvents); var eventGraph = activityCompletedEvents.Concat(new[] { workflowStartedEventGraph }); var workflowEvents = new WorkflowHistoryEvents(eventGraph); var workflow = new WorkflowToRestart(); workflow.NewExecutionFor(workflowEvents); var restartWorkflowAction = (RestartWorkflowAction)activityCompletedEvent.Interpret(workflow); Assert.That(restartWorkflowAction.Input, Is.EqualTo(workflowStartedEvent.Input)); Assert.That(restartWorkflowAction.ChildPolicy, Is.EqualTo(workflowStartedEvent.ChildPolicy)); Assert.That(restartWorkflowAction.ExecutionStartToCloseTimeout, Is.EqualTo(workflowStartedEvent.ExecutionStartToCloseTimeout)); Assert.That(restartWorkflowAction.TagList, Is.EqualTo(workflowStartedEvent.TagList)); Assert.That(restartWorkflowAction.TaskList, Is.EqualTo(workflowStartedEvent.TaskList)); Assert.That(restartWorkflowAction.TaskPriority, Is.EqualTo(workflowStartedEvent.TaskPriority)); Assert.That(restartWorkflowAction.TaskStartToCloseTimeout, Is.EqualTo(workflowStartedEvent.TaskStartToCloseTimeout)); }