Пример #1
0
        public async Task SearchAsyncSucceed()
        {
            var loggerMock     = new Mock <ILogger <GoogleSearchProvider> >();
            var htmlParser     = new Mock <IHtmlParser>();
            var expectedResult = 123;

            htmlParser.Setup(x => x.ExtractNumber(It.IsAny <string>())).Returns(expectedResult).Verifiable();

            var httpClientFactoryMock = new Mock <IHttpClientFactory>();
            var httpHandlerMock       = httpClientFactoryMock.SetupHttpClientResponse(KnownHttpClients.Google);

            var request = new SearchFightSearchRequestModel("test");

            var searchProvider = new GoogleSearchProvider(loggerMock.Object, httpClientFactoryMock.Object, htmlParser.Object);
            var result         = await searchProvider.SearchAsync(request);

            htmlParser.VerifyAll();
            httpHandlerMock.VerifyAll();
            result.SearchEngine.Should().Be(SearchEngine);
            result.Should().NotBeNull();
            result.Request.Should().Be(request);
            result.ResultCount.Should().Be(expectedResult);
            result.IsSucceed.Should().BeTrue();
            result.Error.Should().BeNull();
        }
Пример #2
0
        public void GoogleSearch_HappyPath()
        {
            GoogleSearchProvider sut = new GoogleSearchProvider();
            SearchInputModel     searchInputModel = new SearchInputModel {
                SearchTerm = "online title search", SearchURL = new System.Uri("https://www.infotrack.com.au")
            };
            SearchResultModel result = sut.GetSearchResult(searchInputModel);

            Assert.AreNotEqual(result.SearchResultIndex, "0");
        }
Пример #3
0
        public async Task SearchAsyncFailed()
        {
            var loggerMock = new Mock <ILogger <GoogleSearchProvider> >();
            var htmlParser = new Mock <IHtmlParser>();

            htmlParser.Setup(x => x.ExtractNumber(It.IsAny <string>())).Throws <DataSearcherException>();

            var httpClientFactoryMock = new Mock <IHttpClientFactory>();
            var httpHandlerMock       = httpClientFactoryMock.SetupHttpClientResponse(KnownHttpClients.Google);

            var request = new SearchFightSearchRequestModel("test");

            var searchProvider = new GoogleSearchProvider(loggerMock.Object, httpClientFactoryMock.Object, htmlParser.Object);
            var result         = await searchProvider.SearchAsync(request);

            httpClientFactoryMock.VerifyAll();
            htmlParser.VerifyAll();
            httpHandlerMock.VerifyAll();

            result.Should().NotBeNull();
            result.SearchEngine.Should().Be(SearchEngine);
            result.ResultCount.Should().Be(default);
 public void Init()
 {
     _googleSearchProvider = new GoogleSearchProvider();
 }