示例#1
0
        public async Task YoutubeTest(string search, string expectedTitle, string expectedDescription, int expectedViews, int expectedLikes, int expectedDislikes)
        {
            var youtubeKey = Environment.GetEnvironmentVariable("YOUTUBE_KEY");

            if (youtubeKey == null)
            {
                Assert.Ignore("Environment not available.");
            }
            StaticObjects.YouTube = new YouTubeService(new BaseClientService.Initializer
            {
                ApiKey = youtubeKey
            });

            bool isDone   = false;
            var  callback = new Func <UnitTestUserMessage, Task>(async(msg) =>
            {
                Assert.AreEqual(1, msg.Embeds.Count);
                await CheckYoutubeAsync((Embed)msg.Embeds.ElementAt(0), expectedTitle, expectedDescription, expectedViews, expectedLikes, expectedDislikes);
                isDone = true;
            });

            var mod = new Module.Entertainment.MediaModule();

            Common.AddContext(mod, callback);
            await mod.YoutubeAsync(search);

            while (!isDone)
            {
            }
        }
示例#2
0
        public void RedditRandomNotHandled()
        {
            var callback = new Func <UnitTestUserMessage, Task>((msg) => Task.CompletedTask);

            var mod = new Module.Entertainment.MediaModule();

            Common.AddContext(mod, callback);
            Assert.ThrowsAsync <CommandFailed>(async() => await mod.RedditRandomAsync("KanMusuNights"));
        }
示例#3
0
        public async Task RedditHot()
        {
            bool isDone   = false;
            var  callback = new Func <UnitTestUserMessage, Task>(async(msg) =>
            {
                Assert.AreEqual(1, msg.Embeds.Count);
                await CheckRedditAsync((Embed)msg.Embeds.ElementAt(0), false);
                isDone = true;
            });

            var mod = new Module.Entertainment.MediaModule();

            Common.AddContext(mod, callback);
            await mod.RedditHotAsync("touhou");

            while (!isDone)
            {
            }
        }
示例#4
0
        public async Task XkcdWithIdTest()
        {
            bool isDone   = false;
            var  callback = new Func <UnitTestUserMessage, Task>(async(msg) =>
            {
                Assert.AreEqual(1, msg.Embeds.Count);
                var embed = (Embed)msg.Embeds.ElementAt(0);
                await CheckXkcdAsync(embed);
                Assert.AreEqual("https://imgs.xkcd.com/comics/workflow.png", embed.Image.Value.Url);
                Assert.AreEqual("https://xkcd.com/1172/", embed.Url);
                isDone = true;
            });

            var mod = new Module.Entertainment.MediaModule();

            Common.AddContext(mod, callback);
            await mod.XkcdAsync(1172);

            while (!isDone)
            {
            }
        }