public Task ItShouldFireOnSendingHeaders()
        {
            var  stateObject           = new object();
            bool onSendingHeadersFired = false;
            bool stateObjectMatched    = false;

            var routes = new RouteCollection();

            routes.MapOwinPath <AppDelegate>(string.Empty,
                                             env =>
            {
                var onSendingHeadersRegister = env.Get <Action <Action <object>, object> >("server.OnSendingHeaders");
                onSendingHeadersRegister(
                    passedObject =>
                {
                    onSendingHeadersFired = true;
                    stateObjectMatched    = object.ReferenceEquals(passedObject, stateObject);
                }, stateObject);
                return(TaskHelpers.Completed());
            });
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost/alpha/beta")));

            Task task = ExecuteRequestContext(requestContext);

            return(task.ContinueWith(
                       _ =>
            {
                task.Exception.ShouldBe(null);
                onSendingHeadersFired.ShouldBe(true);
                stateObjectMatched.ShouldBe(true);
            }));
        }
Example #2
0
        public static void RegisterRoutes(RouteCollection routes)
        {
            var settings = new FriendlyUrlSettings();

            settings.AutoRedirectMode = RedirectMode.Permanent;
            routes.EnableFriendlyUrls(settings);
            routes.MapOwinPath("/Pages/LoginPage.aspx");
        }
Example #3
0
        public void AddOwinRouteOnRouteCollectionShouldReturnNullForMismatchedPaths()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/beta"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldBe(null);
        }
Example #4
0
        public void ItShouldNotMatchShorterRequestPaths()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alph"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldBe(null);
        }
Example #5
0
        public void ItShouldNotMatchWhenTrailingSlashIsAbsent()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath("alpha/");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alpha"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldBe(null);
        }
 public static void RegisterSwagger(RouteCollection routes)
 {
     routes.MapOwinPath("swagger", app =>
     {
         app.UseSwaggerUi3(typeof(SwaggerConfig).Assembly, settings =>
         {
             settings.GeneratorSettings.Title = "CurrencyConverter API";
             settings.MiddlewareBasePath      = "/swagger";
         });
     });
 }
Example #7
0
        public void AddOwinRouteOnRouteCollectionShouldMatchGivenPath()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alpha"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldNotBe(null);
            routeData.RouteHandler.ShouldBeTypeOf<OwinRouteHandler>();
        }
Example #8
0
        public void ItShouldNotMatchShorterRequestPaths()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alph"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldBe(null);
        }
Example #9
0
        public void AddOwinRouteOnRouteCollectionShouldReturnNullForMismatchedPaths()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/beta"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldBe(null);
        }
Example #10
0
        public void ItShouldNotMatchPrefixOfLongerSegment()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alphabeta"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldBe(null);
        }
Example #11
0
        public void QueryStringShouldNotAffectMatch()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alpha?gamma=delta"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldNotBe(null);
            routeData.RouteHandler.ShouldBeTypeOf <OwinRouteHandler>();
        }
Example #12
0
        public void AddOwinRouteOnRouteCollectionShouldMatchGivenPath()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alpha"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldNotBe(null);
            routeData.RouteHandler.ShouldBeTypeOf <OwinRouteHandler>();
        }
        public Task ItShouldContainGivenRequestMethod()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath<AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost"), "DELTA"));

            Task task = ExecuteRequestContext(requestContext);
            return task.ContinueWith(
                _ =>
                {
                    task.Exception.ShouldBe(null);
                    WasCalled.ShouldBe(true);
                    WasCalledInput.ShouldContainKeyAndValue("owin.RequestMethod", "DELTA");
                });
        }
        public Task ItShouldContainRequestContextAndAnHttpContextBaseWhenCalledThroughRoute()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath<AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost")));

            Task task = ExecuteRequestContext(requestContext);
            return task.ContinueWith(
                _ =>
                {
                    task.Exception.ShouldBe(null);
                    WasCalled.ShouldBe(true);
                    WasCalledInput.ShouldContainKeyAndValue(typeof(RequestContext).FullName, requestContext);
                    WasCalledInput.ShouldContainKey(typeof(HttpContextBase).FullName);
                });
        }
        public Task ItShouldHaveEmptyPathBaseAndAbsolutePath()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath<AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost/alpha/beta")));

            Task task = ExecuteRequestContext(requestContext);
            return task.ContinueWith(
                _ =>
                {
                    task.Exception.ShouldBe(null);
                    WasCalled.ShouldBe(true);
                    WasCalledInput.ShouldContainKeyAndValue("owin.RequestPathBase", string.Empty);
                    WasCalledInput.ShouldContainKeyAndValue("owin.RequestPath", "/alpha/beta");
                });
        }
