public void PublishMessageWithRuntimePolicyOn(AsyncActionInvoker.EndInvokeActionMethod sut, IAlternateMethodContext context, ActionDescriptor actionDescriptor)
        {
            var actionDescriptorMock = new Mock<ActionDescriptor>();
            actionDescriptorMock.Setup(a => a.ControllerDescriptor).Returns(new ReflectedControllerDescriptor(typeof(DummyController)));
            actionDescriptorMock.Setup(a => a.ActionName).Returns("Index");

            context.Setup(c => c.ReturnValue).Returns(new ContentResult());
            context.Setup(c => c.Proxy).Returns(
                new ActionInvokerStateMixin
                {
                    Offset = TimeSpan.Zero, 
                    Arguments = new ActionInvoker.InvokeActionMethod.Arguments(new ControllerContext(), actionDescriptor, new Dictionary<string, object>())
                });
            context.Setup(c => c.Arguments).Returns(new object[]
                                                            {
                                                                new ControllerContext(),
                                                                actionDescriptorMock.Object,
                                                                new Dictionary<string, object>()
                                                            });

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(b => b.Publish(It.IsAny<ActionInvoker.InvokeActionMethod.Message>()));
        }
        public void PublishMessageWithRuntimePolicyOn(AsyncActionInvoker.EndInvokeActionMethod sut, IAlternateMethodContext context, ActionDescriptor actionDescriptor)
        {
            var actionDescriptorMock = new Mock <ActionDescriptor>();

            actionDescriptorMock.Setup(a => a.ControllerDescriptor).Returns(new ReflectedControllerDescriptor(typeof(DummyController)));
            actionDescriptorMock.Setup(a => a.ActionName).Returns("Index");

            context.Setup(c => c.ReturnValue).Returns(new ContentResult());
            context.Setup(c => c.Proxy).Returns(
                new ActionInvokerStateMixin
            {
                Offset    = TimeSpan.Zero,
                Arguments = new ActionInvoker.InvokeActionMethod.Arguments(new ControllerContext(), actionDescriptor, new Dictionary <string, object>())
            });
            context.Setup(c => c.Arguments).Returns(new object[]
            {
                new ControllerContext(),
                actionDescriptorMock.Object,
                new Dictionary <string, object>()
            });

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(b => b.Publish(It.IsAny <ActionInvoker.InvokeActionMethod.Message>()));
        }
Example #3
0
        public void PublishMessagesWithOnPolicy(View.Render sut, IAlternateMethodContext context, IViewCorrelationMixin mixin, ViewContext viewContext)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { viewContext, new StringWriter() });
            context.Setup(c => c.Proxy).Returns(mixin);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(b => b.Publish(It.IsAny<View.Render.Message>())); 
        } 
        public void PublishMessagesIfRuntimePolicyIsOnAndViewNotFound(ViewEngine.FindViews sut, IAlternateMethodContext context, ControllerContext controllerContext)
        {
            context.Setup(c => c.Arguments).Returns(GetArguments(controllerContext));
            context.Setup(c => c.TargetType).Returns(typeof(int));
            context.Setup(c => c.ReturnValue).Returns(new ViewEngineResult(Enumerable.Empty<string>()));

            sut.NewImplementation(context);

            context.MessageBroker.Verify(b => b.Publish(It.IsAny<ViewEngine.FindViews.Message>())); 
        }
        public void PublishMessageOnGetServices(DependencyResolver.GetServices sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { typeof(string) });
            context.Setup(c => c.ReturnValue).Returns(Enumerable.Empty<object>());

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(b => b.Publish(It.IsAny<DependencyResolver.GetServices.Message>()));
        }
