public async void DoesNotThrowOnInvalidArticleUrl() { string testUrl = "http://fake.website.com/article"; var readSharpParser = new MercuryApiParser(_config.MercuryParserApiEndpoint); var article = await readSharpParser.ParseAsync(testUrl); }
public async void ThrowsOnEmptyUrl() { string testUrl = ""; var readSharpParser = new MercuryApiParser(_config.MercuryParserApiEndpoint); await Assert.ThrowsAsync <ArgumentException>(() => readSharpParser.ParseAsync(testUrl)); }
public async void ParsesCorrectlySampleArticle() { string testUrl = "https://waitbutwhy.com/2015/01/artificial-intelligence-revolution-1.html"; var readSharpParser = new MercuryApiParser(_config.MercuryParserApiEndpoint); var article = await readSharpParser.ParseAsync(testUrl); Assert.Equal("The Artificial Intelligence Revolution: Part 1", article.Title); }
private static async Task Main() { var config = new ConfigBuilder(".").Build(); var parser = new MercuryApiParser("https://mercury-parser.azurewebsites.net/api/MercuryParser?url="); var article = await parser.ParseAsync("https://earth.stanford.edu/news/how-much-does-air-pollution-cost-us#gs.9a641g"); var apiKey = ""; var sender = new SendgridSender(apiKey, "*****@*****.**"); await sender.SendEmailWithHtmlAttachmentAsync("*****@*****.**", "elo", article.Content); }
public static async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log, ExecutionContext context) { if (!req.Query.ContainsKey("url")) { return(new HtmlResponseMessage(HttpStatusCode.BadRequest, "you need to provide url")); } var config = new ConfigBuilder(context.FunctionAppDirectory).Build(); var parser = new MercuryApiParser(config.MercuryParserApiEndpoint); var article = await parser.ParseAsync(req.Query["url"]); return(new HtmlResponseMessage(HttpStatusCode.OK, article.Content)); }