From d726952cfc30dcb86ab83ff9e1526a400c5dfdd0 Mon Sep 17 00:00:00 2001 From: Louis DeJardin Date: Mon, 20 Sep 2010 12:11:36 -0700 Subject: [PATCH] Updating unit test to use IWorkContextAccessor The shell route's data token no longer has an IContainerProvider interface added --HG-- branch : dev --- .../Mvc/Routes/ShellRouteTests.cs | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) 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]