Example #6
0
        public void ProxyActionInvokerIfControllerFound([Frozen] IProxyFactory proxyFactory, ControllerFactory.CreateController sut, IAlternateMethodContext context, RequestContext requestContext, string controllerName)
        {
            context.Setup(c => c.ReturnValue).Returns(new DummyController());
            context.Setup(c => c.Arguments).Returns(new object[] { requestContext, controllerName });
            proxyFactory.Setup(p => p.IsWrapInterfaceEligible <IActionInvoker>(It.IsAny <Type>())).Returns(true);

            sut.NewImplementation(context);

            proxyFactory.Verify(p => p.WrapInterface(It.IsAny <ControllerActionInvoker>(), It.IsAny <IEnumerable <IAlternateMethod> >(), It.IsAny <IEnumerable <object> >()));
        }
        public void ProceedWithTimerWithNullReturnValue(ValueProviderFactory.GetValueProvider sut, IAlternateMethodContext context, ControllerContext arg1)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1 });
            context.Setup(c => c.ReturnValue).Returns(null);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(c => c.Time(It.IsAny <Action>()));
            context.Verify(c => c.ReturnValue);
        }
        public void PublishMessagesIfRuntimePolicyIsOnAndViewNotFound(ViewEngine.FindViews sut, IAlternateMethodContext context, ControllerContext controllerContext)
        {
            context.Setup(c => c.Arguments).Returns(GetArguments(controllerContext));
            context.Setup(c => c.TargetType).Returns(typeof(int));
            context.Setup(c => c.ReturnValue).Returns(new ViewEngineResult(Enumerable.Empty <string>()));

            sut.NewImplementation(context);

            context.MessageBroker.Verify(b => b.Publish(It.IsAny <ViewEngine.FindViews.Message>()));
        }
        public void ProceedAndPublishMessageWithRuntimePolicyOn(ValueProvider <T> .ContainsPrefix sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { "any sting" });
            context.Setup(c => c.ReturnValue).Returns(true);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <ValueProvider <T> .ContainsPrefix.Message>()));
        }
        public void PublishMessagesWithOnPolicy(View.Render sut, IAlternateMethodContext context, IViewCorrelationMixin mixin, ViewContext viewContext)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { viewContext, new StringWriter() });
            context.Setup(c => c.Proxy).Returns(mixin);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(b => b.Publish(It.IsAny <View.Render.Message>()));
        }
        public void ProceedWithTimerWithNullReturnValue(ValueProviderFactory.GetValueProvider sut, IAlternateMethodContext context, ControllerContext arg1)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1 });
            context.Setup(c => c.ReturnValue).Returns(null);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(c => c.Time(It.IsAny<Action>()));
            context.Verify(c => c.ReturnValue);            
        }
        public void PublishMessageOnGetServices(DependencyResolver.GetServices sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { typeof(string) });
            context.Setup(c => c.ReturnValue).Returns(Enumerable.Empty <object>());

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(b => b.Publish(It.IsAny <DependencyResolver.GetServices.Message>()));
        }
        public void ProxyActionInvokerIfControllerFound([Frozen] IProxyFactory proxyFactory, ControllerFactory.CreateController sut, IAlternateMethodContext context, RequestContext requestContext, string controllerName)
        {
            context.Setup(c => c.ReturnValue).Returns(new DummyController());
            context.Setup(c => c.Arguments).Returns(new object[] { requestContext, controllerName });
            proxyFactory.Setup(p => p.IsWrapInterfaceEligible<IActionInvoker>(It.IsAny<Type>())).Returns(true);

            sut.NewImplementation(context);

            proxyFactory.Verify(p => p.WrapInterface(It.IsAny<ControllerActionInvoker>(), It.IsAny<IEnumerable<IAlternateMethod>>(), It.IsAny<IEnumerable<object>>()));
        }
        public void ProceedAndPublishMessageWithRuntimePolicyOn(ValueProvider <T> .GetValue sut, IAlternateMethodContext context, string arg1, bool arg2, ValueProviderResult returnValue, Type targetType)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1, arg2 });
            context.Setup(c => c.ReturnValue).Returns(returnValue);
            context.Setup(c => c.TargetType).Returns(targetType);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <ValueProvider <T> .GetValue.Message>()));
        }
        public void ProceedAndWarnWithRuntimePolicyOnAndIModelBinder(AlternateType<IModelBinder> alternateModelBinder, IAlternateMethodContext context, Type arg1, IModelBinder returnValue)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1 });
            context.Setup(c => c.ReturnValue).Returns(returnValue);

            var sut = new ModelBinderProvider.GetBinder(alternateModelBinder);
            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny<Action>()));
            context.Verify(mb => mb.ReturnValue);
        }
