public void SkipsDuplicateNamespaces() { const string ns1 = "Grapevine.Tests.Server"; const string ns2 = "Grapevine.Tests.Client"; var scanner = new RouteScanner(); scanner.Logger = new XUnitLogger(_helper); scanner.ExcludedNamespaces().Count.ShouldBe(1); scanner.Exclude(ns1); scanner.ExcludedNamespaces().Count.ShouldBe(2); scanner.ExcludedNamespaces()[1].ShouldBe(ns1); scanner.Exclude(ns2); scanner.ExcludedNamespaces().Count.ShouldBe(3); scanner.ExcludedNamespaces()[1].ShouldBe(ns1); scanner.ExcludedNamespaces()[2].ShouldBe(ns2); scanner.Exclude(ns1); scanner.ExcludedNamespaces().Count.ShouldBe(3); scanner.ExcludedNamespaces()[1].ShouldBe(ns1); scanner.ExcludedNamespaces()[2].ShouldBe(ns2); }
public void SkipsDuplicateAssemblies() { var assemblies = AppDomain.CurrentDomain.GetAssemblies(); var assembly1 = assemblies[0]; var assembly2 = assemblies[1]; var scanner = new RouteScanner(); scanner.Logger = new XUnitLogger(_helper); scanner.ExcludedAssemblies().Count.ShouldBe(0); scanner.Exclude(assembly1); scanner.ExcludedAssemblies().Count.ShouldBe(1); scanner.ExcludedAssemblies()[0].ShouldBe(assembly1); scanner.Exclude(assembly2); scanner.ExcludedAssemblies().Count.ShouldBe(2); scanner.ExcludedAssemblies()[0].ShouldBe(assembly1); scanner.ExcludedAssemblies()[1].ShouldBe(assembly2); scanner.Exclude(assembly1); scanner.ExcludedAssemblies().Count.ShouldBe(2); scanner.ExcludedAssemblies()[0].ShouldBe(assembly1); scanner.ExcludedAssemblies()[1].ShouldBe(assembly2); }
public void ReturnsTrueWhenNamespaceIsExcluded() { var scanner = new RouteScanner(); scanner.Exclude("Some.Random.Namespace"); scanner.CheckIsExcluded("Some.Random.Namespace").ShouldBeTrue(); }
public void ReturnsTrueWhenGenericTypeIsExcluded() { var scanner = new RouteScanner(); scanner.Exclude <Route>(); scanner.CheckIsExcluded(typeof(Route)).ShouldBeTrue(); }
public void ReturnsFalseWhenNamespaceIsNotExcluded() { var scanner = new RouteScanner(); scanner.Exclude("Some.Random.Namespace"); scanner.CheckIsExcluded("Some.Other.Namespace").ShouldBeFalse(); }
public void ReturnsFalseWhenTypeIsNotExcluded() { var scanner = new RouteScanner(); scanner.Exclude <Route>(); scanner.CheckIsExcluded(typeof(Router)).ShouldBeFalse(); }
public void ReturnsTrueWhenAssemblyIsExcluded() { var assembly = AppDomain.CurrentDomain.GetAssemblies().First(); var scanner = new RouteScanner(); scanner.Exclude(assembly); scanner.CheckIsExcluded(assembly).ShouldBeTrue(); }
public void ReturnsFalseWhenAssemblyIsNotExcluded() { var assemblies = AppDomain.CurrentDomain.GetAssemblies(); var assembly1 = assemblies[0]; var assembly2 = assemblies[2]; var scanner = new RouteScanner(); scanner.Exclude(assembly1); scanner.CheckIsExcluded(assembly2).ShouldBeFalse(); }
public void ExcludesTypes() { var scanner = new RouteScanner(); scanner.ExcludedTypes().Count.ShouldBe(0); scanner.Exclude(typeof(Route)); scanner.ExcludedTypes().Count.ShouldBe(1); scanner.ExcludedTypes()[0].ShouldBe(typeof(Route)); }
public void ExcludesAssemblies() { var assembly = AppDomain.CurrentDomain.GetAssemblies().First(); var scanner = new RouteScanner(); scanner.ExcludedAssemblies().Count.ShouldBe(0); scanner.Exclude(assembly); scanner.ExcludedAssemblies().Count.ShouldBe(1); scanner.ExcludedAssemblies()[0].ShouldBe(assembly); }
public void ExcludesGenericTypes() { var scanner = new RouteScanner(); scanner.Logger = new XUnitLogger(_helper); scanner.ExcludedTypes().Count.ShouldBe(0); scanner.Exclude <Route>(); scanner.ExcludedTypes().Count.ShouldBe(1); scanner.ExcludedTypes()[0].ShouldBe(typeof(Route)); }
public void ExcludesNamespaces() { const string ns = "Grapevine.Tests.Server"; var scanner = new RouteScanner(); scanner.ExcludedNamespaces().Count.ShouldBe(0); scanner.Exclude(ns); scanner.ExcludedNamespaces().Count.ShouldBe(1); scanner.ExcludedNamespaces()[0].ShouldBe(ns); }
public void ExcludesNamespaces() { const string ns = "Grapevine.Tests.Server"; var scanner = new RouteScanner(); scanner.Logger = new XUnitLogger(_helper); scanner.ExcludedNamespaces().Count.ShouldBe(1); scanner.Exclude(ns); scanner.ExcludedNamespaces().Count.ShouldBe(2); scanner.ExcludedNamespaces()[1].ShouldBe(ns); }
public void SkipsDuplicateTypes() { var scanner = new RouteScanner(); scanner.ExcludedTypes().Count.ShouldBe(0); scanner.Exclude <Route>(); scanner.ExcludedTypes().Count.ShouldBe(1); scanner.ExcludedTypes()[0].ShouldBe(typeof(Route)); scanner.Exclude(typeof(Router)); scanner.ExcludedTypes().Count.ShouldBe(2); scanner.ExcludedTypes()[0].ShouldBe(typeof(Route)); scanner.ExcludedTypes()[1].ShouldBe(typeof(Router)); scanner.Exclude(typeof(Route)); scanner.ExcludedTypes().Count.ShouldBe(2); scanner.ExcludedTypes()[0].ShouldBe(typeof(Route)); scanner.ExcludedTypes()[1].ShouldBe(typeof(Router)); }
public void ReturnsRoutesAndLogsWithExclusions() { var logger = new InMemoryLogger(); var scanner = new RouteScanner { Logger = logger }; logger.Logs.ShouldBeEmpty(); var routesBefore = scanner.Scan(); scanner.Exclude(Assembly.GetExecutingAssembly()); var routesAfter = scanner.Scan(); routesBefore.ShouldNotBeNull(); routesAfter.ShouldNotBeNull(); (routesBefore.Count - routesAfter.Count).ShouldBe(2); logger.Logs.ShouldNotBeEmpty(); }
public void ReturnsRoutesAndLogsWithExclusions() { //ReflectionTypeLoadException exception = null; //var attempts = 0; //do //{ // attempts++; // exception = null; // try // { var logger = new InMemoryLogger(); var scanner = new RouteScanner { Logger = logger }; logger.Logs.ShouldBeEmpty(); var routesBefore = scanner.Scan(); scanner.Exclude(Assembly.GetExecutingAssembly()); var routesAfter = scanner.Scan(); routesBefore.ShouldNotBeNull(); routesAfter.ShouldNotBeNull(); (routesBefore.Count - routesAfter.Count).ShouldBe(2); logger.Logs.ShouldNotBeEmpty(); // } // catch (ReflectionTypeLoadException ex) // { // exception = ex; // Thread.Sleep(780); // } //} while (exception != null || attempts > 5); //if (exception != null) throw exception; }
public void ReturnsEmptyIfAssemblyIsExcluded() { var assembly = GetTestAssembly(); var type = typeof(ToDoListRoutes); var logger = new InMemoryLogger(); var scanner = new RouteScanner { Logger = logger }; logger.Logs.ShouldBeEmpty(); scanner.Exclude(type); var routes = scanner.ScanAssembly(assembly); routes.ShouldNotBeNull(); routes.Count.ShouldBe(4); routes[0].HttpMethod.ShouldBe(HttpMethod.GET); routes[0].PathInfo.ShouldBe("/user/list"); logger.Logs.Count.ShouldBe(7); logger.Logs[1].Message.ShouldBe($"Excluding type {type.Name} due to exclusion rules"); }