Example #16
0
        public Task AppDelegateAccessorPassesFromRouteCollectionThroughToOwinHttpHandler()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath <AppDelegate>(string.Empty, WasCalledApp);
            FakeHttpContext httpContext    = NewHttpContext(new Uri("http://localhost"));
            RequestContext  requestContext = NewRequestContext(routes, httpContext);

            Task task = ExecuteRequestContext(requestContext);

            return(task.ContinueWith(_ =>
            {
                task.Exception.ShouldBe(null);
                WasCalled.ShouldBe(true);
            }));
        }
        public Task ItShouldHaveUnparsedAndEscapedQueryString()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath <AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost/alpha/beta?gamma=delta&omega=%2fepsilon")));

            Task task = ExecuteRequestContext(requestContext);

            return(task.ContinueWith(
                       _ =>
            {
                task.Exception.ShouldBe(null);
                WasCalled.ShouldBe(true);
                WasCalledInput.ShouldContainKeyAndValue("owin.RequestQueryString", "gamma=delta&omega=%2fepsilon");
            }));
        }
        public Task ItShouldContainGivenRequestMethod()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath <AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost"), "DELTA"));

            Task task = ExecuteRequestContext(requestContext);

            return(task.ContinueWith(
                       _ =>
            {
                task.Exception.ShouldBe(null);
                WasCalled.ShouldBe(true);
                WasCalledInput.ShouldContainKeyAndValue("owin.RequestMethod", "DELTA");
            }));
        }
        public Task ItShouldHaveEmptyPathBaseAndAbsolutePath()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath <AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost/alpha/beta")));

            Task task = ExecuteRequestContext(requestContext);

            return(task.ContinueWith(
                       _ =>
            {
                task.Exception.ShouldBe(null);
                WasCalled.ShouldBe(true);
                WasCalledInput.ShouldContainKeyAndValue("owin.RequestPathBase", string.Empty);
                WasCalledInput.ShouldContainKeyAndValue("owin.RequestPath", "/alpha/beta");
            }));
        }
        public Task ItShouldContainRequestContextAndAnHttpContextBaseWhenCalledThroughRoute()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath <AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost")));

            Task task = ExecuteRequestContext(requestContext);

            return(task.ContinueWith(
                       _ =>
            {
                task.Exception.ShouldBe(null);
                WasCalled.ShouldBe(true);
                WasCalledInput.ShouldContainKeyAndValue(typeof(RequestContext).FullName, requestContext);
                WasCalledInput.ShouldContainKey(typeof(HttpContextBase).FullName);
            }));
        }
        public Task ItShouldContainAllOwinStandardKeys()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath<AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost")));

            Task task = ExecuteRequestContext(requestContext);
            return task.ContinueWith(
                _ =>
                {
                    task.Exception.ShouldBe(null);
                    WasCalled.ShouldBe(true);
                    WasCalledInput.ShouldContainKey("owin.RequestMethod");
                    WasCalledInput.ShouldContainKey("owin.RequestPath");
                    WasCalledInput.ShouldContainKey("owin.RequestPathBase");
                    WasCalledInput.ShouldContainKey("owin.RequestQueryString");
                    WasCalledInput.ShouldContainKey("owin.RequestScheme");
                    WasCalledInput.ShouldContainKey("owin.Version");
                });
        }
        public Task ItShouldContainAllOwinStandardKeys()
        {
            var routes = new RouteCollection();

            routes.MapOwinPath <AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost")));

            Task task = ExecuteRequestContext(requestContext);

            return(task.ContinueWith(
                       _ =>
            {
                task.Exception.ShouldBe(null);
                WasCalled.ShouldBe(true);
                WasCalledInput.ShouldContainKey("owin.RequestMethod");
                WasCalledInput.ShouldContainKey("owin.RequestPath");
                WasCalledInput.ShouldContainKey("owin.RequestPathBase");
                WasCalledInput.ShouldContainKey("owin.RequestQueryString");
                WasCalledInput.ShouldContainKey("owin.RequestScheme");
                WasCalledInput.ShouldContainKey("owin.Version");
            }));
        }
