public void InvokeChain_Continue() { //Arrange const string initialValue = "11"; var request = new RequestMock(initialValue, RequestStepMock.Step3) { Value = 6 }; var customHandler = new ErrorHandlerMock(); var interceptor = new InterceptorMock(); const RequestStepMock passedSteps = RequestStepMock.Step3 | RequestStepMock.Step4 | RequestStepMock.Done; //Act RequestPipelineMock.ExecuteChain(request, new TimeSpan(0, 60, 1), TimeoutLifetime.Step, null, null, customHandler, interceptor); //Assert Assert.IsNull(customHandler.Error, "Ошибок быть не должно."); Assert.IsFalse(interceptor.DefaultMethod, "Должен был отработать кастомный интерсептор."); Assert.IsTrue(request.Default == initialValue, "Заявка должна быть правильно прионициализированна."); Assert.IsTrue(request.StrValue.IsNullOrEmpty(), "Первый шаг не должен был пройти"); Assert.IsTrue(request.Value == 12, "Неправильный результат заявки."); Assert.AreEqual(interceptor.LastStep, passedSteps, "Должны перехватываться все предыдущие шаги в цепочке."); }
public void InvokeChain_DefaultInterceptor() { //Arrange const string initialValue = "11"; var request = new RequestMock(initialValue, RequestStepMock.Step1, null, new TimeSpan(0, 0, 2)); var customHandler = new ErrorHandlerMock(); var interceptor = new InterceptorMock(); const RequestStepMock passedSteps = RequestStepMock.Step1 | RequestStepMock.Step2 | RequestStepMock.Step3 | RequestStepMock.Step4; //Act RequestPipelineMock.ExecuteChain(request, new TimeSpan(0, 0, 1), TimeoutLifetime.Step, null, interceptor, customHandler); //Assert Assert.IsNotNull(customHandler.Error, "Кастомный обработчик отработал неправильно."); Assert.IsTrue(customHandler.Error is OperationCanceledException, "IStepExecutor должен возвращать исходную ошибку."); Assert.IsFalse(interceptor.DefaultMethod, "Должен был отработать кастомный интерсептор."); Assert.AreEqual(interceptor.LastStep, passedSteps, "Должны перехватываться все предыдущие шаги в цепочке."); }