예제 #1
0
        public async Task <ActionResult <List <GoogleBook> > > Search([FromQuery] string type  = "",
                                                                      [FromQuery] string query = "")
        {
            try
            {
                BookInfoScanner scanner = new BookInfoScanner();
                switch (type)
                {
                case "title":
                    return(Ok(await scanner.SearchByTitleAsync(query)));

                case "isbn":
                    return
                        (Ok(await scanner.SearchBookByISBNAsync(query)));

                default:
                    return(Ok(await scanner.SearchGeneralAsync(query)));
                }
            }
            catch (Exception ex)
            {
                _logger
                .LogError($"Error fetching books query: ({type}){query}: {ex.Message}");
                return(StatusCode((int)HttpStatusCode
                                  .InternalServerError));
            }
        }
예제 #2
0
        public void SearchByISBN()
        {
            BookInfoScanner   scanner = new BookInfoScanner();
            List <GoogleBook> tradingInDangerResults = scanner.SearchBookByISBNAsync("0-345-44760-3").Result;

            Assert.Single(tradingInDangerResults);
            // Assert.Equal("Trading in Danger", tradingInDangerResults[0].VolumeInfo.Title);
        }