Example #23
0
        public void QueryStringShouldNotAffectMatch()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alpha?gamma=delta"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldNotBe(null);
            routeData.RouteHandler.ShouldBeTypeOf<OwinRouteHandler>();
        }
        public Task ItShouldFireOnSendingHeaders()
        {
            var stateObject = new object();
            bool onSendingHeadersFired = false;
            bool stateObjectMatched = false;

            var routes = new RouteCollection();
            routes.MapOwinPath<AppDelegate>(string.Empty,
                env =>
                {
                    var onSendingHeadersRegister = env.Get<Action<Action<object>, object>>("server.OnSendingHeaders");
                    onSendingHeadersRegister(
                        passedObject =>
                        {
                            onSendingHeadersFired = true;
                            stateObjectMatched = object.ReferenceEquals(passedObject, stateObject);
                        }, stateObject);
                    return Utils.CompletedTask;
                });
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost/alpha/beta")));

            Task task = ExecuteRequestContext(requestContext);
            return task.ContinueWith(
                _ =>
                {
                    task.Exception.ShouldBe(null);
                    onSendingHeadersFired.ShouldBe(true);
                    stateObjectMatched.ShouldBe(true);
                });
        }
        public Task ItShouldHaveUnparsedAndEscapedQueryString()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath<AppDelegate>(string.Empty, WasCalledApp);
            RequestContext requestContext = NewRequestContext(routes, NewHttpContext(new Uri("http://localhost/alpha/beta?gamma=delta&omega=%2fepsilon")));

            Task task = ExecuteRequestContext(requestContext);
            return task.ContinueWith(
                _ =>
                {
                    task.Exception.ShouldBe(null);
                    WasCalled.ShouldBe(true);
                    WasCalledInput.ShouldContainKeyAndValue("owin.RequestQueryString", "gamma=delta&omega=%2fepsilon");
                });
        }
Example #26
0
        public Task AppDelegateAccessorPassesFromRouteCollectionThroughToOwinHttpHandler()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath<AppDelegate>(string.Empty, WasCalledApp);
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost"));
            RequestContext requestContext = NewRequestContext(routes, httpContext);

            Task task = ExecuteRequestContext(requestContext);
            return task.ContinueWith(_ =>
            {
                task.Exception.ShouldBe(null);
                WasCalled.ShouldBe(true);
            });
        }
Example #27
0
        public void ItShouldNotMatchWhenTrailingSlashIsAbsent()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath("alpha/");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alpha"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldBe(null);
        }
Example #28
0
        public void ItShouldNotMatchPrefixOfLongerSegment()
        {
            var routes = new RouteCollection();
            routes.MapOwinPath("alpha");
            FakeHttpContext httpContext = NewHttpContext(new Uri("http://localhost/alphabeta"));

            RouteData routeData = routes.GetRouteData(httpContext);

            routeData.ShouldBe(null);
        }