Example #16
0
        public void ProceedAndWarnWithRuntimePolicyOnAndIModelBinder(AlternateType <IModelBinder> alternateModelBinder, IAlternateMethodContext context, Type arg1, IModelBinder returnValue)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1 });
            context.Setup(c => c.ReturnValue).Returns(returnValue);

            var sut = new ModelBinderProvider.GetBinder(alternateModelBinder);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()));
            context.Verify(mb => mb.ReturnValue);
        }
        public void ProceedWithTimerWithIValueProviderReturnValue([Frozen] IProxyFactory proxyFactory, ValueProviderFactory.GetValueProvider sut, IAlternateMethodContext context, ControllerContext arg1, IValueProvider returnValue)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1 });
            context.Setup(c => c.ReturnValue).Returns(returnValue);
            proxyFactory.Setup(pf => pf.IsWrapInterfaceEligible <IValueProvider>(typeof(IValueProvider))).Returns(true);
            proxyFactory.Setup(pf => pf.WrapInterface(It.IsAny <IValueProvider>(), It.IsAny <IEnumerable <IAlternateMethod> >())).Returns(returnValue);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(c => c.Time(It.IsAny <Action>()));
            context.Verify(c => c.ReturnValue);
            context.VerifySet(c => c.ReturnValue = It.IsAny <IValueProvider>());
        }
        public void PublishMessageWhenExecuted([Frozen] IExecutionTimer timer, IAlternateMethodContext context, System.Web.Routing.IRouteHandler handler)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { (System.Web.HttpContextBase)null, new System.Web.Routing.Route("Test", handler), (string)null, (System.Web.Routing.RouteValueDictionary)null, System.Web.Routing.RouteDirection.IncomingRequest });
            context.Setup(c => c.ReturnValue).Returns(true);
            context.Setup(c => c.InvocationTarget).Returns(new System.Web.Routing.Route("Test", null));

            var impl = new RouteConstraint.Match();

            impl.NewImplementation(context);

            timer.Verify(t => t.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<RouteConstraint.Match.Message>()));
        }
        public void PublishMessageWhenExecuted([Frozen] IExecutionTimer timer, IAlternateMethodContext context)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { (System.Web.HttpContextBase)null, new object(), (string)null, (System.Web.Routing.RouteValueDictionary)null, System.Web.Routing.RouteDirection.IncomingRequest });
            context.Setup(c => c.ReturnValue).Returns(true);
            context.Setup(c => c.InvocationTarget).Returns(new System.Web.Routing.Route("Test", null));

            var impl = new RouteBase.ProcessConstraint();

            impl.NewImplementation(context);

            timer.Verify(t => t.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <RouteBase.ProcessConstraint.Message>()));
        }
        public void ProceedWithTimerWithIValueProviderReturnValue([Frozen] IProxyFactory proxyFactory, ValueProviderFactory.GetValueProvider sut, IAlternateMethodContext context, ControllerContext arg1, IValueProvider returnValue)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1 });
            context.Setup(c => c.ReturnValue).Returns(returnValue);
            proxyFactory.Setup(pf => pf.IsWrapInterfaceEligible<IValueProvider>(typeof(IValueProvider))).Returns(true);
            proxyFactory.Setup(pf => pf.WrapInterface(It.IsAny<IValueProvider>(), It.IsAny<IEnumerable<IAlternateMethod>>())).Returns(returnValue);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(c => c.Time(It.IsAny<Action>()));
            context.Verify(c => c.ReturnValue);
            context.VerifySet(c => c.ReturnValue = It.IsAny<IValueProvider>());
        }
        public void PublishMessageWhenExecuted([Frozen] IExecutionTimer timer, IAlternateMethodContext context, IRouteNameMixin mixin)
        {
            context.Setup(c => c.Arguments).Returns(new object[5]);
            context.Setup(c => c.ReturnValue).Returns(new System.Web.Routing.RouteData());
            context.Setup(c => c.InvocationTarget).Returns(new System.Web.Routing.Route("Test", null));
            context.Setup(c => c.Proxy).Returns(mixin);

            var impl = new Route.GetRouteData(typeof(T));

            impl.NewImplementation(context);

            timer.Verify(t => t.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <Route.GetRouteData.Message>()));
        }
        public void ProceedAndWrapResultWithRuntimePolicyOnAndDefaultModelBinder(AlternateType<IModelBinder> alternateModelBinder, IAlternateMethodContext context, Type arg1, DefaultModelBinder returnValue, IModelBinder newModelBinder)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1 });
            context.Setup(c => c.ReturnValue).Returns(returnValue);
            alternateModelBinder.Setup(amb => amb.TryCreate(It.IsAny<IModelBinder>(), out newModelBinder, null, null)).Returns(true);

            var sut = new ModelBinderProvider.GetBinder(alternateModelBinder);
            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny<Action>()));
            context.Verify(mb => mb.ReturnValue);
            context.Logger.Verify(l => l.Warn(It.IsAny<string>(), context.ReturnValue.GetType()), Times.Never());
            context.VerifySet(c => c.ReturnValue = newModelBinder);
            alternateModelBinder.Verify(amb => amb.TryCreate(It.IsAny<IModelBinder>(), out newModelBinder, null, null));
        }
