Updating unit test to use IWorkContextAccessor

The shell route's data token no longer has an IContainerProvider interface added

--HG--
branch : dev
This commit is contained in:
Louis DeJardin 2010-09-20 12:11:36 -07:00
parent 90d214db1a
commit d726952cfc

View File

@ -45,14 +45,14 @@ namespace Orchard.Tests.Mvc.Routes {
"shell", "shell",
builder => { builder => {
builder.Register(ctx => _settingsA); builder.Register(ctx => _settingsA);
builder.RegisterType<RoutePublisher>().As<IRoutePublisher>().InstancePerLifetimeScope(); builder.RegisterType<RoutePublisher>().As<IRoutePublisher>().InstancePerMatchingLifetimeScope("shell");
}); });
_containerB = _rootContainer.BeginLifetimeScope( _containerB = _rootContainer.BeginLifetimeScope(
"shell", "shell",
builder => { builder => {
builder.Register(ctx => _settingsB); builder.Register(ctx => _settingsB);
builder.RegisterType<RoutePublisher>().As<IRoutePublisher>().InstancePerLifetimeScope(); builder.RegisterType<RoutePublisher>().As<IRoutePublisher>().InstancePerMatchingLifetimeScope("shell");
}); });
} }
@ -136,18 +136,23 @@ namespace Orchard.Tests.Mvc.Routes {
var httpContextA = new StubHttpContext("~/foo", "a.example.com"); var httpContextA = new StubHttpContext("~/foo", "a.example.com");
var routeDataA = _routes.GetRouteData(httpContextA); var routeDataA = _routes.GetRouteData(httpContextA);
Assert.That(routeDataA, Is.Not.Null); Assert.That(routeDataA, Is.Not.Null);
Assert.That(routeDataA.DataTokens.ContainsKey("IContainerProvider"), Is.True); Assert.That(routeDataA.DataTokens.ContainsKey("IWorkContextAccessor"), Is.True);
var routeContainerProviderA = (IContainerProvider)routeDataA.DataTokens["IContainerProvider"]; var workContextAccessorA = (IWorkContextAccessor)routeDataA.DataTokens["IWorkContextAccessor"];
Assert.That(routeContainerProviderA.ApplicationContainer.Resolve<IRoutePublisher>(), Is.SameAs(_containerA.Resolve<IRoutePublisher>())); var workContextScopeA = workContextAccessorA.CreateWorkContextScope(httpContextA);
Assert.That(routeContainerProviderA.ApplicationContainer.Resolve<IRoutePublisher>(), Is.Not.SameAs(_containerB.Resolve<IRoutePublisher>()));
Assert.That(workContextScopeA.Resolve<IRoutePublisher>(), Is.SameAs(_containerA.Resolve<IRoutePublisher>()));
Assert.That(workContextScopeA.Resolve<IRoutePublisher>(), Is.Not.SameAs(_containerB.Resolve<IRoutePublisher>()));
var httpContextB = new StubHttpContext("~/foo", "b.example.com"); var httpContextB = new StubHttpContext("~/foo", "b.example.com");
var routeDataB = _routes.GetRouteData(httpContextB); var routeDataB = _routes.GetRouteData(httpContextB);
Assert.That(routeDataB, Is.Not.Null); Assert.That(routeDataB, Is.Not.Null);
Assert.That(routeDataB.DataTokens.ContainsKey("IContainerProvider"), Is.True); Assert.That(routeDataB.DataTokens.ContainsKey("IWorkContextAccessor"), Is.True);
var routeContainerProviderB = (IContainerProvider)routeDataB.DataTokens["IContainerProvider"]; var workContextAccessorB = (IWorkContextAccessor)routeDataB.DataTokens["IWorkContextAccessor"];
Assert.That(routeContainerProviderB.ApplicationContainer.Resolve<IRoutePublisher>(), Is.SameAs(_containerB.Resolve<IRoutePublisher>())); var workContextScopeB = workContextAccessorB.CreateWorkContextScope(httpContextB);
Assert.That(routeContainerProviderB.ApplicationContainer.Resolve<IRoutePublisher>(), Is.Not.SameAs(_containerA.Resolve<IRoutePublisher>()));
Assert.That(workContextScopeB.Resolve<IRoutePublisher>(), Is.SameAs(_containerB.Resolve<IRoutePublisher>()));
Assert.That(workContextScopeB.Resolve<IRoutePublisher>(), Is.Not.SameAs(_containerA.Resolve<IRoutePublisher>()));
} }
[Test] [Test]