private static async Task Main() { var config = new ConfigBuilder(".").Build(); var parser = new ReadSharpParser(); var emailSender = new MailgunSender(config.MailGunSenderOptions.ApiKey, config.MailGunSenderOptions.HostEmail); var pocketClientMock = new Mock <IPocketClient>(); pocketClientMock.Setup(x => x.Get( It.IsAny <State>(), It.IsAny <bool>(), It.IsAny <string>(), It.IsAny <ContentType>(), It.IsAny <Sort>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <CancellationToken>())).Returns( Task.FromResult( (IEnumerable <PocketItem>) new PocketItem[] { new PocketItem { Uri = new Uri("https://blog.wikimedia.org/2018/04/20/why-it-took-a-long-time-to-build-that-tiny-link-preview-on-wikipedia/") } } ) ); var sender = new ArticleSender(pocketClientMock.Object, parser, emailSender, config.ServiceDomain); await sender.SendArticlesAsync(new User { KindleEmail = "*****@*****.**", Token = "testtoken" }); }
public async void DoesNotThrowOnInvalidArticleUrl() { string testUrl = "http://fake.website.com/article"; var readSharpParser = new ReadSharpParser(); var article = await readSharpParser.ParseAsync(testUrl); }
public async void ThrowsOnEmptyUrl() { string testUrl = ""; var readSharpParser = new ReadSharpParser(); 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 ReadSharpParser(); var article = await readSharpParser.ParseAsync(testUrl); Assert.Equal("The Artificial Intelligence Revolution: Part 1", article.Title); }