示例#1
0
        public void Should_scan_assemblies_from_application_base_directory_matching_predicate()
        {
            // Arrange
            var       scanner = new AssemblyScanner();
            const int expectedAssembliesCount = 3;

            // Act
            scanner.AssembliesFromApplicationBaseDirectory(assembly => assembly.FullName.StartsWith("FluentSecurity."));

            // Assert
            Assert.That(scanner.Context.AssembliesToScan.Count(), Is.EqualTo(expectedAssembliesCount));
        }
        public void Should_scan_assemblies_from_application_base_directory_matching_predicate()
        {
            // Arrange
            var scanner = new AssemblyScanner();
            const int expectedAssembliesCount = 3;

            // Act
            scanner.AssembliesFromApplicationBaseDirectory(assembly => assembly.FullName.StartsWith("FluentSecurity."));

            // Assert
            Assert.That(scanner.Context.AssembliesToScan.Count(), Is.EqualTo(expectedAssembliesCount));
        }
示例#3
0
        public static void ScanForEventListeners()
        {
            var assemblyScanner = new AssemblyScanner();
            assemblyScanner.AssembliesFromApplicationBaseDirectory();
            assemblyScanner.With(new SecurityEventListenerScanner(IgnoreTypeLoadExceptions));
            var eventListeners = assemblyScanner.Scan();

            foreach (var eventListenerType in eventListeners)
            {
                var eventListener = (ISecurityEventListener) Activator.CreateInstance(eventListenerType);
                Register(eventListener);
            }
        }
示例#4
0
        public static void ScanForEventListeners()
        {
            var assemblyScanner = new AssemblyScanner();

            assemblyScanner.AssembliesFromApplicationBaseDirectory();
            assemblyScanner.With <SecurityEventListenerScanner>();
            var eventListeners = assemblyScanner.Scan();

            foreach (var eventListenerType in eventListeners)
            {
                var eventListener = (ISecurityEventListener)Activator.CreateInstance(eventListenerType);
                Register(eventListener);
            }
        }
        public void Should_scan_assemblies_from_application_base_directory_including_assemblies_matching_predicate()
        {
            // Arrange
            var scanner = new AssemblyScanner();
            const int expectedAssembliesCount = 2;

            // Act
            scanner.IncludeAssembly(assembly => Path.GetFileNameWithoutExtension(assembly).StartsWith("FluentSecurity.TestHelper"));
            scanner.AssembliesFromApplicationBaseDirectory();

            // Assert
            Assert.That(scanner.Context.AssembliesToScan.Count(), Is.EqualTo(expectedAssembliesCount));
            Assert.That(scanner.Context.AssembliesToScan.First().GetName().Name, Is.EqualTo("FluentSecurity.TestHelper"));
            Assert.That(scanner.Context.AssembliesToScan.Last().GetName().Name, Is.EqualTo("FluentSecurity.TestHelper.Specification"));
        }
示例#6
0
        public void Should_scan_assemblies_from_application_base_directory_for_assemblies_matching_include_and_exclude_predicates()
        {
            // Arrange
            var       scanner = new AssemblyScanner();
            const int expectedAssembliesCount = 1;

            // Act
            scanner.IncludeAssembly(assembly => Path.GetFileNameWithoutExtension(assembly).StartsWith("FluentSecurity."));
            scanner.ExcludeAssembly(assembly => Path.GetFileNameWithoutExtension(assembly).EndsWith(".Specification"));
            scanner.AssembliesFromApplicationBaseDirectory();

            // Assert
            Assert.That(scanner.Context.AssembliesToScan.Count(), Is.EqualTo(expectedAssembliesCount));
            Assert.That(scanner.Context.AssembliesToScan.Single().GetName().Name, Is.EqualTo("FluentSecurity.TestHelper"));
        }
        public void Should_scan_assemblies_from_application_base_directory()
        {
            // Arrange
            var scanner = new AssemblyScanner();
            var extensionsToScan = new[] { ".exe", ".dll" };
            var filesInBaseDirectory = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory);
            var expectedAssembliesCount = filesInBaseDirectory.Count(file =>
            {
                var extension = Path.GetExtension(file);
                return extensionsToScan.Contains(extension);
            });

            // Act
            scanner.AssembliesFromApplicationBaseDirectory();

            // Assert
            Assert.That(scanner.Context.AssembliesToScan.Count(), Is.EqualTo(expectedAssembliesCount));
        }
示例#8
0
        public void Should_scan_assemblies_from_application_base_directory()
        {
            // Arrange
            var scanner                 = new AssemblyScanner();
            var extensionsToScan        = new[] { ".exe", ".dll" };
            var filesInBaseDirectory    = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory);
            var expectedAssembliesCount = filesInBaseDirectory.Count(file =>
            {
                var extension = Path.GetExtension(file);
                return(extensionsToScan.Contains(extension));
            });

            // Act
            scanner.AssembliesFromApplicationBaseDirectory();

            // Assert
            Assert.That(scanner.Context.AssembliesToScan.Count(), Is.EqualTo(expectedAssembliesCount));
        }
示例#9
0
        public void ScanForEventListeners()
        {
            var assemblyScanner = new AssemblyScanner();

            if (EventListenerScannerSetup == null)
            {
                assemblyScanner.AssembliesFromApplicationBaseDirectory();
            }
            else
            {
                EventListenerScannerSetup.Invoke(assemblyScanner);
            }

            assemblyScanner.With <SecurityEventListenerScanner>();
            var eventListeners = assemblyScanner.Scan();

            foreach (var eventListenerType in eventListeners)
            {
                var eventListener = (ISecurityEventListener)Activator.CreateInstance(eventListenerType);
                RegisterListener(eventListener);
            }

            ScannedForEventListeners = true;
        }
示例#10
0
        public void ScanForEventListeners()
        {
            var assemblyScanner = new AssemblyScanner();

            if (EventListenerScannerSetup == null)
                assemblyScanner.AssembliesFromApplicationBaseDirectory();
            else
                EventListenerScannerSetup.Invoke(assemblyScanner);

            assemblyScanner.With<SecurityEventListenerScanner>();
            var eventListeners = assemblyScanner.Scan();

            foreach (var eventListenerType in eventListeners)
            {
                var eventListener = (ISecurityEventListener) Activator.CreateInstance(eventListenerType);
                RegisterListener(eventListener);
            }

            ScannedForEventListeners = true;
        }