Пример #1
0
        public void HandleProcesseRedirectEvents()
        {
            // create and customize configuration
            var testProcessor           = new TestProcessor();
            var configuration           = CreateConfiguration();
            var customizedConfiguration = new Configuration
            {
                RedirectCsvFiles = configuration.RedirectCsvFiles,
                DefaultUrl       = configuration.DefaultUrl,
                Processors       = new[]
                {
                    testProcessor.Name
                }
            };

            // create redirect engine
            var redirectEngine = CreateRedirectEngine(
                customizedConfiguration);

            redirectEngine.Processors.Add(
                testProcessor);

            // handle processed redirect event
            var processedRedirectsEventsCount = 0;

            redirectEngine.RedirectProcessed += (o, e) =>
            {
                if (e.ProcessedRedirect == null)
                {
                    return;
                }
                processedRedirectsEventsCount++;
            };

            // run redirect engine
            var redirectProcessingResult =
                redirectEngine.Run();

            // verify processed redirect event is handles for processed redirects
            Assert.AreNotEqual(
                0,
                processedRedirectsEventsCount);
            Assert.AreEqual(
                redirectProcessingResult.ProcessedRedirects.Count(),
                processedRedirectsEventsCount);
        }
Пример #2
0
        public void ChangeActiveProcessors()
        {
            // create and customize configuration
            var testProcessor           = new TestProcessor();
            var configuration           = CreateConfiguration();
            var customizedConfiguration = new Configuration
            {
                RedirectCsvFiles = configuration.RedirectCsvFiles,
                DefaultUrl       = configuration.DefaultUrl,
                Processors       = new[]
                {
                    testProcessor.Name
                }
            };

            // create redirect engine
            var redirectEngine = CreateRedirectEngine(
                customizedConfiguration);

            redirectEngine.Processors.Add(
                testProcessor);

            // run redirect engine
            var redirectProcessingResult =
                redirectEngine.Run();

            // verify redirect engine processed redirects only has test processor results
            var processedRedirects = redirectProcessingResult
                                     .ProcessedRedirects
                                     .ToList();

            Assert.AreNotEqual(
                0, processedRedirects.Count);
            Assert.AreEqual(
                processedRedirects.Count,
                processedRedirects.Count(
                    pr => pr.Results.Count() == 1 && pr.Results.All(
                        r => r.Type.Equals(testProcessor.Name))));
        }