Example #23
0
        public void ProceedAndWrapResultWithRuntimePolicyOnAndDefaultModelBinder(AlternateType <IModelBinder> alternateModelBinder, IAlternateMethodContext context, Type arg1, DefaultModelBinder returnValue, IModelBinder newModelBinder)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1 });
            context.Setup(c => c.ReturnValue).Returns(returnValue);
            alternateModelBinder.Setup(amb => amb.TryCreate(It.IsAny <IModelBinder>(), out newModelBinder, null, null)).Returns(true);

            var sut = new ModelBinderProvider.GetBinder(alternateModelBinder);

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()));
            context.Verify(mb => mb.ReturnValue);
            context.Logger.Verify(l => l.Warn(It.IsAny <string>(), context.ReturnValue.GetType()), Times.Never());
            context.VerifySet(c => c.ReturnValue = newModelBinder);
            alternateModelBinder.Verify(amb => amb.TryCreate(It.IsAny <IModelBinder>(), out newModelBinder, null, null));
        }
Example #24
0
        public void PublishMessageIfRuntimePolicyOn(ControllerFactory.CreateController sut, IAlternateMethodContext context, RequestContext requestContext, string controllerName)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { requestContext, controllerName });

            sut.NewImplementation(context);

            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <ControllerFactory.CreateController.Message>()));
        }
        public void ProceedIfRuntimePolicyIsOff(ViewEngine.FindViews sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
        }
        public void ProceedIfRuntimePolicyIsOff(ViewEngine.FindViews sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
        }
        public void PublishMessageIfRuntimePolicyOn(ControllerFactory.CreateController sut, IAlternateMethodContext context, RequestContext requestContext, string controllerName)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { requestContext, controllerName });

            sut.NewImplementation(context);

            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<ControllerFactory.CreateController.Message>()));
        }
        public void StartTimingExecution(AsyncActionInvoker.BeginInvokeActionMethod sut, IAlternateMethodContext context, IActionInvokerStateMixin mixin)
        {
            context.Setup(c => c.Proxy).Returns(mixin);
            context.Setup(c => c.Arguments).Returns(new object[]
            {
                new ControllerContext(),
                new Mock <ActionDescriptor>().Object,
                new Dictionary <string, object>(),
                new AsyncCallback(delegate { }),
                "state"
            });

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.Proxy);
            mixin.VerifySet(m => m.Offset = It.IsAny <TimeSpan>());
        }
Example #29
0
        public void ProceedPublishMessageWithRuntimePolicyOn(ModelBinder.BindModel sut, IAlternateMethodContext context, ControllerContext arg1, ModelBindingContext arg2)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1, arg2 });

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <ModelBinder.BindModel.Message>()));
        }
Example #30
0
        public void ProceedWithOffPolicy(View.Render sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.TimerStrategy().Verify(t => t.Time(It.IsAny<Action>()), Times.Never());
        } 
Example #31
0
        public void PublishMessageWithRuntimePolicyOn(DependencyResolver.GetService sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { typeof(IController) });

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(b => b.Publish(It.IsAny <DependencyResolver.GetService.Message>()));
        }
        public void ProceedAndReturnWithRuntimePolicyOff(AsyncActionInvoker.BeginInvokeActionMethod sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.Proxy, Times.Never());
        }
Example #33
0
        public void ProceedAndPublishMessageWithRuntimePolicyOn(ModelBinder.BindProperty sut, IAlternateMethodContext context, ControllerContext controllerContext, ModelBindingContext modelBindingContext, PropertyDescriptor propertyDescriptor)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { controllerContext, modelBindingContext, propertyDescriptor });

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(c => c.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <ModelBinder.BindProperty.Message>()));
        }
