示例#1
0
        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" });
        }
示例#2
0
        public async void DoesNotThrowOnInvalidArticleUrl()
        {
            string testUrl = "http://fake.website.com/article";

            var readSharpParser = new ReadSharpParser();

            var article = await readSharpParser.ParseAsync(testUrl);
        }
示例#3
0
        public async void ThrowsOnEmptyUrl()
        {
            string testUrl = "";

            var readSharpParser = new ReadSharpParser();

            await Assert.ThrowsAsync <ArgumentException>(() => readSharpParser.ParseAsync(testUrl));
        }
示例#4
0
        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);
        }