public void BasicCurrentUserTest() { var routeData = new RouteData(); var mockUser = new Mock <IUser>(); var mockWebSerc = new Mock <WebSecurity>(null, null); mockWebSerc.Setup(s => s.CurrentUser).Returns(mockUser.Object); var appCtx = ApplicationContext.EnsureContext( new DatabaseContext(Mock.Of <IDatabaseFactory>(), Mock.Of <ILogger>(), new SqlSyntaxProviders(new[] { Mock.Of <ISqlSyntaxProvider>() })), new ServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger( Mock.Of <ILogger>(), Mock.Of <IProfiler>()), true); var ctx = UmbracoContext.EnsureContext( Mock.Of <HttpContextBase>(), appCtx, mockWebSerc.Object, Mock.Of <IUmbracoSettingsSection>(), Enumerable.Empty <IUrlProvider>(), true); var content = new Mock <IPublishedContent>(); content.Setup(s => s.Name).Returns("test"); ctx.PublishedContentRequest = new PublishedContentRequest(new Uri("http://test.com"), ctx.RoutingContext, Mock.Of <IWebRoutingSection>(section => section.UrlProviderMode == UrlProviderMode.AutoLegacy.ToString()), s => new string[] { }) { PublishedContent = content.Object }; //The reoute definition will contain the current page request object and be passed into the route data var routeDefinition = new RouteDefinition { PublishedContentRequest = ctx.PublishedContentRequest }; //We create a route data object to be given to the Controller context routeData.DataTokens.Add(UmbConstants.Web.PublishedDocumentRequestDataToken, ctx.PublishedContentRequest); var controller = new BasicRenderMvcController(ctx, new UmbracoHelper(ctx)); //don't really care about the helper here controller.ControllerContext = new System.Web.Mvc.ControllerContext(ctx.HttpContext, routeData, controller); var res = controller.BasicGetSecurityAction() as PartialViewResult; var model = res.Model as IUser; Assert.IsNotNull(model); }
public void EngineGetUserIdTest() { var user = _unitTestEngine.WithCurrentUser(); var controller = new BasicRenderMvcController(); //don't really care about the helper here _unitTestEngine.RegisterController(controller); var model = controller.BasicGetUserIdAction(); Assert.AreEqual(user.Id, (int)model.Model); }
public void EngineIsNotAuthenticatedTest() { _unitTestEngine.WithAuthentication(false); var controller = new BasicRenderMvcController(); _unitTestEngine.RegisterController(controller); var model = controller.BasicIsAuthenticatedAction(); Assert.IsFalse((bool)model.Model); }
public void EngineGetSecurityTest() { _unitTestEngine.WithCurrentUser(); var controller = new BasicRenderMvcController(); //don't really care about the helper here _unitTestEngine.RegisterController(controller); var model = controller.BasicGetSecurityAction(); Assert.IsNotNull(model); }
public void EngineCurrentTemplateTest() { var content = _unitTestEngine.WithCurrentPage(); _unitTestEngine.WithCurrentTemplate(); var renderModel = new RenderModel(content); var controller = new BasicRenderMvcController(); _unitTestEngine.RegisterController(controller); var res = controller.Index(renderModel) as ViewResult; var model = res.Model as string; Assert.AreEqual(model, content.Name); }
public void BasicCurrentTemplateTest() { var routeData = new RouteData(); routeData.Values.Add("action", "test"); routeData.Values.Add("controller", "test"); var httpContext = new Mock <HttpContextBase>(); httpContext.Setup(s => s.Items).Returns(new Dictionary <string, string>()); ViewEngines.Engines.RemoveAll((s) => true); ViewEngines.Engines.Add(new TestViewEngine()); //Setup Application Contact with mocks. Sets ApplicaitonContext.Current var appCtx = ApplicationContext.EnsureContext( new DatabaseContext(Mock.Of <IDatabaseFactory>(), Mock.Of <ILogger>(), new SqlSyntaxProviders(new[] { Mock.Of <ISqlSyntaxProvider>() })), new ServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger( Mock.Of <ILogger>(), Mock.Of <IProfiler>()), true); //Setup UmbracoContext with mocks. Sets UmbracoContext.Current var ctx = UmbracoContext.EnsureContext( httpContext.Object, appCtx, new Mock <WebSecurity>(null, null).Object, Mock.Of <IUmbracoSettingsSection>(), Enumerable.Empty <IUrlProvider>(), true); var content = new Mock <IPublishedContent>(); content.Setup(s => s.Name).Returns("test"); //setup published content request. This sets the current content on the Umbraco Context and will be used later ctx.PublishedContentRequest = new PublishedContentRequest(new Uri("http://test.com"), ctx.RoutingContext, Mock.Of <IWebRoutingSection>(section => section.UrlProviderMode == UrlProviderMode.AutoLegacy.ToString()), s => new string[] { }) { PublishedContent = content.Object }; var renderModel = new RenderModel(content.Object); //The reoute definition will contain the current page request object and be passed into the route data var routeDefinition = new RouteDefinition { PublishedContentRequest = ctx.PublishedContentRequest }; //We create a route data object to be given to the Controller context routeData.DataTokens.Add("umbraco-route-def", routeDefinition); var controller = new BasicRenderMvcController(); //Setting the controller context will provide the route data, route def, publushed content request, and current page to the surface controller controller.ControllerContext = new System.Web.Mvc.ControllerContext(ctx.HttpContext, routeData, controller); var res = controller.Index(renderModel) as ViewResult; var model = res.Model as string; Assert.AreEqual(model, content.Object.Name); }
public void BasicIsAuthenticatedTest() { var routeData = new RouteData(); var userData = new UserData(); userData.Id = 1; userData.RealName = "test"; userData.Username = "******"; userData.Culture = "en"; var mockIdentity = new Mock <UmbracoBackOfficeIdentity>(userData); mockIdentity.Setup(s => s.IsAuthenticated).Returns(true); var mockPricipal = new Mock <IPrincipal>(); mockPricipal.Setup(s => s.Identity).Returns(mockIdentity.Object); var httpContextMock = new Mock <HttpContextBase>(); httpContextMock.Setup(s => s.User).Returns(mockPricipal.Object); var mockWebSerc = new Mock <WebSecurity>(httpContextMock.Object, null); var appCtx = ApplicationContext.EnsureContext( new DatabaseContext(Mock.Of <IDatabaseFactory>(), Mock.Of <ILogger>(), new SqlSyntaxProviders(new[] { Mock.Of <ISqlSyntaxProvider>() })), new ServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger( Mock.Of <ILogger>(), Mock.Of <IProfiler>()), true); var ctx = UmbracoContext.EnsureContext( httpContextMock.Object, appCtx, mockWebSerc.Object, Mock.Of <IUmbracoSettingsSection>(), Enumerable.Empty <IUrlProvider>(), true); var content = new Mock <IPublishedContent>(); content.Setup(s => s.Name).Returns("test"); ctx.PublishedContentRequest = new PublishedContentRequest(new Uri("http://test.com"), ctx.RoutingContext, Mock.Of <IWebRoutingSection>(section => section.UrlProviderMode == UrlProviderMode.AutoLegacy.ToString()), s => new string[] { }) { PublishedContent = content.Object }; //The reoute definition will contain the current page request object and be passed into the route data var routeDefinition = new RouteDefinition { PublishedContentRequest = ctx.PublishedContentRequest }; //We create a route data object to be given to the Controller context routeData.DataTokens.Add("umbraco-doc-request", ctx.PublishedContentRequest); var controller = new BasicRenderMvcController(ctx, new UmbracoHelper(ctx)); //don't really care about the helper here controller.ControllerContext = new System.Web.Mvc.ControllerContext(ctx.HttpContext, routeData, controller); var res = controller.BasicIsAuthenticatedAction() as PartialViewResult; var model = (bool)res.Model; Assert.IsTrue(model); }