Exemple #1
0
        public void EnsureActionResolver_WhenResolverIsNullAndCannotGetOneFromTheContainer_UsesRestfulActionResolver()
        {
            var           mocks          = new MockRepository();
            var           httpContext    = mocks.DynamicMock <HttpContextBase>();
            IRouteHandler handler        = new TestableRouteHandler();
            var           requestContext = new RequestContext(httpContext, new RouteData());

            using (mocks.Record())
            {
                SetupResult.For(httpContext.Request).Return(mocks.DynamicMock <HttpRequestBase>());
            }
            using (mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
            }
        }
        public void EnsureActionResolver_WhenResolverIsNullAndCannotGetOneFromTheContainer_UsesRestfulActionResolver()
        {
            var mocks = new MockRepository();
            var httpContext = mocks.DynamicMock<HttpContextBase>();
            IRouteHandler handler = new TestableRouteHandler();
            var requestContext = new RequestContext(httpContext, new RouteData());

            using(mocks.Record())
            {
                SetupResult.For(httpContext.Request).Return(mocks.DynamicMock<HttpRequestBase>());
            }
            using(mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
            }
        }
Exemple #3
0
        public void EnsureActionResolver_WhenResolverIsUsedInTheConstructor_UsesRestfulActionResolver()
        {
            var           mocks          = new MockRepository();
            var           httpContext    = mocks.DynamicMock <HttpContextBase>();
            var           resolver       = mocks.StrictMock <IRestfulActionResolver>();
            IRouteHandler handler        = new TestableRouteHandler(resolver);
            var           requestContext = new RequestContext(httpContext, new RouteData());

            using (mocks.Record())
            {
                Expect.Call(resolver.ResolveAction(requestContext)).Return(RestfulAction.None);
            }
            using (mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
            }
        }
Exemple #4
0
        public void GetHttpHandler_WithARestfulAction_SetsRouteDataAction()
        {
            var           mocks          = new MockRepository();
            var           httpContext    = mocks.DynamicMock <HttpContextBase>();
            var           resolver       = mocks.DynamicMock <IRestfulActionResolver>();
            IRouteHandler handler        = new TestableRouteHandler(resolver);
            var           requestContext = new RequestContext(httpContext, new RouteData());

            using (mocks.Record())
            {
                SetupResult.For(resolver.ResolveAction(requestContext)).Return(RestfulAction.Update);
            }
            using (mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
                Assert.That(requestContext.RouteData.Values["action"], Is.EqualTo("Update").IgnoreCase);
            }
        }
Exemple #5
0
        public void GetHttpHandler_WithoutARestfulAction_DoesNotSetRouteDataAction()
        {
            var mocks       = new MockRepository();
            var httpContext = mocks.DynamicMock <HttpContextBase>();
            var resolver    = mocks.DynamicMock <IRestfulActionResolver>();

            IRouteHandler handler   = new TestableRouteHandler(resolver);
            var           routeData = new RouteData();

            routeData.Values.Add("action", "goose");
            var requestContext = new RequestContext(httpContext, routeData);

            using (mocks.Record())
            {
                SetupResult.For(resolver.ResolveAction(requestContext)).Return(RestfulAction.None);
            }
            using (mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
                Assert.That(requestContext.RouteData.Values["action"], Is.EqualTo("goose"));
            }
        }
        public void EnsureActionResolver_WhenResolverIsNull_ResolvesAndUsesOneFromTheContainer()
        {
            var mocks = new MockRepository();
            var httpContext = mocks.DynamicMock<HttpContextBase>();
            var resolver = mocks.StrictMock<IRestfulActionResolver>();
            var httpRequest = mocks.DynamicMock<HttpRequestBase>();

            IRouteHandler handler = new TestableRouteHandler();
            var requestContext = new RequestContext(httpContext, new RouteData());

            using(mocks.Record())
            {
                /// Context has to be a mock b/c we want to assert that GetService is called.
                httpContext.Expect(c => c.Request).Repeat.Any().Return(httpRequest);
                httpContext.Expect(c => c.GetService(typeof(IRestfulActionResolver))).Return(resolver).Repeat.Once();

                /// Resolver has to be a mock b/c we want to assert that it was gotten from the container and actually used.
                resolver.Expect(r => r.ResolveAction(requestContext)).Return(RestfulAction.None);
            }
            using(mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
            }
        }
Exemple #7
0
        public void EnsureActionResolver_WhenResolverIsNull_ResolvesAndUsesOneFromTheContainer()
        {
            var mocks       = new MockRepository();
            var httpContext = mocks.DynamicMock <HttpContextBase>();
            var resolver    = mocks.StrictMock <IRestfulActionResolver>();
            var httpRequest = mocks.DynamicMock <HttpRequestBase>();

            IRouteHandler handler        = new TestableRouteHandler();
            var           requestContext = new RequestContext(httpContext, new RouteData());

            using (mocks.Record())
            {
                /// Context has to be a mock b/c we want to assert that GetService is called.
                httpContext.Expect(c => c.Request).Repeat.Any().Return(httpRequest);
                httpContext.Expect(c => c.GetService(typeof(IRestfulActionResolver))).Return(resolver).Repeat.Once();

                /// Resolver has to be a mock b/c we want to assert that it was gotten from the container and actually used.
                resolver.Expect(r => r.ResolveAction(requestContext)).Return(RestfulAction.None);
            }
            using (mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
            }
        }
        public void GetHttpHandler_WithoutARestfulAction_DoesNotSetRouteDataAction()
        {
            var mocks = new MockRepository();
            var httpContext = mocks.DynamicMock<HttpContextBase>();
            var resolver = mocks.DynamicMock<IRestfulActionResolver>();

            IRouteHandler handler = new TestableRouteHandler(resolver);
            var routeData = new RouteData();
            routeData.Values.Add("action", "goose");
            var requestContext = new RequestContext(httpContext, routeData);

            using(mocks.Record())
            {
                SetupResult.For(resolver.ResolveAction(requestContext)).Return(RestfulAction.None);
            }
            using(mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
                Assert.That(requestContext.RouteData.Values["action"], Is.EqualTo("goose"));
            }
        }
        public void GetHttpHandler_WithARestfulAction_SetsRouteDataAction()
        {
            var mocks = new MockRepository();
            var httpContext = mocks.DynamicMock<HttpContextBase>();
            var resolver = mocks.DynamicMock<IRestfulActionResolver>();
            IRouteHandler handler = new TestableRouteHandler(resolver);
            var requestContext = new RequestContext(httpContext, new RouteData());

            using(mocks.Record())
            {
                SetupResult.For(resolver.ResolveAction(requestContext)).Return(RestfulAction.Update);
            }
            using(mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
                Assert.That(requestContext.RouteData.Values["action"], Is.EqualTo("Update").IgnoreCase);
            }
        }
        public void EnsureActionResolver_WhenResolverIsUsedInTheConstructor_UsesRestfulActionResolver()
        {
            var mocks = new MockRepository();
            var httpContext = mocks.DynamicMock<HttpContextBase>();
            var resolver = mocks.StrictMock<IRestfulActionResolver>();
            IRouteHandler handler = new TestableRouteHandler(resolver);
            var requestContext = new RequestContext(httpContext, new RouteData());

            using(mocks.Record())
            {
                Expect.Call(resolver.ResolveAction(requestContext)).Return(RestfulAction.None);
            }
            using(mocks.Playback())
            {
                handler.GetHttpHandler(requestContext);
            }
        }