Example #34
0
        public void ProccedAndReturnWithRuntimePolicyOff(ActionInvoker.InvokeActionMethod sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(b => b.Publish(It.IsAny <ActionInvoker.InvokeActionMethod.Message>()), Times.Never());
        }
        public void ProceedAndPublishMessageWithRuntimePolicyOn(ModelBinder.BindProperty sut, IAlternateMethodContext context, ControllerContext controllerContext, ModelBindingContext modelBindingContext, PropertyDescriptor propertyDescriptor)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { controllerContext, modelBindingContext, propertyDescriptor });

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(c => c.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<ModelBinder.BindProperty.Message>()));
        }
        public void ProceedAndReturnWithRuntimePolicyOff(ActionInvoker.GetFilters <T> sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.ReturnValue, Times.Never());
        }
        public void ProceedWithOffPolicy(View.Render sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()), Times.Never());
        }
Example #38
0
        public void ProceedAndReturnWithRuntimePolicyOff(ModelBinderProvider.GetBinder sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <object>()), Times.Never());
        }
        public void StartTimingExecution(AsyncActionInvoker.BeginInvokeActionMethod sut, IAlternateMethodContext context, IActionInvokerStateMixin mixin)
        {
            context.Setup(c => c.Proxy).Returns(mixin);
            context.Setup(c => c.Arguments).Returns(new object[]
                                                            {
                                                                new ControllerContext(),
                                                                new Mock<ActionDescriptor>().Object,
                                                                new Dictionary<string, object>(),
                                                                new AsyncCallback(delegate { }),
                                                                "state"
                                                            });

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.Proxy);
            mixin.VerifySet(m => m.Offset = It.IsAny<TimeSpan>());
        }
        public void ProceedPublishMessageWithRuntimePolicyOn(ModelBinder.BindModel sut, IAlternateMethodContext context, ControllerContext arg1, ModelBindingContext arg2)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { arg1, arg2 });

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<ModelBinder.BindModel.Message>()));
        }
        public void ProceedAndReturnWithRuntimePolicyOff(ValueProviderFactory.GetValueProvider sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<object>()), Times.Never());
        }
        public void PublishMessageWithRuntimePolicyOn(DependencyResolver.GetService sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { typeof(IController) });

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(b => b.Publish(It.IsAny<DependencyResolver.GetService.Message>()));
        }
Example #43
0
        public void ProceedImmediatlyIfRuntimePolicyOff(ControllerFactory.CreateController sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <ControllerFactory.CreateController.Message>()), Times.Never());
        }
        public void ProceedImmediatlyIfRuntimePolicyOff(ControllerFactory.CreateController sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<ControllerFactory.CreateController.Message>()), Times.Never());
        }
        public void ProceedThenReturnWithRuntimePolicyOff(AsyncActionInvoker.EndInvokeActionMethod sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.Proxy, Times.Never());
        }
        public void ProccedAndReturnWithRuntimePolicyOff(ActionInvoker.InvokeActionMethod sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(b => b.Publish(It.IsAny<ActionInvoker.InvokeActionMethod.Message>()), Times.Never());
        }
        public void ReturnWhenRuntimePolicyIsOff(IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            var impl = new ActionFilter.OnActionExecuting();

            impl.NewImplementation(context);

            context.Verify(c => c.Proceed());
        }
        public void ProceedWithRuntimePolicyOff(DependencyResolver.GetService sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.ReturnValue, Times.Never());
            context.Verify(c => c.Arguments, Times.Never());
        }
        public void ProceedAndPublishMessagesWithRuntimePolicyOn(ResultExecutedContext argument, IAlternateMethodContext context)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { argument });

            var sut = new ResultFilter.OnResultExecuted();
            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<ResultFilter.OnResultExecuted.Message>()));
        }
        public void ReturnWhenRuntimePolicyIsOff(IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            var impl = new RouteConstraint.Match();

            impl.NewImplementation(context);

            context.Verify(c => c.Proceed());
        }
        public void ProceedAndPublishMessagesWithRuntimePolicyOn(IAlternateMethodContext context, AuthorizationContext argument)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { argument });

            var sut = new AuthorizationFilter.OnAuthorization();
            sut.NewImplementation(context);

            context.TimerStrategy().Verify(c => c.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<AuthorizationFilter.OnAuthorization.Message>()));
        }
        public void ProceedAndReturnWithRuntimePolicyOff(IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            var sut = new AuthorizationFilter.OnAuthorization();
            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<MessageBase>()), Times.Never());
        }
        public void PublishMessageWithRuntimePolicyOn(ActionInvoker.InvokeActionMethod sut, IAlternateMethodContext context)
        {
            var actionDescriptorMock = new Mock<ActionDescriptor>();
            actionDescriptorMock.Setup(a => a.ControllerDescriptor).Returns(new ReflectedControllerDescriptor(typeof(DummyController)));
            actionDescriptorMock.Setup(a => a.ActionName).Returns("Index");

            context.Setup(c => c.ReturnValue).Returns(new ContentResult());
            context.Setup(c => c.Arguments).Returns(new object[]
                                                            {
                                                                new ControllerContext(),
                                                                actionDescriptorMock.Object,
                                                                new Dictionary<string, object>()
                                                            });

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(b => b.Publish(It.IsAny<ActionInvoker.InvokeActionMethod.Message>()));
        } 
