public void GetAssemblies_ReturnsAllControllerAssemblies() { var initializer = new DummyInitializer(); var assemblyFiles = new string[] { "No Controllers", "No Controllers", "Controllers", "No Controllers", "Controllers" }; initializer.GetAssemblyFileNamesMock = () => assemblyFiles; initializer.IsControllerContainerMock = asmFileName => asmFileName.Equals("Controllers"); var triedToLoad = new List<string>(2); initializer.LoadAssemblyMock = asmFileName => { triedToLoad.Add(asmFileName); return Assembly.GetExecutingAssembly(); }; var triedToInitializeContainers = new List<string>(2); initializer.InitializeControllerContainerMock = assembly => { triedToInitializeContainers.Add(assembly.FullName); }; var result = initializer.GetAssembliesPublic(); Assert.AreEqual(2, result.Count(), "Not all controller assemblies were returned."); Assert.AreEqual(2, triedToLoad.Count, "Not all controller assemblies were loaded."); Assert.AreEqual(2, triedToInitializeContainers.Count, "Not all controller assemblies were initialized."); Assert.IsFalse(triedToLoad.Any(asmFile => !asmFile.Equals("Controllers")), "Some assemblies were loaded that were not controller assemblies."); }
public void RegisterController_DummyController_IsRegisteredInStore() { var initializer = new DummyInitializer(); var controller = typeof(DummyController); using (new ObjectFactoryContainerRegion()) { ObjectFactory.Container.RegisterType <ConfigManager, ConfigManager>(typeof(XmlConfigProvider).Name.ToUpperInvariant(), new InjectionConstructor(typeof(XmlConfigProvider).Name)); ObjectFactory.Container.RegisterType <XmlConfigProvider, DummyConfigProvider>(); Config.RegisterSection <ResourcesConfig>(); Config.RegisterSection <ProjectConfig>(); initializer.RegisterControllerPublic(controller); var resourceRegistered = ObjectFactory.Container.IsRegistered(typeof(DummyControllerResoruces), Res.GetResourceClassId(typeof(DummyControllerResoruces))); Assert.IsTrue(resourceRegistered, "String resources were not registered for the controller."); } var registration = ControllerStore.Controllers().SingleOrDefault(c => c.ControllerType == controller); Assert.IsNotNull(registration, "Controller was not registered."); var route = RouteTable.Routes[controller.Name]; Assert.IsNull(route, "Route was registered for the controller."); }
public void RegisterVirtualPaths_CurrentAssembly_VirtualPathAndRouteRegistered() { Assembly assembly = Assembly.GetExecutingAssembly(); PathDefinition vpDefinition = null; var initializer = new DummyInitializer(); using (new ObjectFactoryContainerRegion()) { ObjectFactory.Container.RegisterType <ConfigManager, ConfigManager>(typeof(XmlConfigProvider).Name.ToUpperInvariant(), new InjectionConstructor(typeof(XmlConfigProvider).Name)); ObjectFactory.Container.RegisterType <XmlConfigProvider, DummyConfigProvider>(); ObjectFactory.Container.RegisterType <IResourceResolverStrategy, DummyResolverStrategy>(new ContainerControlledLifetimeManager()); var strategy = (DummyResolverStrategy)ObjectFactory.Container.Resolve <IResourceResolverStrategy>(); strategy.ExistsMock = (def, vp) => { vpDefinition = def; return(true); }; Config.RegisterSection <VirtualPathSettingsConfig>(); Config.RegisterSection <ControlsConfig>(); initializer.RegisterVirtualPathsPublic(new[] { assembly }); VirtualPathManager.FileExists("~/" + FrontendManager.VirtualPathBuilder.GetVirtualPath(assembly)); } Assert.AreNotEqual(0, RouteTable.Routes.Count, "No routes were registered."); Assert.IsNotNull(RouteTable.Routes.OfType <Route>().FirstOrDefault(r => r.Url == "Frontend-Assembly/Telerik.Sitefinity.Frontend.Test/{*Params}")); Assert.IsNotNull(vpDefinition, "Virtual path definition was not found."); Assert.AreEqual(vpDefinition.ResourceLocation, assembly.CodeBase, "The resolved virtual path definition was not expected."); }
public void IsControllerAssembly_NullFileName_ReturnsFalse() { var initializer = new DummyInitializer(); var result = initializer.IsControllerContainerPublic(null); Assert.IsFalse(result); }
public void IsControllerAssembly_NonExistingFileName_ReturnsFalse() { var initializer = new DummyInitializer(); var result = initializer.IsControllerContainerPublic("C:\\NonExistingPath\\NonExistingAssembly.dll"); Assert.IsFalse(result); }
public void IsControllerAssembly_DesignerAssembly_ReturnTrue() { var initializer = new DummyInitializer(); var result = initializer.IsControllerContainerPublic(typeof(DesignerController).Assembly.CodeBase); Assert.IsTrue(result); }
public void GetAssemblies_ReturnsAllControllerAssemblies() { var initializer = new DummyInitializer(); var assemblyFiles = new string[] { "No Controllers", "No Controllers", "Controllers", "No Controllers", "Controllers" }; initializer.GetAssemblyFileNamesMock = () => assemblyFiles; initializer.IsControllerContainerMock = asmFileName => asmFileName.Equals("Controllers"); var triedToLoad = new List <string>(2); initializer.LoadAssemblyMock = asmFileName => { triedToLoad.Add(asmFileName); return(Assembly.GetExecutingAssembly()); }; var triedToInitializeContainers = new List <string>(2); initializer.InitializeControllerContainerMock = assembly => { triedToInitializeContainers.Add(assembly.FullName); }; var result = initializer.GetAssembliesPublic(); Assert.AreEqual(2, result.Count(), "Not all controller assemblies were returned."); Assert.AreEqual(2, triedToLoad.Count, "Not all controller assemblies were loaded."); Assert.AreEqual(2, triedToInitializeContainers.Count, "Not all controller assemblies were initialized."); Assert.IsFalse(triedToLoad.Any(asmFile => !asmFile.Equals("Controllers")), "Some assemblies were loaded that were not controller assemblies."); }
public void GetControllers_CurrentAssembly_GetsControllers() { var initializer = new DummyInitializer(); var types = initializer.GetControllersPublic(new[] { Assembly.GetExecutingAssembly() }); Assert.IsNotNull(types, "GetControllers returned null."); //Don't check for exact count. They can change while this assembly grows. Assert.IsTrue(types.Count() > 0, "No controllers were found."); }
public void Initialize_CallsRegisterVirtualPathsAndInitializeControllers() { var initializer = new DummyInitializer(); IEnumerable <Assembly> assemblies = null; initializer.GetAssembliesMock = () => { assemblies = new List <Assembly>(); return(assemblies); }; bool registerVirtualPathsCalled = false; initializer.RegisterVirtualPathsMock = asm => { registerVirtualPathsCalled = true; Assert.AreSame(assemblies, asm, "RegisterVirtualPaths was not called with the expected arguments."); }; IEnumerable <Type> controllerTypes = null; initializer.GetControllersMock = asm => { Assert.AreSame(assemblies, asm, "GetControllerTypes was not called with the expected arguments."); controllerTypes = new List <Type>(); return(controllerTypes); }; bool initializeControllersCalled = false; initializer.InitializeControllersMock = types => { initializeControllersCalled = true; Assert.AreSame(controllerTypes, types, "InitializeControllers was not called with the expected arguments"); }; initializer.Initialize(); Assert.IsTrue(registerVirtualPathsCalled, "RegisterVirtualPaths was not called."); Assert.IsTrue(initializeControllersCalled, "InitializeControllers was not called."); }
public void RegisterController_DesignerController_NotRegistersAnylRoutes() { var initializer = new DummyInitializer(); var controller = typeof(DesignerController); using (new ObjectFactoryContainerRegion()) { ObjectFactory.Container.RegisterType <ConfigManager, ConfigManager>(typeof(XmlConfigProvider).Name.ToUpperInvariant(), new InjectionConstructor(typeof(XmlConfigProvider).Name)); ObjectFactory.Container.RegisterType <XmlConfigProvider, DummyConfigProvider>(); initializer.RegisterControllerPublic(controller); } var registration = ControllerStore.Controllers().SingleOrDefault(c => c.ControllerType == controller); Assert.IsNotNull(registration, "DesignerController was not registered."); var route = RouteTable.Routes[controller.Name]; Assert.IsNull(route, "Route was registered for the controller."); }
public void InitializeControllers_TwoControllers_BothAreRegisteredAndControllerFactoryIsPrepared() { var registeredControllers = new List <Type>(2); var initializer = new DummyInitializer(); using (new ObjectFactoryContainerRegion()) { initializer.RegisterControllerFactoryMock = () => { ObjectFactory.Container.RegisterType <ISitefinityControllerFactory, DummyControllerFactory>(); }; initializer.RegisterControllerMock = (t) => { registeredControllers.Add(t); }; initializer.InitializeControllersPublic(new[] { typeof(DummyController), typeof(DummyInitializer) }); } Assert.IsInstanceOfType(ControllerBuilder.Current.GetControllerFactory(), typeof(DummyControllerFactory), "Controller factory was not set."); Assert.AreEqual(2, registeredControllers.Count, "Not all widgets were registered."); Assert.IsTrue(registeredControllers.Contains(typeof(DummyController)), "The first controller was not registered."); Assert.IsTrue(registeredControllers.Contains(typeof(DummyInitializer)), "The second controller was not registered."); }
public void Initialize_CallsRegisterVirtualPathsAndInitializeControllers() { var initializer = new DummyInitializer(); IEnumerable<Assembly> assemblies = null; initializer.GetAssembliesMock = () => { assemblies = new List<Assembly>(); return assemblies; }; bool registerVirtualPathsCalled = false; initializer.RegisterVirtualPathsMock = asm => { registerVirtualPathsCalled = true; Assert.AreSame(assemblies, asm, "RegisterVirtualPaths was not called with the expected arguments."); }; IEnumerable<Type> controllerTypes = null; initializer.GetControllersMock = asm => { Assert.AreSame(assemblies, asm, "GetControllerTypes was not called with the expected arguments."); controllerTypes = new List<Type>(); return controllerTypes; }; bool initializeControllersCalled = false; initializer.InitializeControllersMock = types => { initializeControllersCalled = true; Assert.AreSame(controllerTypes, types, "InitializeControllers was not called with the expected arguments"); }; initializer.Initialize(); Assert.IsTrue(registerVirtualPathsCalled, "RegisterVirtualPaths was not called."); Assert.IsTrue(initializeControllersCalled, "InitializeControllers was not called."); }
public void RegisterController_DesignerController_NotRegistersAnylRoutes() { var initializer = new DummyInitializer(); var controller = typeof(DesignerController); using (new ObjectFactoryContainerRegion()) { ObjectFactory.Container.RegisterType<ConfigManager, ConfigManager>(typeof(XmlConfigProvider).Name.ToUpperInvariant(), new InjectionConstructor(typeof(XmlConfigProvider).Name)); ObjectFactory.Container.RegisterType<XmlConfigProvider, DummyConfigProvider>(); initializer.RegisterControllerPublic(controller); } var registration = ControllerStore.Controllers().SingleOrDefault(c => c.ControllerType == controller); Assert.IsNotNull(registration, "DesignerController was not registered."); var route = RouteTable.Routes[controller.Name]; Assert.IsNull(route, "Route was registered for the controller."); }
public void RegisterController_DummyController_IsRegisteredInStore() { var initializer = new DummyInitializer(); var controller = typeof(DummyController); using (new ObjectFactoryContainerRegion()) { ObjectFactory.Container.RegisterType<ConfigManager, ConfigManager>(typeof(XmlConfigProvider).Name.ToUpperInvariant(), new InjectionConstructor(typeof(XmlConfigProvider).Name)); ObjectFactory.Container.RegisterType<XmlConfigProvider, DummyConfigProvider>(); Config.RegisterSection<ResourcesConfig>(); Config.RegisterSection<ProjectConfig>(); initializer.RegisterControllerPublic(controller); var resourceRegistered = ObjectFactory.Container.IsRegistered(typeof(DummyControllerResoruces), Res.GetResourceClassId(typeof(DummyControllerResoruces))); Assert.IsTrue(resourceRegistered, "String resources were not registered for the controller."); } var registration = ControllerStore.Controllers().SingleOrDefault(c => c.ControllerType == controller); Assert.IsNotNull(registration, "Controller was not registered."); var route = RouteTable.Routes[controller.Name]; Assert.IsNull(route, "Route was registered for the controller."); }
public void RegisterVirtualPaths_CurrentAssembly_VirtualPathAndRouteRegistered() { Assembly assembly = Assembly.GetExecutingAssembly(); PathDefinition vpDefinition = null; var initializer = new DummyInitializer(); using (new ObjectFactoryContainerRegion()) { ObjectFactory.Container.RegisterType<ConfigManager, ConfigManager>(typeof(XmlConfigProvider).Name.ToUpperInvariant(), new InjectionConstructor(typeof(XmlConfigProvider).Name)); ObjectFactory.Container.RegisterType<XmlConfigProvider, DummyConfigProvider>(); ObjectFactory.Container.RegisterType<IResourceResolverStrategy, DummyResolverStrategy>(new ContainerControlledLifetimeManager()); var strategy = (DummyResolverStrategy)ObjectFactory.Container.Resolve<IResourceResolverStrategy>(); strategy.ExistsMock = (def, vp) => { vpDefinition = def; return true; }; Config.RegisterSection<VirtualPathSettingsConfig>(); Config.RegisterSection<ControlsConfig>(); initializer.RegisterVirtualPathsPublic(new[] { assembly }); VirtualPathManager.FileExists("~/" + FrontendManager.VirtualPathBuilder.GetVirtualPath(assembly)); } Assert.AreNotEqual(0, RouteTable.Routes.Count, "No routes were registered."); Assert.IsNotNull(RouteTable.Routes.OfType<Route>().FirstOrDefault(r => r.Url == "Frontend-Assembly/Telerik.Sitefinity.Frontend.Test/{*Params}")); Assert.IsNotNull(vpDefinition, "Virtual path definition was not found."); Assert.AreEqual(vpDefinition.ResourceLocation, assembly.CodeBase, "The resolved virtual path definition was not expected."); }
public void InitializeControllers_TwoControllers_BothAreRegisteredAndControllerFactoryIsPrepared() { var registeredControllers = new List<Type>(2); var initializer = new DummyInitializer(); using (new ObjectFactoryContainerRegion()) { initializer.RegisterControllerFactoryMock = () => { ObjectFactory.Container.RegisterType<ISitefinityControllerFactory, DummyControllerFactory>(); }; initializer.RegisterControllerMock = (t) => { registeredControllers.Add(t); }; initializer.InitializeControllersPublic(new[] { typeof(DummyController), typeof(DummyInitializer) }); } Assert.IsInstanceOfType(ControllerBuilder.Current.GetControllerFactory(), typeof(DummyControllerFactory), "Controller factory was not set."); Assert.AreEqual(2, registeredControllers.Count, "Not all widgets were registered."); Assert.IsTrue(registeredControllers.Contains(typeof(DummyController)), "The first controller was not registered."); Assert.IsTrue(registeredControllers.Contains(typeof(DummyInitializer)), "The second controller was not registered."); }