public void server_root_round_trip()
        {
            request.FullUrl("http://server/foo/bar");
            request.FullUrl().ShouldEqual("http://server/foo/bar");

            request.RelativeUrl().ShouldEqual("foo/bar");
        }
Example #2
0
        public Scenario(IScenarioSupport support)
        {
            _support = support;
            _request = OwinHttpRequest.ForTesting();
            _request.FullUrl(support.RootUrl);
            _request.Environment.Add("scenario-support", _support);
            _request.Accepts("*/*");

            support.Get <SecuritySettings>().Reset();

            _response = new Lazy <OwinHttpResponse>(() =>
            {
                var response = _support.Send(_request);

                if (!_ignoreStatusCode)
                {
                    validateStatusCode(response);
                }


                return(response);
            });

            _bodyText = new Lazy <string>(() => _response.Value.Body.ReadAsText());
        }
        public void map_from_execution_when_the_request_was_redirected()
        {
            var log = new ChainExecutionLog();

            log.Request.Add(OwinConstants.ResponseStatusCodeKey, 302);
            log.Request.ResponseHeaders().Add(HttpResponseHeaders.ContentType, new[] { "text/plain" });
            log.Request.ResponseHeaders().Add(HttpResponseHeaders.Location, new[] { "/new/place" });


            var request = new OwinHttpRequest(log.Request);

            request.HttpMethod("GET");
            request.FullUrl("http://server/foo");

            log.MarkFinished();

            var summary = new HttpRequestSummary(log);

            summary.id.ShouldBe(log.Id.ToString());
            summary.time.ShouldBe(log.Time.ToHttpDateString());
            summary.url.ShouldBe("/foo");
            summary.method.ShouldBe("GET");
            summary.status.ShouldBe(302);
            summary.contentType.ShouldBe("text/plain");
            summary.duration.ShouldBe(log.ExecutionTime);

            summary.description.ShouldBe("/new/place");
        }
Example #4
0
        public void SetUp()
        {
            theHttpRequest = OwinHttpRequest.ForTesting();
            theHttpRequest.FullUrl("http://server/fubu");


            var registry = new FubuRegistry();

            registry.Actions.IncludeType <OneController>();
            registry.Actions.IncludeType <TwoController>();
            registry.Actions.IncludeType <QueryStringTestController>();
            registry.Actions.IncludeType <OnlyOneActionController>();


            registry.Configure(x => { x.TypeResolver.AddStrategy <UrlModelForwarder>(); });

            //registry.Routes.HomeIs<DefaultModel>();

            graph = BehaviorGraph.BuildFrom(registry);

            var resolver    = graph.Services.DefaultServiceFor <ITypeResolver>().Value;
            var urlResolver = new ChainUrlResolver(theHttpRequest);

            urls = new UrlRegistry(new ChainResolutionCache((ITypeResolver)resolver, graph), urlResolver,
                                   new JQueryUrlTemplate(), theHttpRequest);
        }
        public void map_from_execution_when_the_request_was_redirected()
        {
            var log = new ChainExecutionLog();
            log.Request.Add(OwinConstants.ResponseStatusCodeKey, 302);
            log.Request.ResponseHeaders().Add(HttpResponseHeaders.ContentType, new[] { "text/plain" });
            log.Request.ResponseHeaders().Add(HttpResponseHeaders.Location, new[] { "/new/place" });

            var request = new OwinHttpRequest(log.Request);
            request.HttpMethod("GET");
            request.FullUrl("http://server/foo");

            log.MarkFinished();

            var summary = new HttpRequestSummary(log);

            summary.id.ShouldBe(log.Id.ToString());
            summary.time.ShouldBe(log.Time.ToHttpDateString());
            summary.url.ShouldBe("/foo");
            summary.method.ShouldBe("GET");
            summary.status.ShouldBe(302);
            summary.contentType.ShouldBe("text/plain");
            summary.duration.ShouldBe(log.ExecutionTime);

            summary.description.ShouldBe("/new/place");
        }
        public void SetUp()
        {
            theHttpRequest = OwinHttpRequest.ForTesting();
            theHttpRequest.FullUrl("http://server/fubu");

            var registry = new FubuRegistry();
            registry.Actions.IncludeType<OneController>();
            registry.Actions.IncludeType<TwoController>();
            registry.Actions.IncludeType<QueryStringTestController>();
            registry.Actions.IncludeType<OnlyOneActionController>();

            graph = BehaviorGraph.BuildFrom(registry);

            var urlResolver = new ChainUrlResolver(theHttpRequest);

            urls = new UrlRegistry(new ChainResolutionCache(graph), urlResolver, theHttpRequest);
        }
        public void SetUp()
        {
            var advanced = MockRepository.GenerateMock<ISyncAdvancedSessionOperation>();
            advanced.Stub(x => x.NumberOfRequests).Return(10);
            var session = MockRepository.GenerateMock<IDocumentSession>();
            session.Stub(x => x.Advanced).Return(advanced);

            session.Advanced.NumberOfRequests.ShouldEqual(10);

            var request = new OwinHttpRequest();
            request.FullUrl("http://something/somethingelse");
            request.HttpMethod("GET");

            var currentPrincipal = new GenericPrincipal(new GenericIdentity("bob"), new string[0]);
            Thread.CurrentPrincipal = currentPrincipal;

            theMessage = DisposeRavenSessionMessage.For(session);
        }
