diff --git a/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs b/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs index b1ae663f3..80a99f72f 100644 --- a/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs +++ b/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs @@ -45,14 +45,14 @@ namespace Orchard.Tests.Mvc.Routes { "shell", builder => { builder.Register(ctx => _settingsA); - builder.RegisterType().As().InstancePerLifetimeScope(); + builder.RegisterType().As().InstancePerMatchingLifetimeScope("shell"); }); _containerB = _rootContainer.BeginLifetimeScope( "shell", builder => { builder.Register(ctx => _settingsB); - builder.RegisterType().As().InstancePerLifetimeScope(); + builder.RegisterType().As().InstancePerMatchingLifetimeScope("shell"); }); } @@ -123,7 +123,7 @@ namespace Orchard.Tests.Mvc.Routes { _containerA.Resolve().Publish( new[] { new RouteDescriptor { Priority = 0, Route = routeFoo } }); _rootContainer.Resolve().Add(_settingsA); - + _settingsB.RequestUrlHost = "b.example.com"; _containerB.Resolve().Publish( new[] { new RouteDescriptor { Priority = 0, Route = routeFoo } }); @@ -136,18 +136,23 @@ namespace Orchard.Tests.Mvc.Routes { var httpContextA = new StubHttpContext("~/foo", "a.example.com"); var routeDataA = _routes.GetRouteData(httpContextA); Assert.That(routeDataA, Is.Not.Null); - Assert.That(routeDataA.DataTokens.ContainsKey("IContainerProvider"), Is.True); - var routeContainerProviderA = (IContainerProvider)routeDataA.DataTokens["IContainerProvider"]; - Assert.That(routeContainerProviderA.ApplicationContainer.Resolve(), Is.SameAs(_containerA.Resolve())); - Assert.That(routeContainerProviderA.ApplicationContainer.Resolve(), Is.Not.SameAs(_containerB.Resolve())); + Assert.That(routeDataA.DataTokens.ContainsKey("IWorkContextAccessor"), Is.True); + var workContextAccessorA = (IWorkContextAccessor)routeDataA.DataTokens["IWorkContextAccessor"]; + var workContextScopeA = workContextAccessorA.CreateWorkContextScope(httpContextA); + + Assert.That(workContextScopeA.Resolve(), Is.SameAs(_containerA.Resolve())); + Assert.That(workContextScopeA.Resolve(), Is.Not.SameAs(_containerB.Resolve())); var httpContextB = new StubHttpContext("~/foo", "b.example.com"); var routeDataB = _routes.GetRouteData(httpContextB); Assert.That(routeDataB, Is.Not.Null); - Assert.That(routeDataB.DataTokens.ContainsKey("IContainerProvider"), Is.True); - var routeContainerProviderB = (IContainerProvider)routeDataB.DataTokens["IContainerProvider"]; - Assert.That(routeContainerProviderB.ApplicationContainer.Resolve(), Is.SameAs(_containerB.Resolve())); - Assert.That(routeContainerProviderB.ApplicationContainer.Resolve(), Is.Not.SameAs(_containerA.Resolve())); + Assert.That(routeDataB.DataTokens.ContainsKey("IWorkContextAccessor"), Is.True); + var workContextAccessorB = (IWorkContextAccessor)routeDataB.DataTokens["IWorkContextAccessor"]; + var workContextScopeB = workContextAccessorB.CreateWorkContextScope(httpContextB); + + Assert.That(workContextScopeB.Resolve(), Is.SameAs(_containerB.Resolve())); + Assert.That(workContextScopeB.Resolve(), Is.Not.SameAs(_containerA.Resolve())); + } [Test]