Example #54
0
        public void ReturnWhenRuntimePolicyIsOff(IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            var impl = new ActionFilter.OnActionExecuted();

            impl.NewImplementation(context);

            context.Verify(c => c.Proceed());
        }
        public void ReturnWhenRuntimePolicyIsOff(IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            var impl = new Route.GetRouteData(typeof(T));

            impl.NewImplementation(context);

            context.Verify(c => c.Proceed());
        }
        public void ProceedWithRuntimePolicyOff(DependencyResolver.GetServices sut, IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.Verify(c => c.Arguments, Times.Never());
            context.Verify(c => c.ReturnValue, Times.Never());
        }
Example #57
0
        public void ProceedAndPublishMessageWithRuntimePolicyOn(ResultExecutingContext argument, IAlternateMethodContext context)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { argument });

            var sut = new ResultFilter.OnResultExecuting();

            sut.NewImplementation(context);

            context.TimerStrategy().Verify(t => t.Time(It.IsAny <Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <ResultFilter.OnResultExecuting.Message>()));
        }
Example #58
0
        public void ProceedAndReturnWithRuntimePolicyOff(IAlternateMethodContext context)
        {
            context.Setup(c => c.RuntimePolicyStrategy).Returns(() => RuntimePolicy.Off);

            var sut = new ResultFilter.OnResultExecuting();

            sut.NewImplementation(context);

            context.Verify(c => c.Proceed());
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny <MessageBase>()), Times.Never());
        }
        public void PublishMessageWhenExecuted([Frozen] IExecutionTimer timer, ActionExecutingContext argument, IAlternateMethodContext context)
        {
            context.Setup(c => c.Arguments).Returns(new object[] { argument });

            var impl = new ActionFilter.OnActionExecuting();

            impl.NewImplementation(context);

            timer.Verify(t => t.Time(It.IsAny<Action>()));
            context.MessageBroker.Verify(mb => mb.Publish(It.IsAny<ActionFilter.OnActionExecuting.Message>()));
        }
        public void PublishMessagesIfRuntimePolicyIsOnAndViewIsFound([Frozen] IProxyFactory proxyFactory, ViewEngine.FindViews sut, IAlternateMethodContext context, IView view, IViewEngine engine, ControllerContext controllerContext)
        {
            context.Setup(c => c.Arguments).Returns(GetArguments(controllerContext));
            context.Setup(c => c.ReturnValue).Returns(new ViewEngineResult(view, engine));
            context.Setup(c => c.TargetType).Returns(typeof(int));
            proxyFactory.Setup(p => p.IsWrapInterfaceEligible<IView>(It.IsAny<Type>())).Returns(true);
            proxyFactory.Setup(p => 
                    p.WrapInterface(
                        It.IsAny<IView>(), 
                        It.IsAny<IEnumerable<IAlternateMethod>>(),
                        It.IsAny<IEnumerable<object>>()))
                    .Returns(view);

            sut.NewImplementation(context);

            proxyFactory.Verify(p => p.IsWrapInterfaceEligible<IView>(It.IsAny<Type>()));
            context.Logger.Verify(l => l.Info(It.IsAny<string>(), It.IsAny<object[]>()));
            context.VerifySet(c => c.ReturnValue = It.IsAny<ViewEngineResult>());
            context.MessageBroker.Verify(b => b.Publish(It.IsAny<ViewEngine.FindViews.Message>())); 
        }