public void DefaultRouteMatchesHome() { // Arrange var routes = new RouteCollection(); MvcApplication.RegisterRoutes(routes); // Act var context = new FakeHttpContext("~/Home"); var routeData = routes.GetRouteData(context); // Assert var matchedRoute = (NamedRoute)routeData.Route; Assert.AreEqual("Default", matchedRoute.Name); }
public void ProductInsertMatchesPost() { // Arrange var routes = new RouteCollection(); MvcApplication.RegisterRoutes(routes); // Act var context = new FakeHttpContext("~/Product/Insert", "POST", false, null); var routeData = routes.GetRouteData(context); // Assert var matchedRoute = (NamedRoute)routeData.Route; Assert.AreEqual("ProductInsert", matchedRoute.Name); }
public void ArchiveYear() { // Arrange var routes = new RouteCollection(); MvcApplication.RegisterRoutes(routes); // Act var context = new FakeHttpContext("~/Archive/2008"); var routeData = routes.GetRouteData(context); // Assert var matchedRoute = (NamedRoute)routeData.Route; Assert.AreEqual("ArchiveYear", matchedRoute.Name); Assert.AreEqual("2008", routeData.Values["year"]); }
public void ArchiveYearMonthDayName() { // Arrange var routes = new RouteCollection(); MvcApplication.RegisterRoutes(routes); // Act var context = new FakeHttpContext("~/Archive/2008/12/25/Test"); var routeData = routes.GetRouteData(context); // Assert var matchedRoute = (NamedRoute)routeData.Route; Assert.AreEqual("ArchiveFull", matchedRoute.Name); Assert.AreEqual("2008", routeData.Values["year"]); Assert.AreEqual("12", routeData.Values["month"]); Assert.AreEqual("25", routeData.Values["day"]); Assert.AreEqual("Test", routeData.Values["name"]); }
public void RequestLifetimeManagerExtensionReturnsSameObjectForSameRequest() { var context1 = new FakeHttpContext("Http://fakeUrl1.com"); var context2 = new FakeHttpContext("Http://fakeUrl2.com"); using (var container = new IocContainer()) { container.Register<IFoo>(c => new Foo1()).AsRequestSingleton(); LifetimeExtensions.HttpContext = context1; var result1 = container.Resolve<IFoo>(); var result2 = container.Resolve<IFoo>(); LifetimeExtensions.HttpContext = context2; var result3 = container.Resolve<IFoo>(); Verify.That(result3).IsNotNull(); Verify.That(result2).IsNotNull(); Verify.That(result1).IsNotNull().IsTheSameObjectAs(result2).IsNotTheSameObjectAs(result3); } }
public void SessionLifetimeManagerExtensionReturnsDifferentObjectForDifferentSession() { var sessionItems1 = new SessionStateItemCollection(); var sessionItems2 = new SessionStateItemCollection(); var context1 = new FakeHttpContext("Http://fakeUrl1.com", null, null, null, null, sessionItems1); var context2 = new FakeHttpContext("Http://fakeUrl2.com", null, null, null, null, sessionItems2); using (var container = new IocContainer()) { container.Register<IFoo>(c => new Foo1()).AsSessionSingleton(); LifetimeExtensions.HttpContext = context1; var result1 = container.Resolve<IFoo>(); var result2 = container.Resolve<IFoo>(); LifetimeExtensions.HttpContext = context2; var result3 = container.Resolve<IFoo>(); Verify.That(result3).IsNotNull(); Verify.That(result2).IsNotNull(); Verify.That(result1).IsNotNull().IsTheSameObjectAs(result2).IsNotTheSameObjectAs(result3); } }
public void RequestLifetimeManagerReturnsSameObjectForSameRequest() { var context1 = new FakeHttpContext("Http://fakeUrl1.com"); var context2 = new FakeHttpContext("Http://fakeUrl2.com"); var requestltm = new RequestLifetime(); using (var container = new IocContainer()) { container.Register<IFoo>(c => new Foo1()).WithLifetimeManager(requestltm); RequestLifetime.SetContext(context1); var result1 = container.Resolve<IFoo>(); var result2 = container.Resolve<IFoo>(); RequestLifetime.SetContext(context2); var result3 = container.Resolve<IFoo>(); Verify.That(result3).IsNotNull(); Verify.That(result2).IsNotNull(); Verify.That(result1).IsNotNull().IsTheSameObjectAs(result2).IsNotTheSameObjectAs(result3); } }
public void SessionLifetimeManagerReturnsDifferentObjectForDifferentSession() { var sessionItems1 = new SessionStateItemCollection(); var sessionItems2 = new SessionStateItemCollection(); var context1 = new FakeHttpContext("Http://fakeUrl1.com", null, null, null, null, sessionItems1); var context2 = new FakeHttpContext("Http://fakeUrl2.com", null, null, null, null, sessionItems2); var sessionltm = new SessionLifetime(); var container = new IocContainer(); container.Register<IFoo>(c => new Foo1()) .WithLifetimeManager(sessionltm); sessionltm.SetContext(context1); var result1 = container.Resolve<IFoo>(); var result2 = container.Resolve<IFoo>(); sessionltm.SetContext(context2); var result3 = container.Resolve<IFoo>(); Verify.That(result3).IsNotNull(); Verify.That(result2).IsNotNull(); Verify.That(result1).IsNotNull() .IsTheSameObjectAs(result2) .IsNotTheSameObjectAs(result3); }
public void SessionLifetimeManagerReturnsSameObjectForSameSession() { var sessionItems = new SessionStateItemCollection(); var context1 = new FakeHttpContext("Http://fakeUrl1.com",null,null,null,null,sessionItems); var context2 = new FakeHttpContext("Http://fakeUrl2.com",null,null,null,null,sessionItems); var sessionltm = new SessionLifetime(); var container = new Container(); container.Register<IFoo>(c => new Foo1()) .WithLifetimeManager(sessionltm); sessionltm.SetContext(context1); var result1 = container.Resolve<IFoo>(); var result2 = container.Resolve<IFoo>(); sessionltm.SetContext(context2); var result3 = container.Resolve<IFoo>(); Assert.IsNotNull(result1); Assert.IsNotNull(result2); Assert.IsNotNull(result3); Assert.AreSame(result1, result2); // same request and session Assert.AreSame(result2, result3); // different requests, same session }
public void RequestLifetimeManagerReturnsSameObjectForSameRequest() { var context1 = new FakeHttpContext("Http://fakeUrl1.com"); var context2 = new FakeHttpContext("Http://fakeUrl2.com"); var requestltm = new RequestLifetime(); var container = new Container(); container.Register<IFoo>(c => new Foo1()) .WithLifetimeManager(requestltm); requestltm.SetContext(context1); var result1 = container.Resolve<IFoo>(); var result2 = container.Resolve<IFoo>(); requestltm.SetContext(context2); var result3 = container.Resolve<IFoo>(); Assert.IsNotNull(result1); Assert.IsNotNull(result2); Assert.IsNotNull(result3); Assert.AreSame(result1, result2); // same request Assert.AreNotSame(result2, result3); // different request }
public ActionResult Index(string url, string httpVerb) { var context = new FakeHttpContext(MakeAppRelative(url), httpVerb); var debuggerView = new DebuggerView(url, httpVerb, context); return Content(debuggerView.ExecuteResult(), "text/html"); }