Example #8
0
        public void SetUp()
        {
            theHttpRequest = OwinHttpRequest.ForTesting();
            theHttpRequest.FullUrl("http://server/fubu");


            var registry = new FubuRegistry();

            registry.Actions.IncludeType <OneController>();
            registry.Actions.IncludeType <TwoController>();
            registry.Actions.IncludeType <QueryStringTestController>();
            registry.Actions.IncludeType <OnlyOneActionController>();

            graph = BehaviorGraph.BuildFrom(registry);

            var urlResolver = new ChainUrlResolver(theHttpRequest);

            urls = new UrlRegistry(new ChainResolutionCache(graph), urlResolver, theHttpRequest);
        }
        public void SetUp()
        {
            var advanced = MockRepository.GenerateMock <ISyncAdvancedSessionOperation>();

            advanced.Stub(x => x.NumberOfRequests).Return(10);
            var session = MockRepository.GenerateMock <IDocumentSession>();

            session.Stub(x => x.Advanced).Return(advanced);

            session.Advanced.NumberOfRequests.ShouldBe(10);

            var request = new OwinHttpRequest();

            request.FullUrl("http://something/somethingelse");
            request.HttpMethod("GET");

            var currentPrincipal = new GenericPrincipal(new GenericIdentity("bob"), new string[0]);

            Thread.CurrentPrincipal = currentPrincipal;

            theMessage = DisposeRavenSessionMessage.For(session);
        }
        public void map_from_execution_log_happy_path()
        {
            var log = new ChainExecutionLog();
            log.Request.Add(OwinConstants.ResponseStatusCodeKey, 200);
            log.Request.ResponseHeaders().Add(HttpResponseHeaders.ContentType, new []{"text/plain"});

            var request = new OwinHttpRequest(log.Request);
            request.HttpMethod("POST");
            request.FullUrl("http://server/foo");

            log.MarkFinished();

            var summary = new HttpRequestSummary(log);

            summary.id.ShouldBe(log.Id.ToString());
            summary.time.ShouldBe(log.Time.ToHttpDateString());
            summary.url.ShouldBe("/foo");
            summary.method.ShouldBe("POST");
            summary.status.ShouldBe(200);
            summary.contentType.ShouldBe("text/plain");
            summary.duration.ShouldBe(log.ExecutionTime);
        }
        public void SetUp()
        {
            theHttpRequest = OwinHttpRequest.ForTesting();
            theHttpRequest.FullUrl("http://server/fubu");

            var registry = new FubuRegistry();
            registry.Actions.IncludeType<OneController>();
            registry.Actions.IncludeType<TwoController>();
            registry.Actions.IncludeType<QueryStringTestController>();
            registry.Actions.IncludeType<OnlyOneActionController>();

            registry.Configure(x => { x.TypeResolver.AddStrategy<UrlModelForwarder>(); });

            //registry.Routes.HomeIs<DefaultModel>();

            graph = BehaviorGraph.BuildFrom(registry);

            var resolver = graph.Services.DefaultServiceFor<ITypeResolver>().Value;
            var urlResolver = new ChainUrlResolver(theHttpRequest);

            urls = new UrlRegistry(new ChainResolutionCache((ITypeResolver)resolver, graph), urlResolver,
                new JQueryUrlTemplate(), theHttpRequest);
        }
        public void map_from_execution_log_happy_path()
        {
            var log = new ChainExecutionLog();

            log.Request.Add(OwinConstants.ResponseStatusCodeKey, 200);
            log.Request.ResponseHeaders().Add(HttpResponseHeaders.ContentType, new [] { "text/plain" });

            var request = new OwinHttpRequest(log.Request);

            request.HttpMethod("POST");
            request.FullUrl("http://server/foo");

            log.MarkFinished();

            var summary = new HttpRequestSummary(log);

            summary.id.ShouldBe(log.Id.ToString());
            summary.time.ShouldBe(log.Time.ToHttpDateString());
            summary.url.ShouldBe("/foo");
            summary.method.ShouldBe("POST");
            summary.status.ShouldBe(200);
            summary.contentType.ShouldBe("text/plain");
            summary.duration.ShouldBe(log.ExecutionTime);
        }
Example #13
0
 public void should_prepend_scheme()
 {
     request.FullUrl().ShouldStartWith("https://");
 }