public void ProcessLink_Adds_MailTo_Links_To_List_Of_Links_To_Bypass (string[] currentLinksToCrawl, string mailToLink, string[] expectedLinksToBypass) { //Arrange var page = new CrawledPage(new Uri("http://www.z.com")); // page.PageBag.SessionId = 3; // page.PageBag.CrawlerId = 4; var inputLinks = new List <Uri>(); page.ParsedLinks = inputLinks; var targetUri = new Uri(mailToLink); var mockProvider = new Mock <ILogicProvider>(); var mockFactory = new Mock <IModelFactory>(); var processor = new ParsedLinksProcessor(mockProvider.Object); processor.LinksToByPass = new List <CrawledLink>(); processor.MapOfLinksToCrawl = new Dictionary <string, LinkToCrawl>(); foreach (var url in currentLinksToCrawl) { var uri = new Uri(url); processor.MapOfLinksToCrawl.Add(uri.AbsoluteUri, new LinkToCrawl() { TargetUrl = url, TargetBaseDomain = uri.GetBaseDomain() }); } #region Set expectations mockFactory.Setup(m => m.CreateCrawledLink(It.IsAny <Uri>(), It.IsAny <Uri>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(new CrawledLink() { TargetUrl = mailToLink }) .Verifiable(); #endregion //Act processor.ProcessLink(page, mockFactory.Object, targetUri, 3, 4); var results = processor.LinksToByPass; //Assert Assert.NotNull(results); Assert.Equal(expectedLinksToBypass.Length, results.Count); Assert.Equal(expectedLinksToBypass[0], results[0].TargetUrl); mockFactory.Verify(); }
public void ProcessLink_Sets_ExternalLinksFound_To_False_If_No_External_Links_Found (string[] currentLinksToCrawl, string targetLink, string[] expectedLinksToCrawl) { //Arrange var page = new CrawledPage(new Uri("http://www.a.com/X/Y/Z")); // page.PageBag.SessionId = 3; // page.PageBag.CrawlerId = 4; var inputLinks = new List <Uri>(); page.ParsedLinks = inputLinks; var targetUri = new Uri(targetLink); var mockProvider = new Mock <ILogicProvider>(); var mockFactory = new Mock <IModelFactory>(); var processor = new ParsedLinksProcessor(mockProvider.Object); processor.MapOfLinksToCrawl = new Dictionary <string, LinkToCrawl>(); foreach (var url in currentLinksToCrawl) { var uri = new Uri(url); processor.MapOfLinksToCrawl.Add(uri.AbsoluteUri, new LinkToCrawl() { TargetUrl = url, TargetBaseDomain = uri.GetBaseDomain() }); } #region Set expectations mockFactory.Setup(m => m.CreateLinkToCrawl(It.IsAny <CrawledPage>(), It.IsAny <Uri>(), It.IsAny <int>())) .Returns(new LinkToCrawl() { TargetUrl = targetLink }) .Verifiable(); #endregion //Act processor.ProcessLink(page, mockFactory.Object, targetUri, 3, 4); var results = processor.MapOfLinksToCrawl; //Assert Assert.False(processor.ExternalLinksFound); mockFactory.Verify(); }
public void ProcessLink_Adds_MailTo_Links_To_List_Of_Links_To_Bypass (string[] currentLinksToCrawl, string mailToLink, string[] expectedLinksToBypass) { //Arrange var page = new CrawledPage(new Uri("http://www.z.com")); // page.PageBag.SessionId = 3; // page.PageBag.CrawlerId = 4; var inputLinks = new List<Uri>(); page.ParsedLinks = inputLinks; var targetUri = new Uri(mailToLink); var mockProvider = new Mock<ILogicProvider>(); var mockFactory = new Mock<IModelFactory>(); var processor = new ParsedLinksProcessor(mockProvider.Object); processor.LinksToByPass = new List<CrawledLink>(); processor.MapOfLinksToCrawl = new Dictionary<string, LinkToCrawl>(); foreach (var url in currentLinksToCrawl) { var uri = new Uri(url); processor.MapOfLinksToCrawl.Add(uri.AbsoluteUri, new LinkToCrawl() { TargetUrl = url, TargetBaseDomain = uri.GetBaseDomain() }); } #region Set expectations mockFactory.Setup(m => m.CreateCrawledLink(It.IsAny<Uri>(), It.IsAny<Uri>(), It.IsAny<int>(), It.IsAny<int>())) .Returns(new CrawledLink() { TargetUrl = mailToLink }) .Verifiable(); #endregion //Act processor.ProcessLink(page, mockFactory.Object, targetUri, 3, 4); var results = processor.LinksToByPass; //Assert Assert.NotNull(results); Assert.Equal(expectedLinksToBypass.Length, results.Count); Assert.Equal(expectedLinksToBypass[0], results[0].TargetUrl); mockFactory.Verify(); }
public void ProcessLink_Sets_ExternalLinksFound_To_False_If_No_External_Links_Found (string[] currentLinksToCrawl, string targetLink, string[] expectedLinksToCrawl) { //Arrange var page = new CrawledPage(new Uri("http://www.a.com/X/Y/Z")); // page.PageBag.SessionId = 3; // page.PageBag.CrawlerId = 4; var inputLinks = new List<Uri>(); page.ParsedLinks = inputLinks; var targetUri = new Uri(targetLink); var mockProvider = new Mock<ILogicProvider>(); var mockFactory = new Mock<IModelFactory>(); var processor = new ParsedLinksProcessor(mockProvider.Object); processor.MapOfLinksToCrawl = new Dictionary<string, LinkToCrawl>(); foreach (var url in currentLinksToCrawl) { var uri = new Uri(url); processor.MapOfLinksToCrawl.Add(uri.AbsoluteUri, new LinkToCrawl() { TargetUrl = url, TargetBaseDomain = uri.GetBaseDomain() }); } #region Set expectations mockFactory.Setup(m => m.CreateLinkToCrawl(It.IsAny<CrawledPage>(), It.IsAny<Uri>(), It.IsAny<int>())) .Returns(new LinkToCrawl() { TargetUrl = targetLink }) .Verifiable(); #endregion //Act processor.ProcessLink(page, mockFactory.Object, targetUri, 3, 4); var results = processor.MapOfLinksToCrawl; //Assert Assert.False(processor.ExternalLinksFound); mockFactory.Verify(); }