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); }
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)))); }