public void ExecuteWorkflowAction_ActionWithoutDefaultConstructorAndNoDependencyResolver_ThrowsMissingMethodException() { DependencyInjectionWorkflow wf = new DependencyInjectionWorkflow(DependencyInjectionWorkflow.State.Start); wf.DependencyResolver = null; TestDelegate del = () => wf.Fire(DependencyInjectionWorkflow.Trigger.DoStuff); Assert.Throws <MissingMethodException>(del); }
public void ExecuteWorkflowAction_WithDependencyResolver_UsesResolver() { IWorkflowEngineDependencyResolver resolver = Substitute.For <IWorkflowEngineDependencyResolver>(); resolver.GetInstance <NoDefaultConstructorAction>().Returns(new NoDefaultConstructorAction("test", 1)); DependencyInjectionWorkflow wf = new DependencyInjectionWorkflow(DependencyInjectionWorkflow.State.Start); wf.DependencyResolver = resolver; wf.Fire(DependencyInjectionWorkflow.Trigger.DoStuff); resolver.Received(1).GetInstance <NoDefaultConstructorAction>(); }
public void ExecuteWorkflows_ActionWithNoDefaultConstructorAndNoDependencyResolver_ThrowsException() { // set up the store and the workflows IWorkflowStore workflowStore = new MemoryWorkflowStore(); IWorkflowServer workflowServer = new WorkflowServer(workflowStore); DependencyInjectionWorkflow workflow = new DependencyInjectionWorkflow(DependencyInjectionWorkflow.State.Start); workflow.CreatedOn = DateTime.UtcNow.AddMinutes(-2); workflow.ResumeOn = DateTime.UtcNow.AddMinutes(-2); workflow.ResumeTrigger = DependencyInjectionWorkflow.Trigger.DoStuff.ToString(); workflowStore.Save(workflow); Assert.AreEqual(0, workflow.RetryCount); // execute workflowServer.ExecuteWorkflows(10); // we won't get an error, but check the workflow to see if any error occurred Assert.AreEqual(1, workflow.RetryCount); Assert.IsTrue(workflow.LastException.Contains("MissingMethodException")); }
public void ExecuteWorkflows_ActionWithNoDefaultConstructorAndDependencyResolver_ExecutesAction() { // set up the store and the workflows IWorkflowStore workflowStore = new MemoryWorkflowStore(); IWorkflowServer workflowServer = new WorkflowServer(workflowStore); DependencyInjectionWorkflow workflow = new DependencyInjectionWorkflow(DependencyInjectionWorkflow.State.Start); workflow.CreatedOn = DateTime.UtcNow.AddMinutes(-2); workflow.ResumeOn = DateTime.UtcNow.AddMinutes(-2); workflow.ResumeTrigger = DependencyInjectionWorkflow.Trigger.DoStuff.ToString(); workflowStore.Save(workflow); MyDependencyResolver resolver = new MyDependencyResolver();// Substitute.For<IWorkflowEngineDependencyResolver>(); //resolver.GetInstance<NoDefaultConstructorAction>().Returns(new NoDefaultConstructorAction("test", 1)); workflowServer.DependencyResolver = resolver; // execute Assert.AreEqual(0, resolver.RunCount); workflowServer.ExecuteWorkflows(10); Assert.AreEqual(1, resolver.RunCount); }