public async Task GetsSomeHtml() { var downloader = new PageDownloadService(); var html = await downloader.GetHtmlAsync(new Uri("http://www.mattburkedev.com/")); Check.That(html).Contains("Matt Burke"); }
public NewsArticleProvider_SingleRandomArticle_IntegrationTest(ITestOutputHelper output) { _output = output; _extendedRandom = Substitute.For <IExtendedRandom>(); var download = new PageDownloadService(); var sites = new NewsSite[] { new EuroNewsSite(new EuroNewsSiteParser(), download, _extendedRandom), new VoxEuropaSite(new VoxEuropaSiteParser(), download, _extendedRandom), }; _instance = new NewsArticleProvider(sites, _extendedRandom); }
// GET api/<controller> public async Task <PodcastMetadata> Get(string url) { if (LooksLikeMedia(url)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("Looks like a media file.") }); } var downloader = new PageDownloadService(); var html = await downloader.GetHtmlAsync(new Uri(url)); return(MetadataParser.LoadMetadata(html, url)); }
private async Task <Dictionary <string, Article> > cacheArticles() { var download = new PageDownloadService(); var euroNewsSite = new EuroNewsSite(new EuroNewsSiteParser(), download, new ExtendedRandom()); Dictionary <string, Article> cachedArticles = new Dictionary <string, Article>(); foreach (Language language in pathsToArticles.Keys) { Console.WriteLine("Caching for language {0}", language); string[] urls = System.IO.File.ReadAllLines(pathsToArticles[language]); foreach (string url in urls) { Console.WriteLine("Caching URL {0}", url); Article article = await euroNewsSite.GetArticleAsync(url, language); article.ActualLanguage = language; cachedArticles.Add(url, article); } } return(cachedArticles); }