public void GetControllersMetaData_LocalControllers_GetWithoutIgnored() { // Assign SimplifyWebTypesFinder.ExcludedAssembliesPrefixes.Remove("Simplify"); SimplifyWebTypesFinder.ExcludedAssembliesPrefixes.Add("DynamicProxyGenAssembly2"); SimplifyWebTypesFinder.CleanLoadedTypesAndAssembliesInfo(); var factory = new Mock <IControllerMetaDataFactory>(); var store = new ControllersMetaStore(factory.Object); factory.SetupSequence(x => x.CreateControllerMetaData(It.IsAny <Type>())) .Returns(new ControllerMetaData(typeof(TestController1), new ControllerExecParameters(null, 2))) .Returns(new ControllerMetaData(typeof(TestController6))) .Returns(new ControllerMetaData(typeof(TestController2), new ControllerExecParameters(null, 1))) .Returns(new ControllerMetaData(typeof(TestController4))) .Returns(new ControllerMetaData(typeof(TestController5))); // Act var metaData = store.ControllersMetaData; Assert.AreEqual(5, metaData.Count); factory.Verify(x => x.CreateControllerMetaData(It.Is <Type>(t => t == typeof(TestController1)))); factory.Verify(x => x.CreateControllerMetaData(It.Is <Type>(t => t == typeof(TestController2)))); factory.Verify(x => x.CreateControllerMetaData(It.Is <Type>(t => t == typeof(TestController4)))); factory.Verify(x => x.CreateControllerMetaData(It.Is <Type>(t => t == typeof(TestController5)))); factory.Verify(x => x.CreateControllerMetaData(It.Is <Type>(t => t == typeof(TestController6)))); }
public void FindTypesDerivedFrom_NoDerivedTypes_NullReturned() { // Act var types = SimplifyWebTypesFinder.FindTypesDerivedFrom <TestBootstrapper>(); // Assert Assert.AreEqual(0, types.Count); }
public void FindTypeDerivedFrom_NoDerivedTypes_NullReturned() { // Act var type = SimplifyWebTypesFinder.FindTypeDerivedFrom <TestBootstrapper>(); // Assert Assert.IsNull(type); }
public void FindTypeDerivedFrom_BaseBootstrapper_TestBootstrapperReturned() { // Assign SimplifyWebTypesFinder.ExcludedAssembliesPrefixes.Remove("Simplify"); SimplifyWebTypesFinder.CleanLoadedTypesAndAssembliesInfo(); // Act var type = SimplifyWebTypesFinder.FindTypeDerivedFrom <BaseBootstrapper>(); // Assert Assert.AreEqual("Simplify.Web.Tests.TestEntities.TestBootstrapper", type !.FullName); }
public void CreateBootstrapper_HaveUserType_TestBootstrapperReturned() { // Assign SimplifyWebTypesFinder.ExcludedAssembliesPrefixes.Remove("Simplify"); SimplifyWebTypesFinder.CleanLoadedTypesAndAssembliesInfo(); // Act var bootstrapper = BootstrapperFactory.CreateBootstrapper(); // Assert Assert.AreEqual("Simplify.Web.Tests.TestEntities.TestBootstrapper", bootstrapper.GetType().FullName); }
/// <summary> /// Registers the types in container. /// </summary> // ReSharper disable once MethodTooLong public void Register() { // Registering non Simplify.Web types RegisterConfiguration(); // Registering Simplify.Web core types RegisterControllersMetaStore(); RegisterViewsMetaStore(); RegisterSimplifyWebSettings(); RegisterViewFactory(); RegisterControllerFactory(); RegisterControllerPathParser(); RegisterRouteMatcher(); RegisterControllersAgent(); RegisterControllerResponseBuilder(); RegisterControllerExecutor(); RegisterControllersProcessor(); RegisterEnvironment(); RegisterLanguageManagerProvider(); RegisterTemplateFactory(); RegisterFileReader(); RegisterStringTable(); RegisterDataCollector(); RegisterListsGenerator(); RegisterStringTableItemsSetter(); RegisterPageBuilder(); RegisterResponseWriter(); RegisterPageProcessor(); RegisterControllersRequestHandler(); RegisterStaticFileResponseFactory(); RegisterStaticFileHandler(); RegisterStaticFilesRequestHandler(); RegisterRequestHandler(); RegisterStopwatchProvider(); RegisterContextVariablesSetter(); RegisterWebContextProvider(); RegisterRedirector(); RegisterModelHandler(); RegisterDefaultModelBinders(); RegisterDefaultModelValidators(); var typesToIgnore = SimplifyWebTypesFinder.GetTypesToIgnore(); RegisterControllers(typesToIgnore); RegisterViews(typesToIgnore); }
private static IEnumerable<Type> GetIgnoredTypes() { var typesToIgnore = new List<Type>(); var ignoreContainingClass = SimplifyWebTypesFinder.GetAllTypes().FirstOrDefault(t => t.IsDefined(typeof(IgnoreTypesRegistrationAttribute), true)); if (ignoreContainingClass == null) return typesToIgnore; var attributes = ignoreContainingClass.GetCustomAttributes(typeof(IgnoreTypesRegistrationAttribute), false); typesToIgnore.AddRange(((IgnoreTypesRegistrationAttribute)attributes[0]).Types); return typesToIgnore; }
public void CreateBootstrapper_NoUserType_BaseBootstrapperReturned() { // Assign if (!SimplifyWebTypesFinder.ExcludedAssembliesPrefixes.Contains("Simplify")) { SimplifyWebTypesFinder.ExcludedAssembliesPrefixes.Add("Simplify"); } SimplifyWebTypesFinder.CleanLoadedTypesAndAssembliesInfo(); // Act var bootstrapper = BootstrapperFactory.CreateBootstrapper(); // Assert Assert.AreEqual("Simplify.Web.Bootstrapper.BaseBootstrapper", bootstrapper.GetType().FullName); }
public void FindTypesDerivedFrom_TypeHave3TypesDerived_3TestControllersReturned() { // Assign SimplifyWebTypesFinder.ExcludedAssembliesPrefixes.Remove("Simplify"); SimplifyWebTypesFinder.ExcludedAssembliesPrefixes.Add("DynamicProxyGenAssembly2"); SimplifyWebTypesFinder.CleanLoadedTypesAndAssembliesInfo(); // Act var types = SimplifyWebTypesFinder.FindTypesDerivedFrom <Controller>(); var types2 = SimplifyWebTypesFinder.FindTypesDerivedFrom <AsyncController>(); // Assert Assert.AreEqual(2, types.Count); Assert.AreEqual(1, types2.Count); Assert.AreEqual("Simplify.Web.Tests.TestEntities.TestController1", types[0].FullName); Assert.AreEqual("Simplify.Web.Tests.TestEntities.TestController3", types[1].FullName); Assert.AreEqual("Simplify.Web.Tests.TestEntities.TestController2", types2[0].FullName); }
/// <summary> /// Creates the bootstrapper. /// </summary> /// <returns></returns> public static BaseBootstrapper CreateBootstrapper() { var userBootstrapperType = SimplifyWebTypesFinder.FindTypeDerivedFrom <BaseBootstrapper>(); return(userBootstrapperType != null ? (BaseBootstrapper)Activator.CreateInstance(userBootstrapperType) : new BaseBootstrapper()); }