Example #1
0
        public async Task Search_Find_count_of_urls_in_divs_flatAsync()
        {
            searchResultProvider.SearchForKeywords(Arg.Any <string[]>()).Returns("<div>x.com</div><div>myurl.com</div><div>y.com</div><div>myurl.com</div>");
            searchResultProvider.UrlInResultPattern.Returns("<div>{url}</div>");
            var searchService = new SearchService(new[] { this.searchResultProvider }, this.searchResultsRepo, this.loggerFactory);
            var result        = await searchService.Search(new SearchParams { Url = "myurl.com", Keywords = new string[] { "x", "y" } });

            result.Results.Should().HaveCount(2);
            result.Results[0].Should().Be(1);
            result.Results[1].Should().Be(3);
        }
        public async Task Google_search_for_test_keywords()
        {
            searchResultProvider.SearchForKeywords(Arg.Any <string[]>()).Returns(File.ReadAllText("SearchResponse_01.html"));
            searchResultProvider.RemoveTralier(Arg.Any <String>()).Returns(callInfo => callInfo.Args()[0]);
            searchResultProvider.UrlInResultPattern.Returns(@"<div class=""BNeawe UPmit AP7Wnd"">{url}</div>");

            var searchService = new SearchService(new[] { this.searchResultProvider }, this.searchResultsRepo, this.loggerFactory);
            var result        = await searchService.Search(new SearchParams { Url = "https://keywordtool.io", Keywords = new string[] { "test", "keywords" } });

            result.Results.Should().HaveCount(1);
            result.Results[0].Should().Be(0);
        }